home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / extra18 / hilfe / ffhc.fhs < prev    next >
Encoding:
Text File  |  1990-10-04  |  7.3 KB  |  301 lines

  1. KEYWORD    Allgemeines
  2. TEXT
  3.     Die Beschreibungen der Funktionsweise des
  4.     Compilers und der Dateiformate sowie die
  5.     Beschreibung der Routinensammmlung sind
  6.     in den Dokumentationsdateien (*.DOC)
  7.     enthalten.
  8.  
  9.     ΓInhaltsverzeichnisΓ
  10.  
  11. KEYWORD Inhaltsverzeichnis
  12. TEXT
  13.     ΓAllgemeinesΓ       ΓcheckforkeywordsΓ
  14.     ΓcheckparametersΓ   ΓcpystrΓ
  15.     ΓerrorΓ             ΓErweiterungenΓ
  16.     ΓgenleafΓ           ΓheaderΓ
  17.     ΓHELPTEXTSTRΓ       ΓKEYWORDSTRΓ
  18.     ΓMAXLINEΓ           ΓNAMEΓ
  19.     ΓPROGΓ              ΓreadfileΓ
  20.     ΓRELEASEΓ           ΓsearchΓ
  21.     ΓshowindexΓ         ΓskipnonalphasΓ
  22.     ΓtreeΓ              ΓUSAGEΓ
  23.     ΓwritefileΓ         ΓwritetextsΓ
  24.     ΓwritetreeΓ
  25.  
  26.  
  27. KEYWORD NAME
  28. TEXT
  29.     Textmakro für den Programmnamen. Er lautet FFHC.
  30.  
  31.   ΓInhaltsverzeichnisΓ
  32.  
  33. KEYWORD RELEASE
  34. TEXT
  35.     Textmakro für die Version des Compilers.
  36.  
  37.   ΓInhaltsverzeichnisΓ
  38.  
  39. KEYWORD PROG
  40. TEXT
  41.     Textmakro für den String, der bei jedem Aufruf
  42.     ausgegeben wird.
  43.  
  44.   ΓInhaltsverzeichnisΓ
  45.  
  46. KEYWORD USAGE
  47. TEXT
  48.     Textmakro; steht für einen kurzen Infostring
  49.     zum Gebrauch des Programms.
  50.  
  51.   ΓInhaltsverzeichnisΓ
  52.  
  53. KEYWORD Erweiterungen
  54. TEXT
  55.     Die Textmakros S_EXT und D_EXT stehen für die
  56.     Standarderweiterung der Quell- und Zieldatei
  57.     bzw. der Datei, für die ein Inhaltsverzeichnis
  58.     ausgegeben werden soll (D_EXT).
  59.  
  60.     ΓInhaltsverzeichnisΓ
  61.  
  62.  
  63. KEYWORD MAXLINE
  64. TEXT
  65.     Makro; steht für die maximal erlaubte Zeilen-
  66.     anzahl in der Quelldatei; im Programm ist
  67.     MAXLINE == 255. Diese Zahl ist nur ein "theo-
  68.     retisches" Maximum, da normale Textmodi weniger
  69.     Spalten darstellen.
  70.  
  71.   ΓInhaltsverzeichnisΓ
  72.  
  73.  
  74. KEYWORD KEYWORDSTR
  75. TEXT
  76.     Steht für den String "KEYWORD"; durch diesen
  77.     String wird eine Schlüsselwortdeklaration
  78.     eingeleitet.
  79.  
  80.     Querverweis: ΓHELPTEXTSTRΓ
  81.                            ΓInhaltsverzeichnisΓ
  82.  
  83. KEYWORD HELPTEXTSTR
  84. TEXT
  85.     ist im Programm als "TEXT" definiert. Es leitet
  86.     den eigentlichen Beginn des Hilfstextes zum
  87.     vorangegangenen Schlüsselwort ein. Hinter "TEXT"
  88.     darf nichts stehen. Der Hilfstext beginnt also
  89.     in der Zeile nach "TEXT".
  90.  
  91.     Querverweis: ΓKEYWORDSTRΓ
  92.                            ΓInhaltsverzeichnisΓ
  93.  
  94.  
  95. KEYWORD header
  96. TEXT
  97.     header ist eine Struktur vom folgenden Typ:
  98.     struct
  99.     { char info[60];   /* Infostring */
  100.         char eof;      /* EOF-Zeichen */
  101.         long offs;   /* Dateioffset des Inh. verz. */
  102.         char version[6];   /* Versionsstring */
  103.     }    header;
  104.     Wie zu erkennen, wird damit eine Struktur-
  105.     VARIABLE deklariert.
  106.  
  107.   ΓInhaltsverzeichnisΓ
  108.  
  109.  
  110. KEYWORD tree
  111. TEXT
  112.     tree ist eine Baumstruktur vom folgenden Typ:
  113.     typedef struct tree
  114.     { char *keyword;  /* Zeiger auf Schlüsselwort */
  115.         long offs;      /* Offset des Hilfstextes */
  116.         long textlen;   /* Länge des Hilfstextes */
  117.         struct tree *left, *right;
  118.             /* Linker und rechter Nachfolger */
  119.     } tree_t;
  120.  
  121.     Sie dient dazu, die Schlüsselwörter samt Datei-
  122.     offsets und Länge der einzelnen texte zu
  123.     verwalten.
  124.  
  125.     ΓInhaltsverzeichnisΓ
  126.  
  127.  
  128. KEYWORD genleaf
  129. TEXT
  130.     sortiert die angegebenen Daten in den Baum tree
  131.     ein.
  132.     genleaf ist folgendermaßen deklariert:
  133.     tree_t *genleaf (char *name, long offs,
  134.                                     tree_t *tree, int count);
  135.     name: Zeiger auf den einzuordnenden Namen des
  136.                 Schlüsselwortes
  137.     offs: Offset des Schlüsselwortes
  138.     tree: Der Baum, in den obige Daten eingeordnet
  139.                 werden.
  140.     Ergebnis: zurückgeliefert wird IMMER der Zeiger
  141.                 auf die Wurzel des Baumes.
  142.   
  143.   ΓInhaltsverzeichnisΓ
  144.  
  145. KEYWORD search
  146. TEXT
  147.     sucht das Baumelement (Blatt), das dem
  148.     angegebenen Schlüsselwort entspricht.
  149.     search ist folgendermaßen deklariert:
  150.  
  151.     tree_t *search (char *name, tree_t *tree);
  152.     name: Schlüselwortname
  153.     tree: Baum, in dem zu suchen ist.
  154.     Ergebnis: search liefert einen Zeiger auf das
  155.         Element mit name bzw. NULL für nicht gefunden
  156.         zurück.
  157.  
  158.   ΓInhaltsverzeichnisΓ
  159.  
  160.  
  161. KEYWORD skipnonalphas
  162. TEXT
  163.     skipnonalphas rückt den Dateizeiger bis zum
  164.     nächsten Buchstaben vor - überspringt also
  165.     alle Zeichen, die keine Buchstaben sind.
  166.  
  167.     Deklaration:
  168.     FILE *skipnonalphas (FILE *fp);
  169.     fp: Zeiger auf die gewünschte (offene) Datei.
  170.     Zurückgeliefert wird der übergebene Dateizeiger
  171.     mit aktualisiertem Posititionszeiger.
  172.  
  173.   ΓInhaltsverzeichnisΓ
  174.  
  175.  
  176. KEYWORD readfile
  177. TEXT
  178.     High-Level-Prozedur zum Einlesen der Datei.
  179.     readfile ist wie unten angegeben deklariert:
  180.     FILE *readfile (char *fname);
  181.  
  182.     fname ist der Name der einzulesenden Datei; es
  183.     wird eine Standarderweiterung S_EXT angenommen.
  184.  
  185.     Zurückgeliefert wird der Dateizeiger der offenen
  186.     Datei zur weiteren Bearbeitung durch ΓwritefileΓ.
  187.  
  188.     ΓInhaltsverzeichnisΓ
  189.  
  190.  
  191. KEYWORD checkforkeywords
  192. TEXT
  193.     liest aus der Datei, um zu prüfen, ob eines der
  194.     »Steuerschlüsselwörter« wie in ΓKEYWORDSTRΓ und
  195.     ΓHELPTEXTSTRΓ definiert anliegt.
  196.     Deklaration folgendermaßen:
  197.     void checkforkeywords (FILE *fp, char *fname,
  198.                                                  char *type, char *res);
  199.     fp: Zeiger auf die offene, zu bearbeitende Datei
  200.     fname: Name der Datei; nur zur Ausgabe einer
  201.         eventuellen Fehlermeldung bestimmt.
  202.     type: Zeiger auf das »Steuerschlüsselwort«
  203.     res: (Resultat); das gefundene Schlüsselwort
  204.         (Hilfstextname) in den String kopiert, auf den
  205.         res zeigt. Der String muß ausreichend groß
  206.         sein.
  207.     Wenn Parameter "/d" angegeben wurde,
  208.     ruft checkforkeywords die Prozedur showindex
  209.     automatisch auf.
  210.  
  211.  
  212. KEYWORD writefile
  213. TEXT
  214.     High-Level-Prozedur zum Schreiben der Zieldatei.
  215.     writefile ist deklariert:
  216.     void writefile (char *fname, tree_t *tree,
  217.                                  FILE *infile);
  218.     fname: Name der Zieldatei
  219.     tree: Zeiger auf die Wurzel des Schlüsselwort-
  220.         baumes (im Programm kwtree).
  221.     infile: Dateizeiger der offenen Eingabedatei.
  222.     Aus der Dokumentationsdatei FFHC-DOC.DOC geht
  223.     genaueres über das Schreiben der Zieldatei
  224.     hervor.
  225.  
  226.     ΓreadfileΓ
  227.   ΓInhaltsverzeichnisΓ
  228.  
  229. KEYWORD writetexts
  230. TEXT
  231.     Schreibt die Hilfstexte.
  232.     Deklaration:
  233.     void writetexts (tree_t *tree, FILE *infile,
  234.                                     FILE *outfile);
  235.     tree: in diesem Baum sind die Schlüsselworter
  236.         enthalten, zu denen Hilfstexte vorhanden sind.
  237.     infile: Dateizeiger auf offene Eingabedatei
  238.     outfile: Dateizeiger auf offene Ausgabedatei
  239.  
  240.     writetexts wird aufgerufen von ΓwritefileΓ.
  241.  
  242.   ΓInhaltsverzeichnisΓ
  243.  
  244. KEYWORD writetree
  245. TEXT
  246.     Schreibt das Inhaltsverzeichnis der Datei.
  247.     Deklaration:
  248.     void writetree (tree_t *tree, FILE *outfile);
  249.     tree: Baum, in dem sich das Inhaltsverzeichnis
  250.         befindet (deshalb der Name writetree).
  251.     outfile: Ausgabedatei/Zieldatei.
  252.  
  253.     writetree wird aufgerufen von ΓwritefileΓ.
  254.  
  255.   ΓInhaltsverzeichnisΓ
  256.  
  257. KEYWORD cpystr
  258. TEXT
  259.     Allokiert ausreichend Speicher für den String s
  260.     und kopiert den String s in diesen Speicher.
  261.     zurückgeliefert wird ein Zeiger auf den neuen
  262.     String.
  263.     Deklaration: *cpystr (char *s);
  264.  
  265.     ΓInhaltsverzeichnisΓ
  266.  
  267. KEYWORD showindex
  268. TEXT
  269.     showindex gibt das Inhaltsverzeichnis der Ziel-
  270.     datei fname auf stdout aus; es werden der
  271.     Schlüsselwortname, Dateioffset und Textlänge
  272.     angezeigt.
  273.     showindex beendet das Programm selbstständig
  274.     via exit.
  275.  
  276.     Deklaration:
  277.     void showindex (char *fname);
  278.  
  279.   ΓInhaltsverzeichnisΓ
  280.  
  281.  
  282. KEYWORD checkparameters
  283. TEXT
  284.     prüft die Kommandozeilenparameter.
  285.     Wenn ein Inhaltsverzeichnis erwünscht ist, ruft
  286.     die Funktion checkparameters die Funktion
  287.     ΓshowindexΓ auf.
  288.     Deklaration:
  289.     void checkparameters (char **argv);
  290.  
  291.     ΓInhaltsverzeichnisΓ
  292.  
  293. KEYWORD error
  294. TEXT
  295.     gibt die übergebenen Parameter auf stderr aus
  296.     und beendet das Programm.
  297.     Deklaration:
  298.   void error (const char *format, ...);
  299.  
  300.     ΓInhaltsverzeichnisΓ
  301.