home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / dev / cursor-1.7.lha / Cursor / Cursor.dok < prev    next >
Text File  |  1994-02-24  |  12KB  |  386 lines

  1.  
  2.  Cursor V1.7 - Ein BASIC-Compiler
  3.  (c) Copyright 1990-1994 Jürgen Forster
  4.  
  5. Dieses Programm ist Shareware. Es darf für eine kleine Kopiergebühr
  6. weitergegeben werden, wird es aber oft benutzt, so sollte eine Sharegebühr
  7. von 20 DM oder 15$ an den Autor geschickt werden.
  8.  
  9. "Cursor" übersetzt BASIC-Programme, die für den AmigaBASIC-Interpreter
  10. geschrieben wurden, in allein lauffähige Programme, die vom CLI oder von
  11. der Workbench aus gestartet werden können und schneller sind, als wenn
  12. sie vom Interpreter aus ablaufen. Es werden (noch?) nicht alle Befehle des
  13. AmigaBASIC-Interpreters unterstützt, eine Liste der möglichen Befehle ist
  14. unter "UNTERSTÜTZTE BEFEHLE UND FUNKTIONEN" zu finden.
  15.  
  16. Ich übernehme keine Verantwortung für irgendwelche Schäden, die dieses
  17. Programm anrichten könnte.
  18.  
  19. Mit "Cursor" übersetzte Programme dürfen (einschließlich der "basic.library")
  20. nur weitergegeben oder verkauft werden, wenn die Shareware-Gebühr bezahlt
  21. wurde.
  22.  
  23.  
  24.  
  25.  
  26.   INSTALLATION
  27.  
  28. Um den "Cursor" zu benutzen, muß die Datei "Cursor" ins "C:"-Verzeichnis
  29. und die Datei "basic.library" ins "LIBS:"-Verzeichnis kopiert werden.
  30. Alle Programme, die mit "Cursor" übersetzt wurden, brauchen diese Library,
  31. außer sie wurden mit der "STANDALONE"-Option übersetzt (siehe unter
  32. "OPTIONEN").
  33. Außerdem werden die Mathematik-Libraries "mathtrans.library",
  34. "mathieeedoubbas.library" und "mathieeedoubtrans.library" benötigt,
  35. die sich also auch im "LIBS:"-Verzeichnis befinden müssen.
  36. "Cursor" schreibt einige temporäre Dateien in das T:-Verzeichnis, das sich
  37. am besten in der RAM-Disk befindet ("assign T: RAM:").
  38.  
  39.  
  40.  
  41.  
  42.   BENUTZUNG
  43.  
  44. Um ein BASIC-Programm zu übersetzen, muß es im ASCII-Format vorhanden
  45. sein (AmigaBASIC-Programme können aus dem Interpreter heraus mit
  46. SAVE "Name.bas",A im ASCII-Format abgespeichert werden).
  47. Vom CLI aus kann man "Cursor" mit dem BASIC-Programmnamen als Parameter
  48. aufrufen. Es können außerdem einige Optionen eingestellt werden (siehe
  49. bei "OPTIONEN").
  50. Will man "Cursor" von der Workbench aus starten, benutzt man den Editor
  51. "CursorMenu" (der natürlich auch vom CLI aus gestartet werden kann), von
  52. dem aus sich die Optionen über Menüs einstellen lassen.
  53. Wenn während der Übersetzung kein Fehler auftritt, wird ein ausführbares
  54. Programm erzeugt, dessen Name der des Quelltextes ohne Endung ist.
  55.  
  56.  
  57.  
  58.  
  59.   ÜBERSETZTE PROGRAMME
  60.  
  61. - Alle von "Cursor" übersetzten Programme sind "Pure", "Cursor" setzt
  62.   automatisch das "Pure-Bit" dieser Programme.
  63.  
  64. - Alle Programme können von der Workbench oder dem CLI aus gestartet werden.
  65.   Von CLI übergebene Parameter werden so behandelt, als ob der Benutzer sie
  66.   über die Tastatur getrennt durch die <RETURN>-Taste eingegeben hätte.
  67.  
  68. - Tritt während des Ablaufs eines Programms ein Fehler auf, so wird
  69.   die Fehlermeldung entweder in das CLI-Fenster (Standardausgabedatei)
  70.   geschrieben oder ein Requester wird angezeigt. Wenn z.B. eine Datei mit
  71.   "OPEN" geöffnet werden sollte, aber nicht vorhanden ist, so wird der
  72.   genaue Fehler (OBJECT_NOT_FOUND) angezeigt. Außerdem wird ggf. die
  73.   Zeilennummer im Quelltext, an der der Fehler aufgetreten ist, angezeigt
  74.   (siehe "OPTIONEN").
  75.  
  76. - Die Übersetzten Programme können fast immer mit Hilfe eines WINDOWCLOSE-
  77.   Gadgets oder mit <CTRL>-C abgebrochen werden.
  78.  
  79.  
  80.  
  81.  
  82.   OPTIONEN
  83.  
  84. Es können verschiedene Optionen eingestellt werden, die das übersetzte
  85. Programm beeinflussen. Die Wahl der Optionen geschieht entweder vom Editor
  86. "CursorMenu" aus, durch den OPTION-Befehl im Quelltext (z.B. "OPTION
  87. NOWINDOW") oder durch CLI-Parameter (z.B. "Cursor -m2 Test.bas").
  88.  
  89. Folgende Optionen sind möglich:
  90.  
  91. - NOWINDOW (-w0 vom CLI), OPENWINDOW (-w1)
  92.   Bei NOWINDOW wird beim Start des übersetzten Programms kein Fenster
  93.   automatisch geöffnet.
  94.   Bei OPENWINDOW (Voreinstellung) wird ein neues Fenster mit der Nummer 1
  95.   auf dem Workbench-Bildschirm oder dem Bildschirm des Editors "CursorMenu"
  96.   in dessen Größe geöffnet.
  97.  
  98. - ALLPCRELATIVE (-b2), SOMEPCRELATIVE (-b1), NOPCRELATIVE (-b0)
  99.   Bei ALLPCRELATIVE wird angenommen, daß alle Verzweigungen im übersetzten
  100.   Programm nicht weiter als 32K entfernt reichen. Dadurch werden Programme,
  101.   die nicht zu groß sind, noch etwas kürzer.
  102.   Bei SOMEPCRELATIVE (Voreinstellung) reicht es, daß alle Verzweigungen
  103.   innerhalb von Unterprogrammen nicht weiter als 32K entfernt reichen.
  104.   Bei NOPCRELATIVE können alle Verzweigungen beliebig weit reichen.
  105.  
  106. - STANDALONE (-s)
  107.   Wenn diese Option gewählt wird, wird die "basic.library" nicht mehr
  108.   gebraucht, wenn das übersetzte Programm abläuft, sie muß nun aber während
  109.   der Übersetzung im aktuellen oder im "LIBS:"-Verzeichnis vorhanden sein.
  110.   Obwohl das übersetzte Programm so etwa 30K länger wird, wird nun immer die
  111.   gleiche und richtige Version der "basic.library" benutzt. Wenn Sie ihre
  112.   Programme an andere Benutzer weiter geben wollen, so sollten sie diese
  113.   Option benutzen.
  114.  
  115. - LISTING (-l[<listing file>])
  116.   Bei dieser Option wird eine Liste der im Programm verwendeten Variablen
  117.   erzeugt. In dieser Liste wird angegeben, in welchem Unterprogramm
  118.   jede Variable verwendet wird, und in welchen Zeilen des Programmes sie
  119.   benutzt wird. Die Liste wird in eine Datei mit der Endung ".lst" oder
  120.   in die Datei, die der Benutzer vom CLI aus gewählt hat, geschrieben.
  121.  
  122.  
  123.  
  124.  
  125.   UNTERSTÜTZTE BEFEHLE UND FUNKTIONEN
  126.  
  127. "Ja" heißt, daß der Befehl oder die Funktion (fast) genauso wie
  128. beim AmigaBASIC-Interpreter funktioniert, "Nein" heißt, daß der Befehl/die
  129. Funktion noch nicht verwendbar ist.
  130. Wenn ein Befehl oder eine Funktion noch nicht unterstützt werden, so wird
  131. das nicht unbedingt schon bei der Übersetzung des Programms angezeigt,
  132. manchmal bricht das übersetzte Programm erst dann ab, wenn es zu einem
  133. solchen Befehl gelangt und gibt eine "Advanced Feature"-Fehlermeldung aus.
  134.  
  135. ABS()              Ja
  136. AREA               Ja
  137.   20 verschiedene Punkte können gesetzt werden.
  138. AREAFILL           Ja
  139. ASC()              Ja
  140. ATN()              Ja
  141. BEEP
  142.   Bildschirm blinkt nur auf, kein Ton.
  143. BREAK              Ja
  144. CALL               Ja
  145. CDBL()             Ja
  146. CHAIN              Nicht möglich
  147. CHDIR              Ja
  148. CHR$()             Ja
  149. CINT()             Ja
  150. CIRCLE             Nein
  151. CLEAR              Ja
  152.   Dient zum Festlegen der Größe des Speichers für die String-Variablen
  153.   und der Größe des Stapelspeichers (für GOSUB/RETURN und CALL/SUB).
  154.   Während das übersetzte Programm abläuft werden die Größen dieser
  155.   Speicherbereiche aber nicht mehr verändert, es wird immer der größte
  156.   während des Übersetzens auftretende Wert verwendet. D.h. daß als Parameter
  157.   hier keine Variablen sondern nur Konstante angegeben werden dürfen. Die
  158.   Voreinstellungen sind 25000 Bytes für String-Variable und 4000 Bytes für
  159.   den Stack.
  160. CLNG()             Ja
  161. CLOSE              Ja
  162. CLS                Ja
  163. COLLISION          Ja
  164. COLLISION()        Ja
  165. COLOR              Ja
  166. COMMON             Nicht möglich
  167. CONT               Nicht möglich
  168. COS()              Ja
  169. CSNG()             Ja
  170. CSRLIN             Ja
  171. CVI()              Ja
  172. CVL()              Ja
  173. CVS()              Ja
  174. CVD()              Ja
  175. DATA               Ja
  176. DATE$              Ja
  177. DECLARE FUNCTION   Ja
  178. DEF FN             Ja
  179. DEFINT             Ja
  180. DEFLNG             Ja
  181. DEFSNG             Ja
  182. DEFDBL             Ja
  183. DEFSTR             Ja
  184. DELETE             Nicht möglich
  185. DIM                Ja
  186. END                Ja
  187. END SUB            Ja (siehe "SUB")
  188. EOF()              Ja
  189. ERASE              Ja
  190. ERL                Ja
  191. ERR                Ja
  192. ERROR              Ja
  193. EXIT SUB           Ja (siehe "SUB")
  194. EXP()              Ja
  195. FIELD              Ja
  196. FILES              Ja
  197. FIX()              Ja
  198. FOR                Ja
  199. FRE()              Ja
  200.   FRE(-3) Gibt AvailMem(MEMF_LARGEST) zurück, wie es auch AmigaBASIC tut.
  201.   FRE(0)  Erzwingt eine Garbage-Collection (Aufräumen des Speichers für
  202.           Strings) und gibt die Größe des noch freien Stringspeichers zurück.
  203. GET                Ja
  204. GOSUB              Ja
  205. GOTO               Ja
  206. HEX$()             Ja
  207. IF                 Ja
  208. INKEY$             Ja
  209. INPUT              Ja
  210. INPUT$()           Ja
  211. INPUT #            Ja
  212. INSTR              Ja
  213. INT()              Ja
  214. KILL               Ja
  215. LBOUND             Nein
  216. LEFT$()            Ja
  217. LEN()              Ja
  218. LET                Ja
  219. L