                                                          22. August 1992


              [1;33;4mAmiga Oberon 3.00 (eingeschrnkte Version)[m


[1;33mVorwort:[m

  Vor Ihnen liegt eine frei  kopierbare  Demo-Version  eines  leistungsfhigen
  Compilers   fr   Oberon-2,   eine   der    modernsten    objektorientierten
  Programmiersprachen. Oberon-2 ist  die  neuste  Entwicklung  von  Prof.  Dr.
  Niklaus Wirth und Prof. Dr. Hanspeter Mssenbck von der ETH  Zrich.  Diese
  Sprache entstand dort innerhalb eines Projekts, das sich  das  Ziel  setzte,
  die   Leistungsfhigkeit   der   Sprache   Modula-II   zu   vergrern   und
  gleichzeitig ihre Komplexitt  zu  verringern.  Dazu  wurde  Oberon  um  das
  Konzept   der    Typerweiterung    ergnzt,    wodurch    objektorientiertes
  Programmieren hnlich wie  in  Smalltalk  oder  C++  mglich  wird,  whrend
  jedoch  die  gewohnte  Notation  aus  Modula-II  und   Pascal   grtenteils
  beibehalten wird.
  
  Dieser Compiler hat einige herausragende Fhigkeiten, die von anderen
  Compilern kaum erreicht werden:
  
    - Der Compiler ist durch das Single-Pass Konzept sehr schnell. Dennoch
      erzeugt er durch eine sorgfltige Auswahl an Optimierungen kurzen und
      schnellen Code.
  
    - Der Speicher der compilierten Programme wird ber einen Garbage-Collector
      verwaltet. Auf diese Weise ist es nicht mehr ntig, und auch nicht
      mglich, angeforderten Speicher explizit freizugeben. Der Garbage-
      Collector untersucht den Speicher whrend das Programm luft und gibt
      nicht mehr bentigte Objekte automatisch frei. Dadurch ist man sicher vor
      schweren Programmfehlern wie dem Freigeben von Speicher, auf den spter
      noch zugegriffen wird.
  
    - Die Objektdateien sind BLink- kompatibel. Dadurch sind sie sehr flexibel
      einsetzbar und die Einbindung von Routinen aus anderen Sprachen, wie
      Assembler und C, wird leichter mglich.
  
    - Oberonprogramme werden optimierend gelinkt. Es kommen also keine
      Prozeduren, die niemals aufgerufen werden, in das ausfhrbare Programm,
      so da dieses meist recht kurz wird. Ein 'leeres' Oberonprogramm ist
      zum Beispiel weniger als ein halbes Kilobyte lang.
  
    - Programme, die mit diesem Compiler entwickelt wurden, sind sehr sicher
      im Laufzeitverhalten, da der Compiler massiv berprfungscode einsetzt,
      um mglichst alle Fehler abzufangen. Fehler fhren in den meisten
      Fllen nicht zur Guru-Meditation, sondern werden durch das
      Laufzeitsystem abgefangen.
  
    - Um problemlos auf das Amiga-Betriebssystem und alle Resourcen zugreifen
      zu knnen, wurde die Sprache um Amiga-spezifische Typen und Konstrukte
      ergnzt. Die objektorientierte Struktur des AmigaOS wird auch in Oberon
      deutlich und leicht nutzbar.
  
    - Es stehen viele Bibliotheksmodulen zur Verfgung und es werden stndig
      neue Module geschrieben, die dann als Zusatzpakete erhltlich sein
      werden, oder auf Public Domain Disktten erscheinen. Die AMOK-Serie
      bietet schon eine Reihe an Modulen, so z.B. Routinen zum Laden und
      Speichern von IFF-Grafiken
  
    - Alle Oberonprogramme knnen resident geladen werden.
  
    - Dieser Compiler erzeugt voll reentrante (pure) Programme durch das
      Setzen einer Compileroption. Die einzige Einschrnkung dabei ist, da
      der Bereich der globalen Variablen kleiner als 32K sein mu.
  
    - Der Compiler erzeugt wahlweise fr die Prozessoren 68010, 68020,
      68030 und die FPU 68881/68882 optimierten Code. Die FPU kann voll
      ausgenutzt werden, es werden z.B. auch direkt die trigonometrischen
      Befehle ausgenutzt.
  
    - Der Compiler untersttzt bedingte Compilation

    - speicherresidente Symboldateien verkrzen die Compilationszeit

    - Zu Amiga Oberon ist ein leistungsfhiger Runtime-Source-Level-Debugger
      erhltlich.

  Dieses Oberon-System ist also ein ideales Werkzeug, um effektiv  kleine  und
  groe Programme auf dem Amiga zu entwickeln.  Durch  die  objektorientierten
  Eigenschaften kann eine einmal aufgebaute Modulbibliothek  leicht  fr  neue
  Projekte verwendet und die frher definierten Objekte knnen leicht  an  die
  neuen Aufgaben angepasst werden.


[1;33mEinschrnkungen der Demo-Version:[m

  Diese Version des Compilers soll Sie in die Lage versetzen, ein paar kleine
  Programme in Oberon zu schreiben und etwas in den Compiler und seine
  Fhigkeiten hineinuzuschnuppern.
  
  Es wurden jedoch eine Reihe an Einschrnkungen eingebaut, die ein
  sinnvolles Arbeiten ber lngere Zeit und an greren Projekten unmglich
  machen sollen.
  
  Die Einschrnkungen sind im Einzelnen:
  
    - Es wird nur ein kleiner Teil der Modulbibliothek und der Amiga
      Interface-Module mitgeliefert
  
    - Die Anleitung ist knapp und wenigsagend gehalten und zudem nicht
      gedruckt. Das Handbuch zuer Vollversion umfat ber 400 Seiten.
  
    - Der Compiler luft Montags nicht
  
    - Die Lnge des Quelltextes je Modul darf hchstens 10KB betragen
  
    - Der erzeugte Programmcode je Modul darf hchstens 5KB betragen
  
    - Der Bereich der globalen Variablen je Modul ist auf 3KB beschrnkt
  
    - Ein Modul kann maximal sieben andere Module importieren
  
    - Der Editor kann hchsten 200 Zeilen Text bearbeiten
  
    - Das Paket enthlt nur die Objektdateien fr das kleine Datenmodell, so
      da das groe nicht verwendet werden kann.
  
    - Das Paket enthlt nur die Objektdateien fr die Compilation mit
      Garbage-Collector, so da die Verwendung des Garbage-Collectors nicht
      abgeschaltet werden kann.

    - Laufzeitfehler fhren bei dieser Version zwar zum Programmabbruch,
      jedoch nicht zu einer sinnvollen Fehlermeldung.
  
    - Im Debugger knnen maximal 50 Aktionen ausgefhrt werden, danach bricht
      er ab.
  
  Es ist sicher fr Hacker kein Problem, diese Einschrnkungen
  herauszupatchen. Jede nderung an den Programmen, Texten und sonstigen
  mitgelieferten Dateien ist jedoch untersagt, sowie der Besitz, die
  Verwendung oder Verbreitung von vernderten Versionen der Programme und
  Dateien. Es ist sicher einfacher, sich eine Raubkopie des Compilers zu
  besorgen, als die Einschrnkungen herauszupatchen. Strafbar macht man sich
  dabei gleichermaen.


[1;33mDie Disketten enthlten folgende Dateien:[m

  [1mDisk 1: OberonDemo_3.0_Disk1[m
  
    [1mLiesMich[m:         Diese Datei, enthlt eine kurze Beschreibung der
                      Programme des Amiga Oberon Systems

    [1mOberon-Bericht[m:   Der Oberon-Report (deutsch), direkt von der ETH Zrich
  
    [1mModulaToOberon[m:   Der Text "From Modula To Oberon" (englisch), auch von
                      der ETH.
  
    [1mOberon-2.txt[m:     Die (englische) Beschreibung der Sprache Oberon-2, von
                      der ETH Zrich
  
    [1mInstall[m:          Script-File zur einfachen Installation des Compilers
  
    [1mOberon[m:           Der Compiler, er bersetzt Quelltexte in Objektdateien
  
    [1mOLink[m:            Der Linker, er fgt Objektdateien zu ausfhrbaren
                      Programmen zusammen.
  
    [1mOEd[m:              Der Editor fr die Eingabe der Quelltexte

    [1mOEd_Keys.txt[m:     Textdatei, beschreibt OEds Tastaturbelegung

    [1mOEd_Menu.txt[m:     Textdatei, beschreibt OEds Men

    [1mOEdRexxHelp.txt[m:  Hilstext, beschreibt ARexx-Kommandos von OEd

    [1mOErr[m:             Sind whrend der Compilation eines Programms Fehler auf-
                      getreten, knnen sie mit diesem Programm angesehen werden.
  
    [1mPath:[m             Pfaddatei fr Compiler und OLink
  
    [1mFehler-Meldungen:[m Die Fehlermeldungen. Wird von OEd und OErr beim Anzeigen
                      von Fehlern gebraucht.
  
    [1mResidentManager:[m  Dieses Tool bewirkt, das die Symboldateien speicher-
                      resident gehalten werden. Dadurch werden deutlich
                      weniger Zugriffe auf die Harddisk bzw. Diskette ntig,
                      so da die Compilierzeiten stark verkrzt werden.
  
    [1mResidentModules:[m  Text-Datei, die die Namen der Module enthlt, deren
                      Symboldateien resident gehalten werden sollen. 'all'
                      bewirkt, da alle Symboldateien resident sind.
  
    [1mODebug:[m           Der Laufzeit-Debugger
  
    [1mIcons     (dir)[m:  Dieses Directory enthlt die Icons der Oberondateien.
                      Diese werden vom Compiler, Linker etc. bei bedarf
                      kopiert.
  
    [1mlibs      (dir)[m:  Zustzlich bentigte Libraries:
                        oberonsupport.library       (ldt Symboldateien)
                        garbagecollector.library    (der Garbage-Collector)
                        arp.library                 (fr File-Requester)
  
    [1mExeIcon[0m:         IconX-hnliches Programm
  
  [1mDisk 2: OberonDemo_3.0_Disk2[m
  
    [1mBeispiele (dir)[m:  Beispielprogramme
  
        [1mTetriz[m:   Kleines Workbench-Spiel
  
    [1msym, obj  (dir)[m:  Symbol- und Objektdateien der mitgelieferten Module.
  
    [1mDefinitionen (dir)[m:  Enthlt Pseudo-Definitionsdateinen einiger mitgelie-
                        ferter Module
  
    Alle Programm dieser Diskette, wurden in Oberon geschrieben und mit diesem
    Compiler entwickelt.
  
    Die Programme sind alle residentfhig (pure).


[1;33mVerwendete Dateinamen:[m

  Die OBERON-Dateien haben folgende Endungen:

    Quelltext                             '.mod'
    Symboldatei                           '.sym'
    Objektdatei                           '.obj'
    Objektdatei bei kleinem Datenmodell   '.objs'
    Referenzdatei fr ODebug              '.ref'
    Ausfhrbares Programm                   ''


[1;33mInstallation des Compilers:[m

  Der Compiler kann einfach durch Doppelklicken des 'Install'-Icons
  installiert werden. Dabei werden die bentigten Libraries in das
  LIBS:-Verzeichnis kopiert und das logische Verzeichnis OBERON: wird auf
  die erste OberonDemo-Diskette gesetzt.
  
  Wer vom CLI arbeitet, sollte zudem noch "PATH OBERON: ADD" eingeben.


[33;1mDer Editor OEd:[m

  Dieser Editor untersttzt besonders die Entwicklung von Oberonprogrammen.
  Er kann leicht mit der Maus bedient werden, erlaubt das gleichzeitige
  Bearbeiten mehrere Texte, enthlt einen Oberon-Syntaxchecker, erlaubt das
  Starten von Compiler, Linker und compiliertem Programm und kann die
  Fehlermeldungen des Compilers anzeigen.

  [1mInstallation[m
  
  Damit OEd arbeiten kann,  mssen  sich  die  Dateien  'OEd_Keys. txt'  und
  'OEd_Menu.txt' in dem  Verzeichnis 'OBERON:'  befinden.  Auf  Amigas,  die
  noch unter AmigaOS 1.3 oder noch lteren Versionen des  AmigaOS  arbeiten,
  bentigt  OEd  zudem  die  arp. library  im  Verzeichnis ' LIBS:'.   Viele
  Kommandos bentigen ARexx, soda ARexx korrekt  installiert  sein  sollte.

  [1mStarten von OEd:[m

  Aufruf:
  
    OEd {-{i|t#|x#|y#|w#|h#|d#|s|l|u#|o|a}} {<Text>}
  
  Gestartet wird OEd einfach durch Doppelklick auf sein Icon oder durch
  Eingabe von "OEd" im CLI. Werden Argumente bergeben, oder wurden von der
  Workbench zuvor Texte angeklickt und OEd mit gedrckter Shift-Taste
  doppelgeklickt, dann werden die angewhlten Texte automatisch in jeweils
  ein Fenster geladen. Beim WB-Start knnen die Optionen mit Hilfe von
  Tool-Types eingestellt werden (Icon anklicken und Info im Men whlen).
  
  Beim Start vom CLI knnen noch weiter Optionen angegeben werden. '-i'
  erzwingt, das Icons erzeugt werden. '-t#' setzt die Tabulatorweite auf '#'.
  '-x#', '-y#', '-w#' und '-h#' legen die Gre des OEd-Fensters fest. Ist '-s'
  gesetzt, ffnet OEd einen eigenen Screen. '-d#' setzt die Tiefe dieses
  Screens und '-l' sorgt dafr, das ein Interlace-Screen geffnet wird. '-u#'
  setzt die Maximalzahl der fr 'undo' gespeicherten Textnderungen. '-o'
  deaktiviert den Layout-Moduls, '-a' aktiviert den Menpunkt 'Auto
  Uppercase'.


  [1mGewhnliches Arbeiten mit OEd[m

  Der Editor verhlt sich hnlich wie  viele  andere  Texteditoren  fr  den
  Amiga auch. Eine Schreibmarke (Cursor) markiert die aktuelle  Position  im
  Text. Gewhnliche Tasten  fgen  das  ihnen  zugeordnete  Zeichen  an  der
  aktuellen Position ein. Mit der Return-Taste wird  eine  Zeile  unter  der
  aktuellen Zeile  eingefgt  und  die  Schreibmarke  wird  in  diese  Zeile
  gesetzt.

  Die Rck- und die Lschtaste lschen das Zeichen links  neben  bzw.  unter
  der Schreibmarke. Die Umschalttaste zusammen mit  diesen  Tasten  gedrckt
  lschen die aktuelle Zeile. Alt zusammen mit diesen  Tasten  lschen  alle
  Zeichen links bzw. rechts und unter  der  Schreibmarke  bis  zum  nchsten
  Wortanfang. Steuerung (Ctrl) und diese Tasten  lschen  alle  Zeichen  der
  aktuellen Zeile links bzw. rechts und unter der aktuellen Position.

  Mit den Pfeiltasten kann  die  Schreibmarke  zeichenweise  bewegt  werden.
  Zusammen mit der Umschalttaste wird sie an den Anfang  bzw.  an  das  Ende
  des Textes (Tasten hoch und  runter)  oder  der  aktuellen   Zeile (Tasten
  links  und  rechts)  gesetzt.  Alt  und  die   Pfeiltasten   bewegen   die
  Schreibmarke  seiten-  bzw.   wortweise   in   die   angegebene   Richtung.
  Steuerung und diese Tasten bewegen den Text um  eine  Position  wobei  die
  Schreibmarke ihre Position auf dem Bildschirm beibehlt.

  Mit den Symbolen am rechten Rand des  OEd- Fensters  kann  man  sich  auch
  leicht durch den Text bewegen.


  [1mDas Project-Men:[m

  Load... ffnet ein Dateiauswahlfenster, mit dem eine  neue  Datei  geladen
  werden kann. New Window... ffnet ein neues leeres Textfenster.  Mit  Save
  und Save as... wird der Text  unter  dem  alten  bzw.  einem  neuen  Namen
  gespeichert. Der markierte Block (siehe unten)   wird  mit  Save  Block...
  in eine Datei  gespeichert,  Insert  File...  fgt  eine  Datei  ber  der
  aktuellen Zeile ein.

  Mit  den  Print- Menpunkten  kann  der  Text  bzw.  der  markierte  Block
  ausgedruckt werden. Bei Print As... und Print  Block  As...  knnen  dabei
  noch zustzlich die Druckeinstellungen verndert werden.

  Sind mehrere Textfenster geffnet, so knnen einzelne zeitweise  mit  Hide
  geschlossen  und  spter  mit  Reveal...  wieder  angezeigt  werden.  Dazu
  ffnet  Reveal...  ein  Dialogfenster,  in   dem   der   gewnschte   Text
  ausgewhlt werden kann.

  Unter AmigaOS 2.0 kann mit  Screen  Mode...  der  Bildschirmmodus  gewhlt
  werden, wenn OEd einen eigenen Bildschirm ffnet.

  Quit schliet das aktive OEd-Fenster. About... zeigt die Version  von  OEd
  und Informationen ber das Copyright an.

  [1mSuchen und Ersetzen[m

  Mit den Punkten des Search-Mens kann nach Text  gesucht  und  dieser  auf
  verschiedene Arten  durch  einen  anderen  Text  ersetzt  werden.  Find...
  ffnet ein Dialogfenster, mit den ein  Suchtext  eingegeben  werden  kann.
  Zudem   kann   hier   gewhlt   werden,   ob   Gro-  und  Kleinschreibung
  unterschieden werden soll (Case- Sensitiv),  ob  vorwrts  oder  rckwrts
   und  ob  wortweise  oder  zeichenweise  gesucht  werden  soll.  Wird  das
  Dialogfenster mit dem Symbol 'ok'  verlassen,  so  wird  die  Schreibmarke
  auf das nchste Vorkommen des Suchtextes gesetzt.

  Next und Previous suchen nach dem nchsten bzw. vorherigen  Vorkommen  des
  Suchtextes und setzen die Schreibmarke  an  die  Position  des  gefundenen
  Textes.

  Suchen  und  Ersetzen  ist  mit  Find- Replace...  mglich.  Es  wird  ein
  Dialogfenster  geffnet,  das  auer  den  Symbolen  des   Find...-Dialog-

  fensters  noch  die  Eingabe  eines  Ersetztextes  erlaubt  und  die  Wahl
  zwischen alle und  einzeln  ersetzen  ermglicht.  Nach  dem  Beenden  des
  Dialogfensters mit dem Symbol 'ok' wird nach dem  nchsten  Vorkommen  des
  Suchtextes gesucht. War  einzeln  angewhlt,  so  wird  dieses  durch  den
  Ersetztext ersetzt und  danach  die  Operation  abgebrochen.  War  dagegen
  alle gewhlt, so wird in  einem  zweiten  Dialogfenster  gefragt,  ob  der
  gefunden Text ersetzt werden  soll ( ja!)  oder  nicht ( nein!),  ob  alle
  folgenden Vorkommen ohne Rckfrage ersetzt werden sollen ( alle)  oder  ob
  die Operation abgebrochen werden soll (beenden). Damit die  Symbole  nicht
  umstndlich mit der  Maus  angefahren  werden  mssen,  gengt  hier  auch
  jeweils die Eingabe des  Anfangsbuchstabe, also 'j',  'n',  'a'  oder  'b'
  von der Tastatur.

  Next-Replace und Previous- Replace  ersetzen  das  nchste  Vorkommen  des
  Suchtextes hinter bzw. vor der Schreibmarke.

  Mit Find Word kann nach  dem  nchsten  Vorkommen  des  Wortes  unter  der
  Schreibmarke gesucht werden.

  Die  letzten  beiden  Menpunkte  Case  sensitive   und   Word   by   Word

  entsprechen  den  Symbolen   Case-Sensitiv   und   wortweise   des   Find-
  Dialogfensters.

  [1mBlcke bearbeiten[m

  Ein Block ist ein Teil des Textes, der  durch  eine  besondere  Markierung
  vom Rest des Textes abgehoben wird. Ein Block  kann  mit  der  Maus  durch
  Anwhlen des Anfangs, gedrckt halten der linken Maustaste,  Anfahren  des
  gewnschten  Endes  und  loslassen  der  Maustaste  markiert  werden.  Ein
  andere Mglichkeit besteht darin, den  Blockanfang  mit  der  Schreibmarke
  anzufahren Begin aus dem Block-Men anzuwhlen, die Schreibmarke  auf  das
  Ende zu setzen und  End  anzuwhlen.  Soll  der  gesamte  Text  als  Block
  markiert werden, reicht es,  Mark  All  anzuwhlen.

  OEd  unterscheidet  zwischen   mehrzeiligen   Blcken   und   horizontalen
  Blcken, die sich nur ber einen Teil einer Zeile erstrecken.

  Copy Block kopiert den markierten Block  an  die  aktuelle  Position.  Ein
  mehrzeiliger  Block  wird  ber  der  aktuellen  Zeile   eingefgt.   Move
  verschiebt den markierten Block von  seiner  ursprnglichen  Position  zur
  aktuellen Position. Delete lscht den markierten Block.

  Cut und Copy kopieren den Block in den  Zwischenspeicher  des  Clipboards.
  Cut lscht  ihn  zudem  aus  dem  Text.  Paste  fgt  den  Block  aus  dem
  Zwischenspeicher an der aktuellen Position wieder  ein.  Auf  diese  Weise
  kann ein Block auch zwischen mehreren Textfenstern kopiert werden.

  TAB right und TAB  left  verschieben  den  markierten  mehrzeiligen  Block
  ber eine Tabulatorweite nach rechts bzw. links.

  Unmark lscht die Blockmarkierung.


  [1mDas Special-Men[m

  Mit Enter Rexx Cmd... kann ein  kleines  ARexx-  Programm  eingegeben  und
  ausgefhrt werden. Execute Rexx  Cmd  fhrt  das  bei  Enter  Rexx  Cmd...
  eingegebene ARexx-Programm  nochmals  aus.  Stop  Rexx  (HI)  startet  das
  Programm  'HI',  da  alle  ARexx-  Programm  abbricht.  Dies  kann   dazu
  verwendet werden, ein fehlerhaftes ARexx- Programm,  das  bei  Enter  Rexx
  Cmd... eingegeben wurde, anzuhalten.

  Goto Line... ffnet ein Dialogfenster, in das eine Zeilennummer eingegeben
  werden kann. Wird das Fenster mit dem Symbol 'ok' verlassen, so  wird  die
  Schreibmarke in die Zeile mit dieser  Nummer  gesetzt.  Goto  Last  Change
  setzt die Schreibmarke an die Position, an der sie  war,  als  die  letzte
  nderung am Text vorgenommen wurde.


  Befindet  sich  die  Schreibmarke   auf   einer   runden,   eckigen   oder
  geschweiften Klammer, so wird sie von Matching Bracket auf die  entsprech-
  ende (ffnende bzw. schlieende)  Klammer gesetzt.

  Change Case wandelt das  Zeichen  unter  der  Schreibmarke  von  Gro-  in
  Kleinschreibung und umgekehrt.

  Undo macht die letzte  Textnderung  rckgngig,  Redo  macht  das  letzte
  Undo rckgngig. Undo All macht  alle  gespeicherten  Textnderungen  seit
  dem letzten Speichern rckgngig. Redo All macht alle  zuvor  ausgefhrten
  Undo und Undo All rckgngig. Clear  All  Undos  kann  bei  Speichermangel
  verwendet werden. Es gibt den fr das Merken  der  Textnderungen  ntigen
  Speicher frei. Danach ist Undo  und  Redo  der  bisherigen  Textnderungen
  nicht mehr mglich.

  Undelete Line fgt die zuletzt mit der Umschalttaste und  der  Rck-  bzw.
  der Lschtaste gelschte Zeile ber der aktuellen Zeile ein.

  [1mMakros[ m

  Ein  Makro  ist  eine  kurze  Folge  von  Editorbefehlen,   die   beliebig
  ausgefhrt werden knnen. Mit Start Learning  beginnt  OEd  alle  Eingaben
  als Makro aufzuzeichnen. Stop Learning  schliet  diese  Aufzeichnung  ab.
  Danach kann das erzeugt Makro  mit  Play  Macro  beliebig  oft  wiederholt
  abgespielt werden.

  Beispiel: Nehmen wir an, Sie  mten  zehn  mal ' hallo'  schreiben.  Dies
  geschieht am einfachsten mit einem kleinen Macro. Die  whlen  also  Start
  Learning, schreiben 'hallo' und whlen Stop  Learning.  Nun  brauchen  Sie
  lediglich noch neun mal Play Macro auszufhren.

  [1mOberon-Untersttzung[m

  Der Editor soll  vor  allem  die  Programmierung  in  Oberon  erleichtern.
  Daher bietet er die folgenden Menpunkte an:

  Parse untersucht den Text, ob er der Syntax von Amiga Oberon  entspricht.

  Ist dies nicht der Fall, so wird eine entsprechende Fehlermeldung  in  der
  Titelzeile des OEd- Fensters angezeigt. Compile...,  Link...  und  Make...
  starten den Compiler, den Linker bzw. das  Make-  Utility  mit  dem  Namen
  des bearbeiteten Textes als Parameter. Execute... startet das  vom  Linker
  erzeugt Programm. Mit  Compiler  Options...  knnen  Compileroptionen  fr
  bedingte Compilation gesetzt werden. Traten  bei  der  Compilation  Fehler
  auf, so zeigt Next Error die nchste  Fehlermeldung  im  Text  hinter  der
  Schreibmarke an. First  Error  zeigt  die  erste  Fehlermeldung  im  Text.
  Reload Errorfile zwing OEd, die Fehlerdatei neu einzulesen.  Dies  ist  z.
  B. dann ntig, wenn der Text von der Shell aus neu  compiliert  wurde  und
  dabei eine neue Fehlerdatei erzeugt hat.

  [1mDie Compileroptionen[m

  Mit den Punkten des Options-Mens knnen die Compileroptionen gesetzt bzw.
  gelscht werden. Sie  werden  beim  Start  des  Compilers  und  des  Make-
  Utilities direkt den Programmen Oberon bzw. OMake bergeben.

  Die Optionen  SmallCode,  SmallData  und  Garbage- Collector  werden  beim
  Linken auch an OLink bergeben.

  [1mEinstellungen[m

  Mit dem Settings-Men knnen verschiedene  Einstellungen  gewhlt  werden:
  Insert whlt zwischen Einfge- und  berschreibmodus  beim  Schreiben  von
  Text. Layout Mode whlt den Layout-Modus. Ist dieser  Modus  nicht  aktiv,
  so kann man die Schreibmarke in der ersten Spalte nach links  und  in  der
  letzten Spalte einer Zeile nach rechts bewegen. Sie wird dann  jeweils  an
  das Ende der darberliegenden  bzw.  an  den  Anfang  der  nchsten  Zeile
  gesetzt.

  Soll OEd  Piktogramme  fr  die  Texte  erzeugen,  so  mu  Create  Icons?
  angewhlt sein. Wird mit OEd  eine  Amiga- Skript- Datei  geschrieben,  so
  kann Set Skript  Flag?  angewhlt  werden,  damit  das  Script- Flag  beim
  Speichern der Datei gesetzt wird, die Datei also ausfhrbar wird.

  Wird OEd zum Schreiben von elektronischen Briefen verwendet, so  kann  mit
  No Umlauts die Tastaturbelegung so gendert werden, da  die  Umlaute  und
  das Zeichen '' als 'ae', 'oe' etc. und 'ss'  ausgegeben  werden.  Umlauts
  belegt die Tasten wieder mit ihren ursprnglichen Zeichen.



[33;1mDer Compiler Oberon:[m


  [1mStart des Compilers:[m
  
  
  [1mAufruf aus dem Editor:[m

  Im Editor kann der Compiler einfach durch Anwahl des Menpunktes
  'Compile' gestartet werden.


  [1mAufruf von der Workbench:[m

  Wird der Compiler von der Workbench gestartet, mssen die Quelltext bei
  gedrckter Shift-Taste angeklickt und danach der Compiler doppelgeklickt
  werden.

  Von der Workbench sollte der Compiler nicht ohne Parameter aufgerufen
  werden, da er dann die Objekt- und Symboldatein nicht in das Verzeichnis
  schreibt, in dem sich die Quelltexte befinden, sondern in das
  Verzeichnis, in dem sich der Compiler selbst befindet. Dies ist meist
  nicht erwnscht.


  [1mAufruf vom CLI:[m

  Wer mit dem CLI arbeitet, sollte das aktive Verzeichnis mit dem
  CLI-Befehl 'CD' zunchst auf das Verzeichnis setzen, das die Quelltexte
  oder das 'txt'-Unterverzeichnis enthlt.

  Der Compiler bentigt normalerweise mehr als 4 KByte Stapelspeicher. Der
  Stapel sollte daher mit dem CLI-Commando 'stack' auf 10000 bis 20000
  Bytes gesetzt werden.

  Nun kann der Compiler mit folgender Syntax gestartet werden:

    Oberon {-{svbcrnotzmd1238igyae} | ("SET"|"CLEAR") <option> | <source>}

  <Quelltext> ist der Text, der compiliert werden soll. Dabei kann die
  Endung '.mod' weggelassen werden. Befindet sich der Quelltext in dem
  Unterverzeichnis mit dem Namen 'txt', wird er automatisch von dort
  geholt.

  Die Optionen ('-{svbcrnotzmd1238igyae}') beziehen sich auf alle Quelltexte,
  die rechts von ihnen stehen. Sie haben folgende Wirkung:

    Option   Wirkung

     '-s'    Stackkontrolle ausschalten
     '-v'    berlaufskontrolle ausschalten
     '-b'    Bereichskontrolle ausschalten
     '-c'    Caseindex-kontrolle ausschalten
     '-r'    Returnkontrolle ausschalten
     '-n'    Nil-Zeiger-Kontrolle ausschalten
     '-o'    Ungerade-Adressen-Kontrolle einschalten
     '-t'    Typkontrolle ausschalten
     '-z'    lokale Variablen nicht mir 0 vorbelegen
     '-m'    Kleines Code-Modell, maximal 32K Code
     '-d'    Kleines Daten-Modell, maximal 32K an Variablen
     '-1'    Code fr 68010 erzeugen
     '-2'    Code fr 68020 erzeugen
     '-3'    Code fr 68030 erzeugen
     '-8'    Code fr 68881/68882 erzeugen
     '-i'    Icons erzeugen
     '-g'    Referenzdatei und Code fr Debugger erzeugen
     '-y'    Keine neue Symboldatei erzeugen
     '-a'    Garbage-Collector nicht verwenden
     '-e'    Spracherweiterungen nicht benutzen
     SET <option>    Option <option> auf TRUE setzen (bed. Compilation)
     CLEAR <option>  Option <option> auf FALSE setzen (bed. Compilation)

  Wurde der Compiler ohne Parameter gestartet, gibt er den Prompt 'in>' aus
  und wartet auf die Eingabe des Quelltextnamens. Verlassen wird der
  Compiler dann einfach durch Drcken von <Return>.

  Weil diese Demo-Version nur Objektdateien enthlt, die mit dem kleinen
  Datenmodell kompiliert wurden, mu beim Start des Compilers die Option
  '-d' angegeben werden!

  [1mBesonderheiten des Compilers:[m

  Es gibt drei Mengentypen: SHORTSET, SET und LONGSET. Sie haben 8, 16 bzw.
  32 Elemente.

  Hinter dem BEGIN-Anweisungsteil jedes Moduls kann ein Anweisungsteil mit
  CLOSE eingeleitet werden, der beim Beenden des Programms ausgefhrt wird.

  Zeigervariablen knnen vom Typ UNTRACED POINTER TO ... definiert werden.
  Diese Zeiger werden vom Garbage-Collector nicht verfolgt und knnen z.B.
  auf die Strukturen des AmigaOS zeigen.

  Zeigervariablen knnen vom Typ BPOINTER TO ... sein. Damit kann auf einige
  Strukturen des Dos-Library leicht zugegriffen werden.

  Fr die Nachbildung der C-Strukturen kennt Amiga Oberon den Typ STRUCT,
  mit dem hnlich den RECORDs Strukturen definiert werden knnen. Diese
  Strukturen enthalten jedoch keine Typinformationen.

  Mit der Standardprozedur DISPOSE kann Speicher fr UNTRACED POINTER TO T,
  der mit NEW angefordert wurde, freigegeben werdne.

  Das Modul SYSTEM definiert die Typen BYTE, ADDRESS und und Prozeduren ADR,
  LSH, ROT, INLINE, REG, SETREG, VAL, INIT, TYPEDESC und ALLOCATE.

  Amiga Oberon erlaubt strukturierte Funktionsergebnisse (Arrays und
  Records).

  Mit einem Funktionsergebnis kann bei Amiga Oberon direkt gearbeitet werden,
  so da z.B. der Aufruf 'Proc().x' mglich ist, wenn das Ergebnis von
  'Proc()' ein Zeiger auf ein Record mit dem Element 'x' ist.

  Amiga Oberon erlaubt beliebig lange Parameterlisten. Dies wird z.B. bei den
  Tag-Listen unter AmigaOS 2.0 bentigt. So sind folgende Aufrufe mglich:

    Dos.PrintF("a=%ld  b=%ld  c=%ld\n",a,b,c);
    Intuition.OpenWindowTags(newwindow,
                             Intuition.waWidth, 500,
                             Intuition.waHeight,200,
                             Intuition.Title,   SYSTEM.ADR("ListenDemo"),
                             Utility.end);


  [1mCompileroptionen:[m

  In nicht geschachtelten Kommentaren knnen Compileroptionen angegeben
  werden. Diese bestehen aus einen '$', einem Namen und einem der Zeichen
  '+', '-' oder '='. '+' aktiviert und '-' deaktiviert die Option. '='
  stellt eine stapelbare Option auf den Wert vor dem letzten '+' oder '-'.
  Beispiel:

    (* $OvflChk- *)
      checksum := checksum + x;
    (* $OvflChk= *)

  Hier wird fr die Anweisung die berlaufskontrolle deaktiviert. Amiga
  Oberon kennt die folgenden Optionen:

      Name             Opt  Merkmal      Vorgabe  Bezug
      
      StackChk         -s   STACKCHK      TRUE     stap.
      OvflChk          -v   OVFLCHK       TRUE     stap.
      RangeChk         -b   RANGECHK      TRUE     stap.
      CaseChk          -c   CASECHK       TRUE     stap.
      ReturnChk        -r   RETURNCHK     TRUE     stap.
      NilChk           -n   NILCHK        TRUE     stap.
      OddChk           -o   ODDCHK        FALSE    stap.
      TypeChk          -t   TYPECHK       TRUE     stap.
      ClearVars        -z   CLEARVARS     TRUE     stap.
      Debug            -g   DEBUG         FALSE    stap.
      EntryExitCode                       TRUE     Proz.
      CopyArrays                          TRUE     Proz.
      SaveRegs                            FALSE    Proz.
      SaveAllRegs                         FALSE    Proz.
      DeallocPars                         TRUE     Proz.
      Implementation                      TRUE     Modul
      CodeChip                            FALSE    Modul
      VarsChip                            FALSE    Modul
      DataChip                            FALSE    Modul

  Bei Opt wird die entsprechende Option beim Start des Compilers angegeben,
  Merkmal ist das entsprechende Piktogramm-Merkmal des Compilers beim
  Arbeiten von der Workbench.

  [1mBedingte Compilation:[m

  Mit SET und CLEAR knnen beim Start des Compilers Optionen fr die
  bedingte Compilation gesetzt bzw. gelscht werden. Diese knnen auch in
  nicht geschachtelten Kommentaren mit $SET <Option> und $CLEAR <Option>
  gesetzt bzw. gelscht werden. Im Programm kann mit $IF <Option>, $IFNOT
  <Option>, $ELSE und $END je nach der Stellung der Optionen unterschied-
  licher Code erzeugt werden. So fhrt das Programm

    MODULE Test;

    IMPORT io;

    BEGIN
      (* $IF English *)
        io.WriteString("bye!");
      (* $ELSE *)
        io.WriteString("tsch!");
      (* $END *)
      io.WriteLn;
    END Test.

  bei der Compilation mit 'Oberon SET English Test' zu der Ausgabe 'bye!',
  bei der Compilation mit 'Oberon CLEAR English Test' dagegen zu 'tsch!'.


  [1;33mOLink:[m


  Mit OLink werden die vom Compiler erzeugten Objektdateien zu einem
  ausfhrbaren Programm zusammengefgt.

  Wer mit der Workbench arbeitet kann OLink starten, indem er einfach das
  Icon der Objektdatei des Hauptmoduls seines Programms doppelklickt.

  Vom CLI ist der Aufruf folgendermaen:

    OLink [-smdai] <Objektdatei>

  Objektdatei ist die vom Compiler erzeugte Objektdatei des Hauptmoduls.

  Die Optionen haben folgende Funktion:

    -s   Alle Hunks des gleichen Typs zusammenfgen

    -m   sollte gesetzt werden, wenn mit kleinem Code-Modell compiliert wurde

    -d   mu gesetzt werden, wenn mit kleinem Daten-Modell compiliert wurde

    -a   mu gesetzt werden, wenn ohne Garbage-Collector compiliert wurde

    -i   Icons erzeugen

  Da diese Demo-Version nur Objektdateien mit dem kleinen Datenmodell
  enthlt, mu beim Linken immer mit der Option '-d' angezeigt werden, da
  das kleine Datenmodell verwendet wird.


[1;33mOErr:[m

  OErr zeigt die Fehler an, die beim compilieren aufgetreten sind.

  Aufruf:  OErr {Quelltext}.


[1;33mODebug:[m


  Dieser Runtime-Source-Level-Debugger ist ein ntzliches Werkzeug beim
  Entwickeln von Programmen mit dem Amiga Oberon System. Er verschafft
  Anfngern Einblicke in den Ablauf von Programmen und ist fr fortge-
  schrittene Software-Entwickler unverzichtbar.
  
  [1mHardwareanforderungen:[m
  
  Um sinnvoll mit ODebug arbeiten zu knnen, sollte man einen Amiga mit
  mindestens 1 MByte freiem Speicher und 2 Diskettenlaufwerken besitzen.
  
  [1mStart des Debuggers:[m
  
  Alle Module eines Programms, die eventuell fehlerhaft sind und daher im
  Debugger angezeigt werden sollen, mssen zunchst mit der Compileroption
  '-g' compiliert werden. Wird vom Editor OEd aus compiliert, mu im Men
  Options der Menpunkt Debug angewhlt sein. Bei der Compilation
  wird automatisch das Modul 'Debug' importiert und es wird spezieller Code
  erzeugt, damit die compilierten Module im Debugger angezeigt werden knnen.
  Auerdem erzeugt der Compiler Referenzdateien (mit der Endung '.ref'), die
  zustzliche Informationen ber die Module enthalten, und ohne die ODebug
  nicht arbeiten kann. Existiert im aktuellen Verzeichnis ein Unterverzeichnis
  mit dem Namen 'ref', werden die Referenzdateien dort gespeichert.
  
  Nach der Compilation dieser Module mu das Programm noch wie ein normales
  Oberon-Programm mit OLink gelinkt werden.
  
  [1mStart vom CLI:[m
  
  Vor dem Start von ODebug sollte die Gre des Stapelspeichers, wie beim
  Compiler, mit 'stack 20000' hochgesetzt werden. Der Debugger sollte vom
  CLI aus nur mit dem Befehl run gestartet werden, da man sonst, solange
  der Debugger aktiv ist, ein 'totes' CLI-Fenster brig behlt. Beim Start
  knnen, hnlich wie beim Editor OEd, folgende Argumente bergeben werden:
  
  Aufruf:
  
    run ODebug {-{x#|y#|w#|h#|d#|s|l|p|r|c|o|1#|2#|3#|4#}}
  
  Dabei steht das '#' fr eine Dezimalzahl. Die Optionen haben folgende
  Bedeutung:
  
    -x#, -y#  x- und y-Position der ODebug-Fenster
    -w#, -h#  Breite und Hhe der ODebug-Fenster
    -s        ODebug soll einen eigenen Screen ffnen
    -l        Screen soll im Interlace-Modus geffnet werden
    -d#       Tiefe des ODebug-Screens, voreingestellt ist 2
    -p        'Popup Windows' deaktivieren
    -r        'Sort Records' aktivieren
    -c        'Close Pointers' aktivieren
    -o        'Open Sources' deaktivieren
    -1#,-2#   x- und y-Position des Wartefensters von ODebug
    -3#,-4#   Breite und Hhe des Wartefensters von ODebug
  
  [1mStart von der Workbench:[m
  
  Von der Workbench wird ODebug einfach durch einen Doppelklick auf sein
  Icon gestartet. Parameter knnen ber sogenannte Tool Types angegeben
  werden. Diese knnen nach dem Anwhlen des ODebug-Icons mit dem Menpunkt
  'Info' des Workbench-Mens gendert werden knnen.
  
  Folgende Tool Types knnen angegeben werden:
  
    LEFTEDGE      x-Position der ODebug-Fenster
    TOPEDGE       y-Position der ODebug-Fenster
    WIDTH         Breite der ODebug-Fenster
    HEIGHT        Hhe der ODebug-Fenster
    SCREEN        Soll ein Screen geffnet werden?
    INTERLACE     Screen im Interlace-Modus ffnen?
    DEPTH         Tiefe des ODebug-Screens
    POPUPWINDOWS  Option 'Popup Windows' setzen?
    SORTRECORDS   Option 'Sort Records' setzen?
    CLOSEPOINTERS Option 'Close Pointers' setzen?
    OPENSOURCES   Option 'Open Sources' setzen?
    STANDLEFTEDGE x-Position des Wartefenster
    STANDTOPEDGE  y-Position des Wartefenster
    STANDWIDTH    Breite des Wartefenster
    STANDHEIGHT   Hhe des Wartefenster
  
  [1mArbeitsweise von ODebug:[m
  
  Nach demStart von ODebug wird ein Wartefenster mit der Meldung 'Bitte
  mit Option '-g' compiliertes Programm starten!' geffnet. Sie sollten nun
  also das zuvor compilierte und gelinkte Programm starten. Dabei knnen Sie
  es, je nach Belieben, von der Workbench oder vom CLI, mit oder ohne
  Parameter, starten. Der Debugger schliet daraufhin sein Wartefenster und
  ffnet fr jedes Modul, das zuvor mit der Option '-g' compiliert wurde,
  ein Fenster, das den Quelltext dieses Moduls enthlt. Die erste Anweisung,
  die Ihr Programm ausfhren mchte, wird hervorgehoben dargestellt. Sie
  haben nun ber das Men des Debuggers volle Kontrolle ber den Ablauf des
  Programms und knnen es schrittweise ablaufen lassen, oder auch ber
  lngere Programmteile 'rennen' lassen, bis von Ihnen vorgegebene
  Bedingungen erfllt sind. Dies knnen an bestimmten Stellen im Programm
  gesetzte sogenannte Breakpoints sein, oder auch Variablen, die einen
  bestimmten Wert annehmen oder gar ein Laufzeitfehler.
  
  Sollten Sie jetzt noch kein Programm debuggen wollen, knnen Sie den
  Debugger auch einfach durch Anklicken des Schlie-Gadgets wieder verlassen.
  
  Die von ODebug geffneten Fenster besitzen an ihren rechten und unteren
  Rndern Proportional- und Pfeil-Gadgets, mit denen man sich wie bei
  Workbench-Fenstern durch die angezeigten Informationen bewegen kann.
  Dies funktioniert bei allen Fenster von ODebug gleichermaen.
  
  [1mDie Mens:[m
  
  [1mDas Projekt Men:[m
  
  Abort Debug (Amiga + 'A'):
  
    Das Debuggen wird abgebrochen.
  
  Quit (Amiga + 'Q'):
  
    Der Debugger wird verlassen.
  
  About:
  
    Die Copyright-Meldung wird ausgegeben.
  
  
  [1mDas Debug Men:[m
  
  Step (Amiga + 'S', Leertaste):
  
    Die nchste Anweisung wird ausgefhrt.
  
  Walk (Amiga + 'W'):
  
    Durch das Programm wird 'gelaufen'
  
  Run (Amiga + 'R'):
  
    Das Debuggte Programm wird gestartet und Luft bis zum nchsten BreakPoint
    oder bis mit einer Maustaste abgebrochen wird.
  
  Execute (Amiga + 'X'):
  
    Die aktuelle Anweisung wird ausgefhrt.
  
  Sprint (Amiga + 'T'):
  
    Das Programm wird gestartet. Es wird nur durch einen Laufzeitfehler
    abgebrochen.
  
  Show Source (Amiga + 'H'):
  
    In einem Dialogfenster kann ein Modul gewhlt werden, dessen Quelltext
    in einem neuen Fenster angezeigt werden soll. Die Quelltextfenster
    knnen, bis auf das letzte, mit dem Close-Gadget geschlossen werden.
  
  Show Statement (Amiga + 'N'):
  
    Die aktuelle Anweisung wird angezeigt.
  
  [1mDas Breakpoint Men:[m
  
  Set (Amiga + 'T'):
  
    Ein Breakpoint wird auf die selektierte Anweisung gesetzt. Er wird danach
    durch Fettschrift hervorgehoben.
  
  Remove (Amiga + 'M'):
  
    Der selektierte Breakpoint wird entfernt.
  
  Add Expression (Amiga + 'D'):
  
    Es kann ein Abbruchsausdruck angegeben werden. Das Programm bricht beim
    Start mit Run ab, sobald der Ausdruck TRUE ist.
  
  Change Expression (Amiga + 'J'):
  
    Hiermit knnen die Abbruchsausdrcke verndert werden.
  
  Remove Expression (Amiga + 'O'):
  
    Hiermit knnen die Abbruchsausdrcke entfernt werden.
  
  Clear All (Amiga + 'C'):
  
    Dieser Menpunkt entfernt alle Breakpoints und Abbruchbedingungen.
  
  [1mDas Variables Men:[m
  
  Show (Amiga + 'V'):
  
    Zeigt die Variablen eines Sichtbarkeitsbereichs.
  
  Extend (Amiga + 'E'):
  
    Erweitert das Record, das im aktuellen Variablenfenster gezeigt wird.
  
  Change Value (Amiga + 'G'):
  
    Weist der selektierten Variablen einen neuen Wert zu.
  
  Evaluate Expression (Amiga + 'U'):
  
    Berechnet einenen beliebigen Ausdruck.
  
  Change Type (Amiga + 'Y'):
  
    Verndert den Typ, mit dem die selektierte Variable angezeigt wird.
  
  Show active Procedures (Amiga + 'P'):
  
    Zeigt aktive Prozeduren.
  
  Show called Procedures (Amiga + 'L'):
  
    Zeigt aufgerufene Prozeduren.
  
  Save Contents:
  
    Speichert den Inhalt eines Variablenfensters.

  [1mDas Options Men:[m

  Popup Windows (Amiga + '0'):

    Ist diese Option angewhlt, so wird das Fenster, in dem die aktuelle
    Anweisung angezeigt wird, immer automatisch in den Vordergrund
    gebracht.

  Sort RECORDs (Amiga + '1'):

    Ist diese Option angewhlt, werden Recordelemente in alphabetischer
    Reihenfolge angezeigt, sonst werden sie in der Reihenfolge aus ihrer
    Deklaration angezeigt.

  Close Pointers (Amiga + '2'):

    Ist dieser Menpunkt angewhlt werden Fenster die den Inhalt von
    Strukturen anzeigen, die ber Zeiger erreicht wurden, automatisch
    geschlossen, wenn eine Anweisung des debuggten Programms ausgefhrt
    wird. Hier kann ODebug nicht garantieren, da die Werte immernoch
    gltig sind.

    Ist Close Pointers nicht angewhlt, bleiben diese Fenster geffnet,
    was das Debuggen manchmal erleichtert. Dadurch knnen jedoch evtl.
    ungltige Werte angezeigt werden.

  BreakPoint Requester (Amiga + '3'):

    Ist diese Option angewhlt wird das Erreichen eines BreakPoints mit
    einem Dialogfenster angezeigt, ansonsten wird kein Dialogfenster
    geffnet.

  Open Sources (Amiga + '4'):

    Ist diese Option angewhlt werden beim Start eines Programms alle
    Quelltextfenster automatisch angezeigt. Ist sie nicht angewhlt,
    werden nur diejenigen Module angezeigt, deren Anweisungen auch aus-
    gefhrt werden.



[1;33mCopyright:[m

  Diese Disketten drfen frei kopiert werden. Sie drfen unverndert
  weitergegeben werden, solange dafr keine Gebhren verlangt werden.

  Es drfen keine nderungen an den Programmen und den Dateien dieser
  Disketten vorgenommen werden. Vernderte Versionen dieser Programme drfen
  weder verwendet noch weiter verbreitet werden.

  Die Programme drfen nur zusammen und unverndert weitergegeben werden. So
  ist es z.B. untersagt, den Editor allein weiterzugeben, obwohl der Editor
  auch ohne den Compiler funktionsfhig ist.

  Die Texte von Niklaus Wirth und Hanspeter Mssenbck drfen auch alleine
  verbreitet und z.B. in Mailboxen hochgeladen werden. Dabei drfen sie
  jedoch nicht verndert werden und es sollte sichergestellt werden,
  da sie nicht verndert werden (durch eine entsprechende Notiz).

  Alle anderen Dateien sind  1989-1992 by Fridtjof Siebert
                                           Nobileweg 67
                                           D-7000 Stuttgart 40
                                           Deutschland

  Unrechtmige Verwendungen der Dateien fhren zur strafrechtliche
  Verfolgung.

  Fr Hinweise auf Fehler in den Programmen bin ich jederzeit dankbar.
  Ich kann nicht garantieren, da ich gengend Zeit finde, mich mit allen
  Zuschriften zu befassen. Daher bitte ich darum, Anfragen an die A+L AG zu
  richten, und mich nicht unntig vom Programmieren abzuhalten. Ich nehme
  keine telofonischen Anfragen entgegen.

  Der Autor bernimmt keinerlei juristische Verantwortung oder Haftung
  jeglicher Art fr die Korrektheit und Tauglichkeit der Programme und
  Dateien. Fr Schden, die auf die Verwendung der Programme oder Dateien
  zurckzufhren sind, kann der Autor nicht haftbar gemacht werden.

  Der Autor haftet nicht fr direkte oder indirekte Schden.

  Der Autor lehnt jede Art von Haftung oder stillschweigender Garantie ab,
  insbesondere, da sich die Programme oder Dateien fr einen ganz
  bestimmten Zweck eignen.


[1;33mVoll funktionsfhige Compilerversion:[m

  Der voll funktionsfhige Compiler und Debugger kann bei der

     A+L AG
     Im Dderiz 61
     CH-2540 Grenchen

  oder bei

    ABF Computer
    Postfach 14 25
    7120 Bietigheim-Bissingen
    Tel/Fax: 0 71 42 / 3 33 92

  bestellt werden. Diese Version wird mit einer ausfhrlichen gedruckten
  Dokumentation, weiteren Hilfsprogrammen, vielen
  Bibliotheksmodulen und einem kompletten Interface zu den Amiga
  Betriebssystemroutinen Version 2.04 oder neuer ausgeliefert.


[1;33mUmfang der Vollversion:[m

  [1mDas Basispaket enthlt folgendes:[m

  Die Vollversion von Amiga Oberon umfat die im folgenden aufgelisteten
  Programme und Dateien:

    Oberon               der Compiler
    OEd                  der Editor
    OLink                der Linker
    OErr                 der Fehler-Lister
    OMake                das Make-Utility
    ModToDef             Programm zum Erzeugen von Definitionsdateien
    ResidentManager      hlt Symboldateien Resident
    LibLink              Library- und Device-Linker, damit knnen in Oberon
                         Amiga-Libraries und -Devices geschrieben werden
    GarbagePrefs         Preferences-Editor fr den Garbage-Collector
    GCStat               Programm zur Veranschaulichung der Arbeit des
                         Garbage-Collectors
    sym/obj    (dir)     Symbol- und Objektdateien aller Amiga-Interface und
                         aller Bibliotheksmodule (insgesamt ber 100 Module)
    Interfaces (dir)     Quelltexte aller Amiga-Interfacemodule (ber 50
                         Module)
    Module     (dir)     Quelltexte aller Bibliotheksmodule (fast 50 Module)

  Das Handbuch zur Vollversion hat einen Umfang von mehr als 400 Seiten und
  beschreibt aufhrlich die verschiedenen Programme, die besonderen Fhigkeiten
  des Compilers und die Modulbibliothek.

  [1mDas Debugger-Paket enthlt folgende Programme:[m

    ODebug               Der Debugger selbst
    DecObj               Ein Disassembler fr Objektdateien und ausfhrbare
                         Programme
    XRef                 Ein Cross-Reference-Lister fr Oberon

  Zudem enthlt das Debugger-Paket fr den Prozessor MC68020 und die FPU
  MC68881/2 optimierte Versionen der Programme der Grundversion.

  Mit dem Debugger werden zustzliche Kapitel fr das Handbuch geliefert,
  die die Programme des Debug-Pakets beschreiben.



[33;1mViel Spa beim Arbeiten mit Oberon[m


--- Fridtjof

