home *** CD-ROM | disk | FTP | other *** search
- Ergänzung zur Compiler-Anleitung V 3.0
-
- Der vorliegende OMIKRON.Compiler ist in jeder Hinsicht zum OMIKRON.BASIC 3.0
- (Interpreter) Befehlskompatibel, d.h. alle in der Version 3.0 des Inter-
- preters vorkommenden neuen Befehle werden vom Compiler ebenfalls richtig
- verstanden und übersetzt.
-
- Dies sind im Einzelnen folgende Befehle:
-
- NDC [{<X>,<Y>,<W>,<H>|<X1>,<Y1> TO <X2>,<Y2>}]
- TEXT ROTATION = <Winkel>
- LINE WIDTH = <Liniendicke>
- LINE PATTERN = <Linienmuster>
- FILL PATTERN = <Füllmuster%(0)>
- EXEC <"Programmname">[,<"Parameter">]
-
- Nähere Erläuterungen siehe Interpreter-Handbuch V3.0.
-
- Au₧erdem sind zusätzlich noch folgende Neuerungen von Bedeutung:
-
- Compilersteuerworte wie "Multitasking_Between_Statements", "Multitas-
- king_Always", "Trace_On", "Trace_Off", "FPU_Errors_On" oder
- "FPU_Errors_Off" (letztere nur beim FPU-Compiler) brauchen nicht mehr
- als Pseudo-Proceduren definiert zu werden, sondern werden einfach
- hinter das reservierte Wort "COMPILER" in Anführungszeichen geschrie-
- ben.
-
- '
- COMPILER "Multitasking_Always"
- ' ab hier werden Multitasking Befehle immer ausgeführt
- COMPILER "Multitasking_Between_Statements"
- ' jetzt nur noch zwischen Befehlen
- usw.
-
-
- RESERVED(Offset)
- ergibt die Adresse eines Speicherbereichs mit untenstehendem Aufbau:
-
- Offset:
- 0 Adresse des Rückgabewertes bei CALL, der in D0 übergeben
- wird. Mit LPEEK( RESERVED(0)) können Sie also einen Wert
- vom Maschinenprogramm an das aufrufende BASIC-Programm über-
- geben.
-
- 4 Flag für INPUT USING
- Falls Sie während eines INPUT USING-Befehl die Eingabe durch
- Timer- oder Mausinterrupt unterbrechen wollen, so setzen Sie
- in der Interruptroutine mit POKE RESERVED(4),1 ein Flag, das
- die Eingabe mit Rückgabewert -3 abbricht. Der Interpreter
- beendet die Eingabe ebenfalls, wenn ein "M" im Steuerstring
- vorkommt.
-
- COMPILER
- Systemvariable, die ungleich null ist, falls das Programm übersetzt
- wurde und als fertiges Compilat abläuft.
-
- IF COMPILER THEN
- ' das wird im compilierten Programm ausgeführt
- ELSE
- ' das wird im Interpreter ausgeführt
- ENDIF
-
-
- VERSION
- Die Systemvariable VERSION ist im Compilat grö₧er als die grö₧t-
- mögliche Versionsnummer im Interpreter (z.Zt. 300 für Version 3.00)
- Dadurch werden eventuell im Interpreter eingebaute Versionsabfragen
- im kompilierten Progamm übergangen (da Sie für den Fall eines
- Fehlers sich sicherlich den Compiler updaten lassen).
-
- IF VERSION < 300 THEN
- PROC Patch_Basic
- ENDIF
-
-
- Die Turn-Around-Zeiten sind mit dem neuen OMIKRON.Compiler ebenfalls
- erheblich gesenkt worden, da dieser jetzt aus dem Speicher übersetzt,
- d.h. ein zuvor notwendiges Abspeichern des Programmes entfällt. Dieser
- Geschwindigkeitsvorteil lä₧t sich allerdings nur in Zusammenhang mit
- dem Editor der Interpreters 3.0 benutzen, wenn dort der Compileraufruf
- über den Menüeintrag COMIPLE erfolgt (der Compiler wird dann auf
- Laufwerk A - oder C, falls dieses existiert - im Wurzelverzeichnis
- erwartet).
-
- Ab OMIKRON.Compiler 3.01 werden in Libraries (LIBRARY CODE) unbenutzte
- Prozeduren und Funktionen nicht übersetzt. Die darin enthaltenen Vari-
- ablen benötigen ebenfalls keinen Speicherplatz.
-