home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / lib4a86 / util / makedoc.doc < prev    next >
Text File  |  1992-02-23  |  22KB  |  721 lines

  1.    
  2.    
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                          MAKEDOC.COM V1.20
  12.    
  13.  
  14.              Erstellen der Dokumentation zu Assembler-Programmen
  15.    
  16.  
  17.  
  18.                           (c) Copyright by
  19.                            Bernd Schemmer
  20.                            Ondrup 117
  21.                            4710 Lüdinghausen 2
  22.    
  23.                     Letzter Update:  23.02.1992
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ────────────────────────────────────────────────────────────────────────────────
  60. Dokumentation für MakeDoc                                           Seite    1
  61.  
  62.  
  63.  
  64.  
  65.   Inhalt                                                 Seite
  66.   ────────────────────────────────────────────────────────────
  67.  
  68.  
  69.   System-Vorraussetzungen ................................   2
  70.   Vertrieb von MakeDoc ...................................   2
  71.   Beschreibung ...........................................   2
  72.   Aufruf .................................................   4
  73.   Benutzung der Environment-Variable MAKEDOC .............  10
  74.   Kommentare in den Parametern und in der 
  75.   Environment-Variable ...................................  10
  76.   Errorlevel .............................................  11
  77.   Interna ................................................  11
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119. ────────────────────────────────────────────────────────────────────────────────
  120. Inhalts-Verzeichnis                                                     I    1
  121.  
  122.  
  123.  
  124.   System-Vorraussetzungen
  125.   ───────────────────────
  126.  
  127.   Die Systemvorrausetzung für die Nutzung von MAKEDOC.COM sind minimal:
  128.   Nur ein  IBM-PC/AT/Kompatibler mit dem Betriebssystem MS-DOS 3+  wird
  129.   benötigt.
  130.  
  131.   MAKEDOC wurde für die Bearbeitung von Quelltexten des A86 geschrieben
  132.   - d.h. das Programm kennt nur die  dem A86 bekannten Schlüsselwörter.
  133.   Es sollte  aber möglich sein, Quelltexte  für andere  Assembler so zu
  134.   korrigieren, daß  MAKEDOC für diese ebenfalls  verwendet werden kann.
  135.  
  136.   Ausnahme:
  137.  
  138.   Die  Syntax von  Macros und  Anweisungen zur  bedingten Assemblierung
  139.   sind A86 spezifisch.
  140.  
  141.  
  142.  
  143.   Vertrieb von MakeDoc
  144.   ────────────────────
  145.  
  146.   MAKEDOC.COM  ist  Teil  der Sammlung  Lib4A86  und wird als Shareware
  147.   vertrieben. Für  die  Bedingungen zur  Benutzung und  Weitergabe  von
  148.   MAKEDOC.COM deshalb bitte in der Dokumentation zu Lib4A86 nachsehen.
  149.  
  150.  
  151.  
  152.   Beschreibung
  153.   ────────────
  154.  
  155.   MAKEDOC erstellt die Dokumentation eines  Assembler-Quelltextes durch
  156.   Extraktion  von bestimmten Kommentaren und Teilen des Quelltextes aus
  157.   diesem.  D.h. durch ausführliche Kommentare im  Quelltext  können die
  158.   Dokumentation und der Quelltext gleichzeitig erstellt werden.
  159.   Die Länge des Quelltextes unterliegt dabei keinerlei Einschränkungen.
  160.   MAKEDOC arbeitet mit Zeilen mit max. 255 Zeichen Länge. Der Quelltext
  161.   muß  im  ASCII-Format (so wie ihn auch der Assembler haben will) vor-
  162.   liegen.
  163.  
  164.   In die  Ausgabedatei  werden folgende  Zeilen der  Eingabedatei über-
  165.   nommen (Jeweils mit #N führenden Leerzeichen versehen, Voreinstellung
  166.   für #N ist 2):
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179. ────────────────────────────────────────────────────────────────────────────────
  180. Dokumentation für MakeDoc                                           Seite    2
  181.  
  182.  
  183.  
  184.   - Alle Zeilen die mit einem einzelnen Semikolon in der ersten  Spalte
  185.     beginnen,  wobei das Semikolon mit einem Leerzeichen  überschrieben
  186.     wird. Kommentare, die nicht übernommen  werden  sollen  müssen z.B.
  187.     mit zwei Semikolon gekennzeichnet werden.
  188.  
  189.   - Alle Zeilen, in denen eine A86-Direktive in  Großbuchstaben  steht.
  190.     (Gilt auch für Direktiven, die nur aus nicht alphabetischen Zeichen
  191.     bestehen, z.B. die Direktive .287) Die MAKEDOC bekannten Direktiven
  192.     können über den  Parameter   'S1' ermittelt  werden. Direktiven die
  193.     nicht übernommen  werden sollen, können z.B. in Kleinbuchstaben ge-
  194.     schrieben werden.
  195.  
  196.     Besonderheiten hierbei:
  197.  
  198.     STRUC  und  SEGMENT-Blöcke werden expandiert wobei jeweils #M Leer-
  199.     zeichen vor jeder Zeile zusätzlich eingefügt werden. (Voreinst. für
  200.     #M ist 3)
  201.  
  202.     MACRO-Definitionen  und  Blöcke  zwischen  Direktiven zur bedingten
  203.     Assemblierung (#IF, #ELSEIF und #ENDIF),  werden  vollständig über-
  204.     nommen (jeweils mit #M führenden Leerzeichen).
  205.  
  206.     Hinweis: Falls  einzelne Blöcke  des Quellcodes  übernommen  werden
  207.              sollen, können diese durch  eine (eigentlich  überflüssige
  208.              aber unschädliche) Klammerung gekennzeichnet werden, z.B.:
  209.  
  210.              ; ... Anweisungen, die nicht übernommen werden sollen
  211.              #IF TRUE
  212.              ; ... Anweisungen, die übernommen werden sollen
  213.              #ENDIF
  214.              ; ... Anweisungen, die nicht übernommen werden sollen
  215.  
  216.              Die Schlüsselwörter für Klammerungen  sollten immer in der
  217.              gleichen Schreibweise angegeben werden!
  218.  
  219.     MAKEDOC.COM  schließt am Ende jeder Datei alle offenen Klammerungen
  220.     (z.B. #IF ... #ENDIF, MACRO ... #EM, etc) und gibt, falls noch eine
  221.     oder mehrere Klammerungen auf sind, eine  Warnung auf die Standard-
  222.     Ausgabe aus.
  223.  
  224.   - Zeilen, die mit mindestens  4 Leerzeichen beginnen und Zeilen,  die 
  225.     mit 2 Semikolon (';;') beginnen werden nur in Blöcken übernommen.
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239. ────────────────────────────────────────────────────────────────────────────────
  240. Dokumentation für MakeDoc                                           Seite    3
  241.  
  242.  
  243.  
  244.   - Die Zeile mit dem Inhalt
  245.  
  246.     ; ***** END OF PUBLIC *****
  247.  
  248.     wird als Ende des zu dokumentierenden Teils der Datei angesehen.
  249.     (d.h. alle folgenden Zeilen werden ignoriert;  die Schreibweise und
  250.      das Format der Zeile ist signifikant)
  251.  
  252.   - Alle Zeilen zwischen den Zeilen
  253.  
  254.     ; ***** MAKEDOC OFF
  255.  
  256.     und
  257.  
  258.     ; ***** MAKEDOC ON
  259.  
  260.     werden NICHT übernommen (auch  nicht  in Blöcken;  die Schreibweise
  261.     und das Format sind signifikant.)
  262.     Die Zeile '; ***** MAKEDOC ON'  wird  von  MAKEDOC bei  jeder neuen
  263.     Datei implizit als erste Zeile angenommen.
  264.  
  265.   - Alle mit der Zeichenfolge
  266.  
  267.     ; *****
  268.  
  269.     (hinter  den  fünf Sternen  muß  mindestens ein Leerzeichen folgen)
  270.     beginnenden Zeilen werden NICHT übernommen.  (Die  Schreibweise und
  271.     das Format sind signifikant.)
  272.  
  273.   - Jeder Output-Datei wird ein Datei-Header vorangestellt.
  274.  
  275.  
  276.   Aufruf
  277.   ──────
  278.  
  279.   MAKEDOC wird folgendermaßen aufgerufen:
  280.  
  281.    MAKEDOC [{path}sourcefile-maske] {{path}{outputfile}} {switches}
  282.  
  283.    oder
  284.  
  285.    MAKEDOC -?
  286.  
  287.    zur Ausgabe eines Hilfstextes
  288.  
  289.   Die Reihenfolge der Parameter muß  eingehalten werden.  Die Parameter
  290.   {path}outputfile  und  Switches  sind  optional,  d.h.  beide  können
  291.   angegeben oder weggelassen werden.
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299. ────────────────────────────────────────────────────────────────────────────────
  300. Dokumentation für MakeDoc                                           Seite    4
  301.  
  302.  
  303.  
  304.   Der Parameter sourcefile-maske kann ein Dateiname oder eine Maske mit
  305.   Jokern (* oder ?) sein (jeweils optional incl. einem Pfad).
  306.   Das Programm bearbeitet dann entweder nur die  angegebene  Datei oder
  307.   alle unter die Maske fallenden Dateien sequentiell in der Reihenfolge
  308.   in der sie im Directory stehen.
  309.  
  310.   Der  Parameter  outputfile kann  entweder ein Pfad (abgeschlossen mit
  311.   '\' oder ':') oder ein Dateiname  (mit oder ohne  Pfad) sein.  Masken
  312.   sind für diesen Parameter nicht möglich.
  313.  
  314.   Wird  hier  ein Pfad angegeben, so erstellt das Programm  automatisch
  315.   für  jede Eingabedatei den Namen der Ausgabe-Datei aus dem hier ange-
  316.   gebenen Pfad plus dem Namen  der Eingabe-Datei versehen mit  der vor-
  317.   eingestellten Extension .DOC.
  318.  
  319.   Bei  Angabe eines  Dateinamens wird diese, falls als sourcefile-maske
  320.   ein Dateiname angegeben ist, als Ausgabedatei genommen. Ist in diesem
  321.   Fall als sourcefile-maske  eine Maske angegeben, so wird der Schalter
  322.   'A1' (s.u.) implizit vom Programm gesetzt, d.h. die Ausgaben für alle
  323.   unter die  Maske  fallenden  Dateien werden sequentiell in die  Datei
  324.   geschrieben.
  325.   Falls der  Parameter  outputfile  nicht angegeben wird, so werden die
  326.   Ausgabedatei(en)  in dem  Directory, in dem die Quelldatei(en) stehen
  327.   erstellt.
  328.  
  329.   Der Parameter switches steht für verschiedene mögliche Schalter  über
  330.   die MAKEDOC gesteuert werden kann.
  331.   Die Schalter können in Groß-  oder  Kleinbuchstaben und in beliebiger
  332.   Reihenfolge  und  Kombination  angegeben  werden. Die Schalter werden
  333.   sequentiell  von links  nach rechts bearbeitet. Ein falscher Schalter
  334.   führt zum Programmabbruch. Bei Angabe von mehreren gleichen Schaltern
  335.   mit  unterschiedlichen  Werten oder  mehreren  sich  ausschliessenden
  336.   Schaltern wird nur der zuletzt angegebene berücksichtigt.Die Schalter
  337.   können einzeln (z.B. '-A -D -X.ext -O2')  oder zusammengesetzt  (z.B.
  338.   '-ADX.extO2') angegeben werden.
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359. ────────────────────────────────────────────────────────────────────────────────
  360. Dokumentation für MakeDoc                                           Seite    5
  361.  
  362.  
  363.  
  364.   Mögliche Schalter:
  365.  
  366.  
  367.      -Inn - Explizite Angabe von #N
  368.  
  369.             -> Anzahl der normalerweise einzufügenden Leerzeichen
  370.                (dez., Voreinst.: 2, Intervall: 0..255)
  371.    
  372.      -Enn - Explizite Angabe von #M
  373.             -> Anzahl der bei  der Expansion von  STRUC-,  SEGMENT- und
  374.                MACRO-Blöcken einzufügenden Leerzeichen
  375.                (dez., Voreinst.: 3, Intervall: 0..255)
  376.  
  377.    -L{nn} - Anzahl der Zeilen  pro Seite für die Ausgabedatei bestimmen
  378.             (dez., Voreinst: 0, Intervall: 0, 20..255, 0 bedeutet keine
  379.             Seitenformatierung vornehmen, Voreinstellung für nn,  falls
  380.             der Schalter in der Form '-L' angegeben ist, ist 60)
  381.  
  382.             Ein Wert kleiner als 20 wird von MAKEDOC auf 20 gesetzt.
  383.  
  384.             Falls kein Wert hinter 'L'  angegeben werden  soll, muß  der
  385.             Schalter einzeln angegeben werden.
  386.             (z.B. '-L -N' aber NICHT '-LN' !)
  387.  
  388.             Formfeeds in der  Eingabedatei werden  von  MAKEDOC berück-
  389.             sichtigt,  falls sie in einer Zeile stehen, die von MAKEDOC
  390.             in  die  Ausgabedatei  übernommen  wird (z.B. ein durch ein
  391.             Semikolon eingeleiteter Kommentar).
  392.             Bei mehreren Eingabedateien  wird von  MAKEDDOC die Ausgabe
  393.             für jede neue Eingabedatei auf einem neuen Blatt begonnen.
  394.  
  395.     -S{n} - n = 1 ->> Nur Anzeige der dem Programm bekannten Direktiven
  396.                       (Voreinstellung für n)
  397.             n = 0 ->> ignoriere den Schalter 'S1' falls er gesetzt ist
  398.  
  399.             Für die Angabe dieses Schalters  muß  als erster  Parameter
  400.             eine  bestehende Datei bzw. ein existierendes Zeichenorien-
  401.             tiertes Gerät angegeben werden.  Diese(s)  wird  aber nicht 
  402.             bearbeitet.
  403.  
  404.             Beispiel:   MAKEDOC NUL -S
  405.  
  406.     -N{n} - n = 1 ->> Datei-Header nicht schreiben (Voreinst. für n)
  407.             n = 0 ->> Datei-Header schreiben (Voreinstellung)
  408.  
  409.     -P{n} - n = 1 ->> Vollständigen Namen incl. Pfad in den Datei-Header
  410.                       übernehmen (Voreinstellung für n)
  411.             n = 0 ->> Nur den Namen in den Header übernehmen (Voreinst.)
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419. ────────────────────────────────────────────────────────────────────────────────
  420. Dokumentation für MakeDoc                                           Seite    6
  421.  
  422.  
  423.  
  424.     -!{n} - n = 1 ->> auch die internen Routinen bearbeiten (d.h. Igno-
  425.                       rieren der Zeile '; ***** END OF PUBLIC *****')
  426.                       (Voreinstellung für n)
  427.             n = 0 ->> internen Routinen nicht bearbeiten (Voreinst.)
  428.  
  429.     -A{n} - n = 1 ->> Falls  eine  Ausgabedatei schon besteht  wird sie
  430.                       verlängert (Voreinstellung für n)
  431.             n = 0 ->> Bestehende Ausgabe-Dateien werden überschrieben
  432.                       (Voreinst.)
  433.  
  434.     -On   - n = 0 ->> Die Existenz der Ausgabedateien ist ohne
  435.                       Bedeutung. (Voreinstellung)
  436.  
  437.             n = 1 ->> Bearbeite nur Dateien, von denen die Ausgabedatei
  438.                       noch NICHT existiert.
  439.  
  440.           Dieser Schalter ist z.B. sinnvoll, falls bei einen vorherigen
  441.           Programmlauf als erster Parameter eine Maske angegeben wurde,
  442.           und  die Ausführung  des  Programms nach  der Bearbeitung von
  443.           einigen aber nicht allen unter die Maske fallenden Programmen
  444.           durch  einen Fehler  abgebrochen wurde.  In diesem  Fall kann
  445.           nach der Beseitigung des  Fehlers das  Programm noch  mal mit
  446.           den  gleichen  Parametern und  dem  Schalter  'O1' aufgerufen
  447.           werden. Es erstellt dann nur noch die fehlenden Dateien.
  448.  
  449.             n = 2 ->> Bearbeite nur Dateien, von denen die Ausgabedatei
  450.                       SCHON existiert.  Dieser  Schalter  kann z.B. zum
  451.                       Updaten von bestehenden Dateien benutzt werden.
  452.  
  453.             n = 3 ->> Vor der Bearbeitung jeder Datei kann der Benutzer
  454.                       entscheiden, ob diese bearbeitet werden soll.
  455.  
  456.             n = 4 ->> In  diesem  Fall  fragt das Programm den Benutzer
  457.                       nur falls die Ausgabe-Datei schon existiert; alle
  458.                       anderen Dateien werden ohne Nachfrage bearbeitet.
  459.  
  460.     -Z{n} - n = 1 ->> MAKEDOC arbeitet mit CTRL-Z als Dateiende-Markie-
  461.                       rungen (Voreinstellung für n)
  462.             n = 0 ->> MAKEDOC arbeitet NICHT mit Dateiende-Markierungen
  463.                       (Voreinst.)
  464.  
  465.     -D{n} - n = 1 ->> Unterdrücken der Laufzeitanzeige
  466.                       (Voreinstellung für n)
  467.             n = 0 ->> Laufzeitanzeige ausgeben  (Voreinst.)
  468.                       In diesem Fall gibt MAKEDOC für jede geschriebene
  469.                       Zeile das Zeichen '√' und für jede  nur  gelesene
  470.                       aber  nicht  geschriebene  Zeile  das Zeichen '.'
  471.                       aus.
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479. ────────────────────────────────────────────────────────────────────────────────
  480. Dokumentation für MakeDoc                                           Seite    7
  481.  
  482.  
  483.  
  484.     -X.aaa
  485.           - Mit diesem Schalter kann die  voreingestellte Extension für
  486.             die Ausgabedatei  geändert werden.  (.aaa = neue Extension)
  487.             Der  Punkt  muß   angegeben werden. Die neue Extension kann
  488.             bis zu 3 Zeichen lang sein.  Soll(en)  die Ausgabedatei(en)
  489.             keine Extension  erhalten, so muß  der Schalter in der Form
  490.             'X.'  angegeben werden.  Falls  die  neue Extension weniger
  491.             als 4 Zeichen  (incl. Punkt)  lang ist,  muß   sie  am Ende
  492.             eines Parameters stehen.
  493.  
  494.             Beispiel:
  495.  
  496.             Die neue Extension soll '.9' und der Schalter  'D' soll auf
  497.             1 gesetzt werden.
  498.  
  499.             Die Parameter hierfür müssen dann lauten:
  500.  
  501.             '-dx.9'  oder  '-x.9 -d'
  502.  
  503.             Falsch ist
  504.  
  505.             '.X.9d'
  506.  
  507.             (In diesem  Fall würde MAKEDOC die neue Extension auf '.9d'
  508.              setzen.)
  509.  
  510.             Hinweis:
  511.             Die hier angegebene Extension wird nur benutzt, falls keine
  512.             Ausgabedatei angegeben  ist  oder  für die Ausgabedatei nur 
  513.             ein Pfad angegeben ist.
  514.  
  515.  
  516.   Hinweise zur Schreibweise:
  517.  
  518.    - Angaben in geschweiften Klammern {} sind optional
  519.  
  520.    - n   ->> 0 oder 1 (bei dem Schalter 'o' auch 2, 3 oder 4)
  521.  
  522.    - nn  ->> dezimaler Wert
  523.  
  524.    - (Voreinst. für n) oder (Voreinstellung für n)
  525.      ->> Falls der  Schalter  ohne Wert  angegeben ist,  so wird dieser
  526.          Wert vom Programm für den Schalter genommen.
  527.  
  528.    - (Voreinstellung)  oder (Voreinst.)
  529.      ->> Falls der Schalter  nicht  angegeben ist,  so wird dieser Wert
  530.          vom Programm angenommen.
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539. ────────────────────────────────────────────────────────────────────────────────
  540. Dokumentation für MakeDoc                                           Seite    8
  541.  
  542.  
  543.  
  544.   Beispiele:
  545.  
  546.  
  547.   MAKEDOC *.8 -o0 -x.DOC -i02 -e03 -l0 -s0 -n0 -p0 -!0 -a0 -z0 -d0
  548.  
  549.   -> Aufruf von MAKEDOC mit den Voreinstellungen, dieser Aufruf ist 
  550.      also äquvialent mit
  551.     
  552.      MAKEDOC *.8
  553.  
  554.   MAKEDOC *.8 acht.doc
  555.  
  556.   -> Bearbeite  alle Dateien  mit der  Extension  '.8' und schreibe die
  557.      Ausgaben in die Datei 'ACHT.DOC'. Der  Schalter 'A1' wird vom Pro-
  558.      gramm implizit gesetzt, da mehrere Quelldateien aber nur eine Aus-
  559.      gabedatei angegeben ist.
  560.  
  561.   MAKEDOC *.8 C:\doc\ -DO4
  562.  
  563.   -> Bearbeite alle  Dateien mit der Extension  '.8'  und  schreibe die
  564.      Ausgaben jeweils in eine Datei mit gleichem  Namen und  der Exten-
  565.      sion '.DOC' im  Directory  'C:\doc\'.  Unterdrücke  die  Laufzeit-
  566.      Anzeige und  frage  den Benutzer,  falls eine  Ausgabe-Datei schon
  567.      existiert.
  568.  
  569.   MAKEDOC *.8 -o1
  570.  
  571.   -> Bearbeite alle Dateien mit der Extension '.8', von  denen im  akt.
  572.      Directory  noch  keine  Ausgabe-Datei  mit  der  Extension  '.DOC'
  573.      existiert.
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599. ────────────────────────────────────────────────────────────────────────────────
  600. Dokumentation für MakeDoc                                           Seite    9
  601.  
  602.  
  603.  
  604.   Benutzung der Environment-Variable MAKEDOC
  605.   ──────────────────────────────────────────
  606.  
  607.   Alle  Schalter  können  auch  in  der   Environment-Variable  MAKEDOC
  608.   gesichert werden.  Der  Inhalt  dieser Variable  wird vor den  in den
  609.   Parametern  angegebenen  Schaltern  bearbeitet, so  daß   die  in der
  610.   Environment-Variable   gespeicherten  Schalter durch  die Schalter in
  611.   der  Aufrufzeile   überschrieben   werden  können.  Die  Environment-
  612.   Variable darf keine Leerzeichen oder Tabulatoren enthalten.  In   der
  613.   Environment-Variable können keine Ein- oder Ausgabedateien  angegeben
  614.   werden.
  615.  
  616.   Beispiele:
  617.  
  618.   SET MAKEDOC=-do3
  619.  
  620.   -> Bei allen folgenden  Aufrufen  von MAKEDOC den Schalter  'D' auf 1
  621.      und den Schalter 'O' auf 3 setzen, falls in  den Parametern nichts
  622.      anderes angegeben ist.
  623.  
  624.   SET MAKEDOC=-al
  625.  
  626.   -> Der Schalter 'L'  ohne Wert muß  in der Environment-Variable immer
  627.      als letzter angegeben werden!
  628.  
  629.  
  630.  
  631.   Kommentare in den Parametern und in der Environment-Variable
  632.   ────────────────────────────────────────────────────────────
  633.  
  634.   MAKEDOC erlaubt es  hinter den Parametern noch einen  Kommentar anzu-
  635.   geben. Dieser  muß  mit  dem  Zeichen @  beginnen. Alle hinter diesem
  636.   Parameter  folgenden Parameter werden von MAKEDOC überlesen. Sinnvoll
  637.   ist dies z.B. bei Aufruf von MAKEDOC aus Batch-Dateien.
  638.   Falls die Environment-Variable MAKEDOC als erstes Zeichen das Zeichen
  639.   @ enthält, wird diese von MAKEDOC nicht ausgewertet.
  640.  
  641.   Beispiele:
  642.  
  643.   MAKEDOC *.inc -o3ad @ -z Dies ist ein Kommentar!
  644.  
  645.   -> Es werden nur die Parameter '*.inc -o3ad' ausgewertet
  646.  
  647.   MAKEDOC *.inc -o3ad@ Dies ergibt einen Fehler!
  648.  
  649.   -> Fehler, das Zeichen @ muß einen neuen Parameter einleiten!
  650.  
  651.   SET MAKEDOC=@-d
  652.  
  653.   -> Unterdrücken der Berücksichtigung der Environment-Variable MAKEDOC
  654.  
  655.  
  656.  
  657.  
  658.  
  659. ────────────────────────────────────────────────────────────────────────────────
  660. Dokumentation für MakeDoc                                           Seite   10
  661.  
  662.  
  663.  
  664.   Errorlevel
  665.   ──────────
  666.  
  667.   Als Errorlevel wird 0 zurückgegeben, falls  kein Fehler auftrat.
  668.  
  669.   Im Fehlerfall werden folgende Errorlevel zurückgegeben:
  670.  
  671.   Fehler                                │   Errorlevel
  672.   ──────────────────────────────────────┼──────────────
  673.   Falscher/Fehlender Parameter          │       1
  674.   Falscher Schalter angegeben           │       2
  675.   Quelldatei = Zieldatei                │       3
  676.   Fehler beim Öffnen der Quelldatei     │       4
  677.   Fehler beim Öffnen der Zieldatei      │       5
  678.   Fehler beim Lesen der Quelldatei      │       6
  679.   Fehler beim Schreiben der Zieldatei   │       7
  680.   Fehler beim Schliessen der Quelldatei │       8
  681.   Fehler beim Schliessen der Zieldatei  │       9
  682.   Keine Datei gefunden                  │      10
  683.   Hardware-Fehler                       │      11
  684.   Fehler in der Speicherverwaltung      │      12
  685.   Unbekannter Fehler                    │      13
  686.  
  687.  
  688.   Interna
  689.   ───────
  690.  
  691.   Für  die Dateibearbeitung wird jeweils für die Ein- und Ausgabe-Datei
  692.   ein Puffer  von max. 65.520 Byte allokiert (falls möglich). Die mini-
  693.   male  Größe  für jeden Puffer beträgt 1024 Byte.  Falls  kein  freier
  694.   Speicher  für  die Puffer  vorhanden ist,  wird das Programm nach der
  695.   Ausgabe einer Fehlermeldung abgebrochen.
  696.  
  697.   Für jede zu  bearbeitende Datei wird überprüft, ob die Namen der Ein-
  698.   und Ausgabedatei  identisch sind und, falls dies so ist, das Programm
  699.   nach der Ausgabe einer Fehlermeldung abgebrochen.
  700.  
  701.   Das  Programm fängt alle Fehler (auch Hardware-Fehler)  ab und bricht
  702.   in diesem Fall die  Ausführung nach der  Ausgabe einer  Fehlermeldung
  703.   ab.  Die  evtl.  schon  teilweise   geschriebene(n)  Ausgabedatei(en)
  704.   werden nach dem Auftritt eines Fehlers nicht gelöscht.
  705.  
  706.   Alle Ausgaben des Programms (mit Ausnahme der Laufzeit-Anzeige, s.u.)
  707.   erfolgen über das DOS und sind somit in eine Datei umlenkbar.
  708.  
  709.   Die Laufzeit-Anzeige wird aus Geschwindigkeitsgründen direkt über den
  710.   Interrupt 29h ausgegeben. Falls die Ausgabe  des Programms nicht  auf
  711.   die Standard-Ausgabe geht, wird die Laufzeit-Anzeige nicht angezeigt.
  712.  
  713.   ACHTUNG: Das  Programm benutzt  die undokumentierte  Funktion 60h des
  714.            Interrupt  21h und den  nur teilweise  dokumentierten Inter-
  715.            rupt 29h!
  716.  
  717.  
  718.  
  719. ────────────────────────────────────────────────────────────────────────────────
  720. Dokumentation für MakeDoc                                           Seite   11
  721.