@database Def2AG @node main "Def2AG - Definitionsdateien nach AmigaGuide®" Def2AG konvertiert "Modula 2"-Definitionsdateien ins AmigaGuide®- Format. Inhalt: @{" Installation " link Installation} @{" Aufruf " link Aufruf} @{" Vorgehen " link Vorgehen} @{" Copyright " link Copyright} @{" Adresse " link Adresse} @{" Geschichte " link Geschichte} Def2AG V0.97b © 1994 Fin Schuppenhauer. (Copyrighted Freeware) @endnode @node Installation Ganz einfach: Kopiere die Datei "Def2AG" in ein Verzeichnis, das sich im Suchpfad befindet, z.B. COPY Def2AG C: @endnode @node Aufruf Format : DEF2AG [FROM ] [] [XREF] [ADOC ] [QUIET] Befehlsschablone : FROM/K/A,TODIR/A,XREF/S,ADOC/K,QUIET/S Funktion : "Modula 2"-Definitionsdateien ins AmigaGuide®- Format konvertieren. Beschreibung : DEF2AG konvertiert "Modula 2"-Definitionsdateien in das Hypertext- Format von AmigaGuide®. Aus einer Verteilerdatei ("Modula-2.guide") werden die Hypertextversionen der Definitionsmoduln aufgerufen. Die Definitionsmoduln werden in gesucht. Handelt es sich dabei um ein Verzeichnis muß ein abschließendes "/" oder ein abschließender ":" mit angegeben werden. Muster sind ebenfalls zulässig. (z.B. "M2:Defs/In" würde alle De- finitionsmoduln im Verzeichnis "M2:Defs/" finden, die mit "In" be- ginnen.) Das Schlüsselwort FROM muß unbedingt mit angegeben werden. Wird dieser Parameter weggelassen, wird in "M2:Defs/" nach Defini- tionsmoduln gesucht. Die erzeugten Hypertext-Dateien werden ins ko- piert, oder nach "RAM:", wenn der Parameter weggelassen wird. Im Zielverzeichnis wird eine Hauptdatei "Modula-2.guide" und ein Unterverzeichnis "Modula-2" erstellt. Im Verzeichnis werden die Hypertextdateien der Definitionsmoduln und die Crossreference- Datei (siehe unten) abgelegt. Auch hier muß ein abschließender Schrägstrich oder Doppelpunkt mit angegeben werden. Mit der Option XREF wird eine Crossreference-Datei erzeugt, in der alle gefundenen Typdeklarationen abgelegt werden. Hierbei werden dann keine Hypertext-Dateien erzeugt, sondern die Definitionsmoduln nur nach Typdefinitionen durchsucht. Bei einem erneuten Aufruf (ohne die Option XREF) wird diese Datei geladen und zur Erzeugung von Links verwendet. Die Option ADOC ist nur in Verbindung mit den Definitionsmoduln sinnvoll, in denen Betriebsystemroutinen definiert sind (z.B. GraphicsL.def). Neben den anzugebenden Schlüsselwort wird ein Verzeichnis erwartet, in dem das Verzeichnis ("Autodocs") für die Hypertext-Versionen der Commodore-Autodocs stehen. Es werden dann zusätzlich Links für Prozedurbezeichner erzeugt, die auch ihr Gegenstück in den Autodocs haben. Mit der Option QUIET wird die Bildschirmausgabe unterdrückt. Beispiel: DEF2AG XREF Erzeugt die Crossreference-Datei für alle Definitionsmoduln in "M2:Defs/". Im Verzeichnis "RAM:" wird das Verzeichnis "Modula-2" erzeugt und hierin die Crossreference-Datei abgelegt. DEF2AG FROM M2:Defs/C HYPER: ADOC=HYPER: QUIET Es werden alle Definitionsmoduln aus "M2:Defs/" konvertiert, die mit einem "C" beginnen. Die erzeugten Dateien werden im Verzeichnis HYPER: abgelegt. Hier befindet sich auch das Verzeichnis für die Commodore-Autodocs-Guides. Die Bildschirmausgabe wird unterdrückt. @endnode @node Vorgehen "Wie erzeuge ich Hypertext-Dateien?" In Ultrakurzform: 1. Crossreference-Datei erzeugen, z.B. mit "@{"DEF2AG" link Aufruf} XREF" 2. Eigentlichen Konvertierungsvorgang starten und ggf. die Autodocs berücksichtigen: "@{"DEF2AG" link Aufruf} ADOC=HYPER:" Und jetzt etwas ausführlicher: Für die Erzeugung der Hypertext-Dateien ist es sehr zweckmäßig DEF2AG zweimal aufzurufen. Beim ersten Aufruf mit der Option XREF, also z.B. @{"DEF2AG" link Aufruf} FROM M2:Defs/ HYPER: XREF wird die Crossreference-Datei erzeugt. Diese wird beim zweiten Durchgang benötigt und erzeugt die Links für die Typbezeichner. Wenn wir z.B. eine Funktion wie ExamineFH(fh{R.D1}:d.FileHandlePtr; fib{R.D2}:d.FileInfoBlockPtr)... haben, wird ein Link für die Typbezeichner "FileHandlePtr" und "FileInfoBlockPtr" erzeugt. Werden diese angewählt, so wird die Datei geladen, in der die Typen vereinbart wurden und auf die entsprechende Stelle im Quell- text positioniert (hier würde also "DosD.def.guide" geladen). Werden die vom Compiler mitgeliferten Definitionsmoduln konvertiert, sollte im zweiten Durchlauf --- z.B. @{"DEF2AG" link Aufruf} FROM M2:Defs/ HYPER: ADOC=HYPER: --- die Option ADOC mit angegeben werden, wenn Du über die Autodocs verfügst. Dann werden für die Prozedurbezeichner Links auf die Autodocs-Guides erzeugt. Im obigen Beispiel könnte dann auch "ExamineFH" selektiert werden, worauf das zugehörige Hypertext-Autodoc geladen wird und auf die Erklärung von "ExamineFH" positioniert wird. @endnode @node Copyright DEF2AG V0.97b © 1994 Fin Schuppenhauer Das Programm, seine Dokumentation und Quelltexte stehen unter meinen Copyright, dürfen aber dennoch beliebig oft kopiert und/oder verändert werden. Lediglich mein Copyright-Hinweis darf nirgends entfernt werden und es müssen alle unten ange- geben Dateien kopiert werden. Dieses Programm darf ohne Genehmigung des Autors nicht kommer- ziel genutzt werden. Die Benutzung erfolgt auf eigene Gefahr. Folgende Dateien sind Bestandteil dieser Veröffentlichung (die mit * markierten Dateien müssen bei weiterverteilung mitkopiert werden): * Def2AG : Das lauffähige Programm * Def2AG.guide : Diese Dokumentation M2Guide.lha : Fertig konvertierte M2Amiga-Definitionsmoduln¹ ¹ Diese sollte im Verzeichnis HYPER: entpackt werden. Hierin wird auch das Verzeichnis Autodocs erwartet. @endnode @node Adresse "Meine Anschrift" Für Fehlerhinweise, Anregungen, Postkarten und Geschenke bin ich jederzeit dankbar. Diese können an folgende Adresse ge- sendet werden: Fin Schuppenhauer Braußpark 10 20537 Hamburg (Germany) @endnode @node Geschichte Version Datum Änderungen ---------------------------------------------------------------- 0.91 07.03.94 Erste Version 0.92 09.03.94 Quelltext der Definitionsmoduln wird mit in die Hypertext-Dateien eingebunden und mit ... 0.93 09.03.94 ... Hilfe der XREF-Dateien Links für die Typbezeichner erzeugt. 0.94 10.03.94 Fehler in der Überprüfungsfunktion XrefIdent() endlich gefunden und eliminiert. (Diese Funktion checkt, ob der zuletzt gefundene Bezeichner auch in der XREF-Datei steht, d.h. ein Typbe- zeichner ist.) Fehler in TypeScan() gefunden und behoben. 0.95 11.03.94 Noch mehr Fehler in TypeScan() korrigiert. 0.96 11.03.94 Links für Prozedurbezeichner auf Autodocs (Option ADOC) hinzugefügt. 0.97 11.03.94 Optionen neu geordnet und sämtliche Debug- Information entfernt. 0.97b 12.03.94 TypeScan() war immer noch nicht ganz korrekt, weils nach Definition opaquer Typen durchein- ander kam. Erste Veröffentlichung. @endnode