home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / fish / languages / oberon / liesmich < prev    next >
Text File  |  1990-10-11  |  19KB  |  533 lines

  1.                                                           12. August '90
  2.  
  3.  
  4.               OBERON V1.16 (eingeschränkte Version)
  5.  
  6.  
  7. Vorwort:
  8.  
  9. Vor Ihnen liegt eine frei kopierbare Demo-Version eines leistungsfähigen
  10. Compilers für eine der modernsten objektorientierten Sprachen. Oberon ist
  11. die neuste Entwicklung von Prof. Dr. Niklaus Wirth an der ETH Zürich. Diese
  12. Sprache entstand dort innerhalb eines Projekts, das sich das Ziel setzte,
  13. die Leistungsfähigkeit der Sprache Modula-II zu vergrößern und gleichzeitig
  14. ihre Komplexität zu verringern. Dazu wurde Oberon um das Konzept der
  15. Typerweiterung ergänzt, wodurch objektorientiertes Programmieren ähnlich
  16. wie in Smalltalk oder C++ möglich wird, während jedoch die gewohnte
  17. Notation aus Modula-II und Pascal größtenteils beibehalten wird.
  18.  
  19. Dieser Compiler hat einige herausragende Fähigkeiten, die von anderen
  20. Compilern kaum erreicht werden:
  21.  
  22.   - Der Compiler ist durch das Single-Pass Konzept sehr schnell. Dennoch
  23.     erzeugt er durch eine sorgfältige Auswahl an Optimierungen kurzen und
  24.     schnellen Code.
  25.  
  26.   - Die Objektdateien sind ALink- bzw. BLink- kompatibel. Dadurch sind sie
  27.     sehr flexibel einsetzbar und die Einbindung von Routinen aus anderen
  28.     Sprachen, wie Assembler und C, wird leicht möglich.
  29.  
  30.   - Oberonprogramme werden optimierend gelinkt. Es kommen also keine
  31.     Prozeduren, die niemals aufgerufen werden, in das ausführbare Programm,
  32.     so daß dieses meist recht kurz wird. Ein 'leeres' Oberonprogramm ist
  33.     zum Beispiel weniger als ein halbes Kilobyte lang.
  34.  
  35.   - Programme, die mit diesem Compiler entwickelt wurden, sind sehr sicher
  36.     im Laufzeitverhalten, da der Compiler massiv Überprüfungscode einsetzt,
  37.     um möglichst alle Fehler abzufangen. Fehler führen in den meisten
  38.     Fällen nicht zur Guru-Meditation, sondern werden durch das
  39.     Laufzeitsystem abgefangen.
  40.  
  41.   - Um problemlos auf das Amiga-Betriebssystem und alle Resourcen zugreifen
  42.     zu können, wurde die Sprache um Amiga-spezifische Typen ergänzt.
  43.  
  44.   - Es stehen viele Bibliotheksmodulen zur Verfügung und es werden ständig
  45.     neue Module geschrieben, die dann als Zusatzpakete erhältlich sein
  46.     werden, oder auf Public Domain Disktten erscheinen.
  47.  
  48.   - Alle Oberonprogramme können resident geladen werden.
  49.  
  50.   - Dieser Compiler erzeugt voll reentrante (pure) Programme durch das Setzen
  51.     einer einzigen Compileroption. Die einzige Einschränkung dabei ist,
  52.     dastheksmodulen zur Verfügung und es werden ständig
  53.     neue Module geschrieben, die dann als Zusatzpakete erhältlich sein
  54.     werden, oder auf Public Domain Disktten erscheinen.
  55.  
  56.   - Alle Oberonprogramme können resident geladen werden.
  57.  
  58.   - Dieser Compiler erzeugt voll reentrante (pure) Programme durch das Setzen
  59.     einer einzigen Compileroption. Die einzige Einschränkung dabei ist,
  60.     das der Bereich der globalen Variablen kleiner als 32K sein muß.
  61.  
  62.  
  63. Dieser Compiler ist also ein ideales Werkzeug, um effektiv kleine und große
  64. Programme zu entwickeln. Durch die objektorientierten Eigenschaften kann
  65. eine einmal aufgebaute Modulbibliothek leicht für neue Projekte verwendet
  66. und die früher definierten Objekte können leicht an die neuen Aufgaben
  67. angepasst werden.
  68.  
  69.  
  70. Einschränkungen der Demo-Version:
  71.  
  72. Diese Version des Compilers soll Sie in die Lage versetzen, ein paar kleine
  73. Programme in Oberon zu schreiben und etwas in den Compiler und seine
  74. Fähigkeiten hineinuzuschnuppern. Ich muß jedoch auch von irgend etwas Leben
  75. und kann den Compiler daher nicht voll der Öffentlichkeit zur Verfügung
  76. stellen. Daher wurden in dieser Version ein paar Einschränkungen eingebaut,
  77. die ein sinnvolles Arbeiten über längere Zeit unmöglich machen sollen und
  78. Sie damit zwingen, sich die vollständige Version zu kaufen. Die
  79. Einschränkungen im einzelnen:
  80.  
  81.   - Es wird nur ein kleiner Teil der Modulbibliothek und der Amiga
  82.     Interface-Module mitgeliefert
  83.  
  84.   - Die Anleitung ist knapp und wenigsagend gehalten und zudem nicht
  85.     gedruckt.
  86.  
  87.   - Der Compiler läuft Montags nicht
  88.  
  89.   - Der Quelltext je Modul darf höchstens 10K lang sein
  90.  
  91.   - Der erzeugte Programmcode je Modul darf höchstens 5K lang werden
  92.  
  93.   - Der Bereich der globalen Variablen je Modul ist auf 3K beschränkt
  94.  
  95.   - Der Bereich der Stringkonstanten je Modul ist auf 1K beschränkt
  96.  
  97.   - Ein Modul kann maximal 6 andere Module importieren
  98.  
  99.   - Der Editor kann höchsten 200 Zeilen Text bearbeiten
  100.  
  101. Es ist sicher für Hacker kein Problem, diese Einschränkungen
  102. herauszupatchen. Jede Änderung an den Programmen, Texten und sonstigen
  103. mitgelieferten Datein ist jedoch untersagt, sowie der Besitz, die
  104. Verwendung oder Verbreitung von veränderten Versionen der Programme und
  105. Dateien. Es ist sicher einfacher, sich eine Raubkopie des Compilers zu
  106. besorgen, als die Einschränkungen herauszupatchen. Strafbar macht man sich
  107. dabei gleichermaßen.
  108.  
  109.  
  110. Die Diskette enthält folgende Dateien:
  111.  
  112.   LiesMich:         Diese Datei
  113.  
  114.   ReadMe:           Englische Dokumentation
  115.  
  116.   Oberon-Report:    Der Revised-Oberon-Report, direkt von der ETH Zürich
  117.  
  118.   ModulaToOberon:   Der Text "From Modula To Oberon", auch von der ETH.
  119.  
  120.   Install:          Script-File zur einfachen Installation des Compilers
  121.  
  122.   Oberon:           Der Compiler
  123.  
  124.   OLink:            Utility zum Linken von Oberon-Programen, ohne alle
  125.                     Modulnamen in BLink eintippen zu müssen.
  126.  
  127.   OEd:              Der Editor zum Compiler
  128.  
  129.   OErr:             Sind während der Compilation eines Programms Fehler auf-
  130.                     getreten, können sie mit diesem Programm angesehen werden.
  131.  
  132.   ExeIcon:         IconX-Ähnliches Programm
  133.  
  134.   BLink:            Der Linker
  135.  
  136.   BLink.doc:        Englische Dokumentation zum Linker
  137.  
  138.   Path:             Pfaddatei für Compiler und OLink
  139.  
  140.   Fehler-Meldungen: Die Fehlermeldungen. Wird von OEd und OErr beim Anzeigen
  141.                     von Fehlern gebraucht.
  142.  
  143.   Demos (dir):      Demoprogramme:
  144.  
  145.       Pute:     CLI-Taschenrechner, berechnet INTEGER-Ausdrücke wie
  146.                        103 MOD 32 * (98 DIV 3) DIV 2 - 7
  147.       Cube:     3D-Demo: Würfel
  148.       Amok:     3D-Demo: AMOK-Schriftzug
  149.       Sparks:   Liniendemo
  150.       Hello:    Einfaches Hello-World Demo
  151.  
  152.   Icons (dir):      Dieses Directory enthält die Icons der Oberondateien.
  153.                     Diese werden vom Compiler, Linker etc. bei bedarf
  154.                     kopiert.
  155.  
  156.   c (dir):          Commando-Directory, enthält nur MuchMore
  157.  
  158.   libs (dir):       Zusätzlich benötigte Library: arp.library
  159.  
  160.   sym, obj (dir):   Symbol- und Objektdateien der mitgelieferten Module.
  161.                     Außer den Amiga-Interfacemodulen sind folgende Module
  162.                     enthalten:
  163.  
  164.                       - OberonLib:  Oberon Basismodul, wird automatisch in
  165.                                     alle Programme eingebunden
  166.  
  167.                       - io:         Standard Ein-/Ausgabe Modul
  168.  
  169.                       - NoGuru:     Wird dieses Modul importiert, werden
  170.                                     Laufzeitfehler im Klartext ausgegeben.
  171.  
  172.   obj (dir):        Objektdateien der mitgelieferten Module
  173.  
  174.   Modules (dir):    Quelltexte der Oberon-Module Intuition.mod, Graphics.mod,
  175.                     Dos.mod und Exec.mod und die automatisch erzeugte Defini-
  176.                     tionsdatei io.def.
  177.  
  178.   Alle Programm dieser Diskette, mit der Ausnahme von BLink, wurden in
  179.   Oberon geschrieben und mit diesem Compiler entwickelt.
  180.  
  181.  
  182. Verwendete Dateinamen:
  183.  
  184.   Die OBERON-Dateien haben folgende Endungen:
  185.  
  186.     Module / Programme:                   '.mod'
  187.     Symboldatei:                          '.sym'
  188.     Objektdatei:                          '.obj'
  189.     Objektdatei, bei kleinem Datenmodell: '.objs'
  190.     Linkdatei (ruft BLink auf):           '.lnk'
  191.     Withdatei für BLink:                  '.wth'
  192.     Executeable:                            ''
  193.  
  194.  
  195. Installation des Compilers:
  196.  
  197.   Der Compiler kann einfach durch Doppelklicken des 'Install'-Icons
  198.   installiert werden. Dabei wird die arp.library (von OEd benötigt) in das
  199.   LIBS:-Verzeichnis kopiert und das logische Device OBERON: auf die
  200.   Oberon-Diskette gesetzt.
  201.  
  202.   Wer vom CLI arbeitet, sollte zudem noch "PATH OBERON: ADD" eingeben.
  203.  
  204.  
  205. Der Editor OEd:
  206.  
  207. Dieser Editor unterstützt besonders die Entwicklung von Oberonprogrammen.
  208. Er kann leicht mit der Maus bedient werden, erlaubt das gleichzeitige
  209. Bearbeiten mehrere Texte, enthält einen Oberon-Syntaxchecker, erlaubt das
  210. Starten von Compiler, Linker und compiliertem Programm und kann die
  211. Fehlermeldungen des Compilers anzeigen.
  212.  
  213.  
  214. Starten von OEd:
  215.  
  216. Aufruf:
  217.  
  218.   OEd {-{i|t#|x#|y#|w#|h#|d#|s|l}} {<Text>}
  219.  
  220. Gestartet wird OEd einfach durch Doppelklick auf sein Icon oder durch
  221. Eingabe von "OEd" im CLI. Werden Argumente übergeben, oder wurden von der
  222. Workbench zuvor Texte angeklickt und OEd mit gedrückter Shift-Taste
  223. doppelgeklickt, dann werden die angewählten Texte automatisch in jeweils
  224. ein Fenster geladen. Beim WB-Start können die Optionen mit Hilfe von
  225. Tool-Types eingestellt werden (Icon anklicken und Info im Menü wählen).
  226.  
  227. Beim Start vom CLI können noch weiter Optionen angegeben werden. '-i'
  228. erzwingt, das Icons erzeugt werden. '-t#' setzt die Tabulatorweite auf '#'.
  229. '-x#', '-y#', '-w#' und '-h#' legen die Größe des OEd-Fensters fest. Ist '-s'
  230. gesetzt, öffnet OEd einen eigenen Screen. '-d#' setzt die Tiefe dieses
  231. Screens und '-l' sorgt dafür, das ein Interlace-Screen geöffnet wird.
  232.  
  233. Die Titelzeile des Textfenster dient als Statuszeile. Sie zeigt wichtige
  234. Informationen, wie Fehlermeldungen, Cursorposition, Textlänge und den
  235. Dateinamen an.
  236.  
  237. Die Tastenbelegung:
  238.  
  239.   Cursortasten (die Tasten mit den Pfeilen):
  240.  
  241.     Wie Sie sich vielliecht schon gedacht haben, kann man mit diesen Tasten
  242.     den Cursor im Text bewegen.
  243.  
  244.     mit Alt: wort / seitenweises Springen
  245.  
  246.     mit Shift: An Text- bzw. Zeilen-Anfang bzw. -Ende.
  247.  
  248.   Backspace (die Taste rechts oben mit dem Pfeil nach links):
  249.  
  250.     löscht Zeichen links vom Cursor.
  251.  
  252.   Del:
  253.  
  254.     löscht Zeichen unter Cursor. Mit Shift: löscht Zeile. Mit
  255.     Control: löscht alles rechts vom Cursor.
  256.  
  257.   Return:
  258.  
  259.     Neue Zeile unterhalb Cursor einfügen.
  260.  
  261.   TAB:
  262.  
  263.     Springt zur nächsten, mit Shift zur vorigen, Tabulatormarke.
  264.  
  265.   Control+'S':
  266.  
  267.     Zerteilt (splittet) Zeile an Cursorposition in 2 Zeilen.
  268.  
  269.   Control+'J':
  270.  
  271.     Vereinigt (joint) 2 Zeilen.
  272.  
  273.  
  274. Die Maus:
  275.  
  276.   Linke Taste Kurz drücken: Cursor setzten.
  277.  
  278.   Linke Taste länger drücken und Maus bewegen: Block markieren.
  279.  
  280.  
  281. Die Menüs:
  282.  
  283.   Das Projekt Menu:
  284.  
  285.     Load  (Amiga + 'L'):        Text Laden
  286.  
  287.     New Window (Amiga + 'W'):   Neues Textfenster öffnen
  288.  
  289.     Save (Amiga + 'S'):         Text unter altem Namen speichern
  290.  
  291.     Save As (Amiga + 'V'):      Text unter neuem Namen speichern
  292.  
  293.     Save block (Amiga + 'O'):   Block speichern
  294.  
  295.     Insert File (Amiga + 'I'):  Textdatei einfügen
  296.  
  297.     Quit (Amiga + 'Q'):         Editor verlassen
  298.  
  299.     About (Amiga + 'J'):        Infos zum Editor ausgeben
  300.  
  301.   Das Search Menu:
  302.  
  303.     Find (Amiga + 'F'):         String einlesen und danach suchen
  304.  
  305.     Next (Amiga + 'N'):         Zum nächsten Vorkommen des Suchstrings
  306.  
  307.     Previous (Amiga + 'P'):     Zum vorigen Vorkommen des Suchstrings
  308.  
  309.     FindRep (Amiga + 'G'):      2 Strings einlesen: Danach 1. durch 2.
  310.                                 String ersetzen
  311.  
  312.     NextRep (Amiga + 'R'):      Nächstes Vorkommen von String 1 durch
  313.                                 String 2 ersetzen
  314.  
  315.     PrevRep (Amiga + 'H'):      Voriges Vorkommen von String 1 druch String
  316.                                 2 ersetzen
  317.  
  318.   Das Block Menu:
  319.  
  320.     Begin (Amiga + 'B'):        Block-Anfang-Marke setzen
  321.  
  322.     End (Amiga + 'E'):          Block-Ende-Marke setzen
  323.  
  324.     Copy (Amiag + 'Y'):         Block kopieren
  325.  
  326.     Move (Amiga + 'M'):         Block verschieben
  327.  
  328.     Delete (Amiga + 'D'):       Block löschen
  329.  
  330.     TAB right (Ctrl + 'R'):     Block um TAB nach rechts
  331.  
  332.     TAB left (Ctrl + 'L'):      Block um TAB nach links
  333.  
  334.     Unmark (Amiga + 'U'):       Blockmarkierung löschen
  335.  
  336.   Das Oberon Menu:
  337.  
  338.     Parse (Amiga + 'A'):        Oberonsyntax überprüfen. Evt. zur
  339.                                 fehlerhaften Stelle springen. Mit Parse
  340.                                 können Syntaxfehler schnell gefunden
  341.                                 werden, bevor ein Text compiliert wird.
  342.  
  343.     Compile (Amiga + 'C'):      Compiliert den Text. Dieser muß zuvor
  344.                                 abgespeichert werden.
  345.  
  346.     Link (Amiga + 'K'):         Linkt den compilierten Text mit OLink
  347.  
  348.     Execute (Amiga + 'X'):      Führt das gelinkte Programm aus.
  349.  
  350.     Next Error (Amiga + 'T'):   Traten bei Compilation Fehler auf, springt
  351.                                 'Next Error' zum nächsten Fehler hinter der
  352.                                 Cursorposition. Fehler wird in Statuszeile
  353.                                 angezeigt.
  354.  
  355.     First Error (Amiga + 'Z'):  Springt zum ersten Fehler
  356.  
  357.  
  358. Der Compiler Oberon:
  359.  
  360.  
  361. Start des Compilers:
  362.  
  363.  
  364. Aufruf aus dem Editor:
  365.  
  366.   Im Editor kann der Compiler einfach durch Anwahl des Menüpunktes
  367.   'Compile' gestartet werden.
  368.  
  369.  
  370. Aufruf vom CLI:
  371.  
  372.   Wer mit dem CLI arbeitet, sollte das aktive Verzeichnis mit dem
  373.   CLI-Befehl 'CD' zunächst auf das Verzeichnis setzen, das die Quelltexte
  374.   oder das 'txt'-Unterverzeichnis enthält.
  375.  
  376.   Der Compiler benötigt normalerweise mehr als 4 KByte Stapelspeicher. Der
  377.   Stapel sollte daher mit dem CLI-Commando 'stack' auf 10000 bis 20000
  378.   Bytes gesetzt werden.
  379.  
  380.   Nun kann der Compiler mit folgender Syntax gestartet werden:
  381.  
  382.     Oberon { [-dmsvbcrnti] <Quelltext> }
  383.  
  384.   <Quelltext> ist der Text, der compiliert werden soll. Dabei kann die
  385.   Endung '.mod' weggelassen werden. Befindet sich der Quelltext in dem
  386.   Unterverzeichnis mit dem Namen 'txt', wird er automatisch von dort
  387.   geholt.
  388.  
  389.   Die Optionen ('[-dmsvbcrnti]') beziehen sich auf alle Quelltexte, die
  390.   rechts von ihnen stehen. Sie haben folgende Wirkung:
  391.  
  392.     Option   Wirkung
  393.  
  394.      '-d'    Kleines Daten-Modell, erzeugt reentrante (pure) Programme
  395.              maximal 32K globale Variablen
  396.      '-m'    Kleines Code-Modell, maximal 32K Code.
  397.      '-s'    Stackkontrolle ausschalten
  398.      '-v'    Überlaufskontrolle ausschalten
  399.      '-b'    Bereichskontrolle ausschalten
  400.      '-c'    Caseindex-kontrolle ausschalten
  401.      '-r'    Returnkontrolle ausschalten
  402.      '-n'    Nil-Zeiger-Kontrolle ausschalten
  403.      '-t'    Typkontrolle ausschalten
  404.      '-i'    Icons erzeugen
  405.  
  406.   Wurde der Compiler ohne Parameter gestartet, gibt er den Prompt 'in>' aus
  407.   und wartet auf die Eingabe des Quelltextnamens. Verlassen wird der
  408.   Compiler dann einfach durch Drücken von <Return>.
  409.  
  410.  
  411. Aufruf von der Workbench:
  412.  
  413.   Wird der Compiler von der Workbench gestartet, müssen die Quelltext bei
  414.   gedrückter Shift-Taste angeklickt und danach der Compiler doppelgeklickt
  415.   werden.
  416.  
  417.   Von der Workbench sollte der Compiler nicht ohne Parameter aufgerufen
  418.   werden, da er dann die Objekt- und Symboldatein nicht in das Verzeichnis
  419.   schreibt, in dem sich die Quelltexte befinden, sondern in das
  420.   Verzeichnis, in dem sich der Compiler selbst befindet. Dies ist meist
  421.   nicht erwünscht.
  422.  
  423.  
  424.  
  425. OLink:
  426.  
  427.  
  428.   OLink vereinfacht den Aufruf von BLink. Wer mit der Workbench arbeitet
  429.   kann OLink starten, indem er einfach das Icon der vom Compiler erzeugten
  430.   Objektdatei doppelklickt.
  431.  
  432.  
  433.   Vom CLI ist der Aufruf folgendermaßen:
  434.  
  435.     OLink [-bsmdi] <Objektdatei>
  436.  
  437.   Objektdatei ist die vom Compiler erzeugte Objektdatei des Hauptmoduls.
  438.  
  439.   Die Optionen haben folgende Funktion:
  440.  
  441.     -b   BLink nicht starten
  442.  
  443.     -s   BLINK mit Optionen SMALLCODE und SMALLDATA aufrufen.
  444.  
  445.     -m   sollte gesetzt werden, wenn mit kleinem Code-Modell compiliert wurde
  446.  
  447.     -d   muß gesetzt werden, wenn mit kleinem Daten-Modell compiliert wurde
  448.  
  449.     -i   Icons erzeugen
  450.  
  451.  
  452. OErr:
  453.  
  454.  
  455.   OErr zeigt die Fehler an, beim Compilieren aufgetreten sind.
  456.  
  457.   Aufruf:  OErr {Quelltext}.
  458.  
  459.  
  460. Abweichungen vom OBERON-Report:
  461.  
  462.  
  463.   - Speicher wird wie in Pascal mit NEW() und DISPOSE() verwaltet und nicht
  464.     mit Garbagecollections. Ich denke, daß eine Implementierung des
  465.     Garbage-Collection System auf dem Amiga kaum möglich und wenig sinnvoll
  466.     ist.
  467.  
  468.   - Die Typeguards werden während der Compilationszeit und nicht, wie auf
  469.     der CERES (Oberon-Rechner der ETH Zürich)  Maschine, während des Ladens
  470.     eines Programms festgelegt.
  471.  
  472.  
  473. Copyright:
  474.  
  475.   Diese Diskette darf frei kopiert werden. Sie darf unverändert
  476.   weitergegeben werden, solange dafür keine Gebühren verlangt werden.
  477.  
  478.   Es dürfen keine Änderungen an den Programmen und den Dateien dieser
  479.   Diskette vorgenommen werden. Veränderte Versionen dieser Programme dürfen
  480.   weder verwendet noch weiter verbreitet werden.
  481.  
  482.   Die Programme dürfen nur zusammen mit der gesamten Diskette weitergegeben
  483.   werden. So ist es z.B. untersagt, den Editor herunterzunehmen und allein
  484.   weiterzugeben, obwohl der Editor auch ohne den Compiler funktionsfähig
  485.   ist.
  486.  
  487.   Die Texte von Niklaus Wirth dürfen auch allein verbreitet und z.B. in
  488.   Mailboxen hochgeladen werden. Dabei dürfen sie jedoch nicht verändert
  489.   werden und es sollte sichergestellt werden, daß sie nicht verändert
  490.   werden (durch eine entsprechende Notiz).
  491.  
  492.   BLink und BLink.doc stammen von der Software Distillery. Sie dürfen auch
  493.   ohne diese Diskette, jedoch nur zusammen und unverändert, vertrieben
  494.   werden.
  495.  
  496.   Alle anderen Dateien sind © 1989/1990 by Fridtjof Siebert
  497.                                            Nobileweg 67
  498.                                            D-7000 Stuttgart 40.
  499.                                            Deutschland
  500.  
  501.   Unrechtmäßige Verwendungen der Dateien werde ich strafrechtlich verfolgen
  502.   lassen.
  503.  
  504.   Für Hinweise auf Fehler in meinen Programmen bin ich jederzeit dankbar.
  505.   Ich kann nicht garantieren, daß ich genügend Zeit finde, mich mit allen
  506.   Zuschriften zu befassen. Daher bitte ich darum, Anfragen an die A+L AG zu
  507.   richten, und mich nicht unnötig vom Programmieren abzuhalten. Ich nehme
  508.   keine telofonischen Anfragen entgegen.
  509.  
  510.   Der Autor übernimmt keinerlei juristische Verantwortung oder Haftung
  511.   jeglicher Art für die Korrektheit und Tauglichkeit der Programme und
  512.   Dateien. Für Schäden, die auf die Verwendung der Programme oder Dateien
  513.   zurückzuführen sind, kann der Autor nicht haftbar gemacht werden.
  514.  
  515.  
  516. Voll funktionsfähige Compilerversion:
  517.  
  518.   Der voll funktionsfähige Compiler wird vorraussichtlich im September 1990
  519.   erscheinen. Er kann dann bei der
  520.  
  521.      A+L AG
  522.      Im Däderiz 61
  523.      CH-2540 Grenchen
  524.  
  525.   bestellt werden. Diese Version wird mit einer ausführlichen gedruckten
  526.   Dokumentation, weiteren Hilfsprogrammen, vielen Bibliotheksmodulen und
  527.   einem kompletten Interface zu den Amiga Betriebssystemroutinen (inklusive
  528.   ARP) ausgeliefert.
  529.  
  530.  
  531. --- Fridtjof
  532.  
  533.