*******************************************************************************
*                                                                             *
*            Omikron Basic Compiler V 1.0 without serialnumber.               *
*                                                                             *
*               Cracked by CRAY CRACKING CLAW     30.11.87                    *
*                                                                             *
*                            Greetings to :                                   *
*  DELTA ROH, DEFROSTER, THE KHAN, JABBA THE HUT, ACE, CSS, OHIO, SUPERGAU    *
*                                                                             *
*******************************************************************************

Das Wichtigste aus dem Compiler-Handbuch (eher Handheft oder kurz Flugblatt) :

Registration :

        Entfllt, da der Compiler keine Seriennummer mehr enthlt.


Copyright :

        Copy right ! Sonst gibt's da nix zu zu sagen. Jeder kopiert jedem was,
        soviel, und sooft er will.


Copyright an Compilaten :

        Siehe Copyright.


Hinweise auf Omikron-Basic :

        Hier steht nix nennenswert-Vernnftiges.


Bedienung :

        Laden drfte wohl klar sein. 48k compilieren dauert ca. 1 Minute.
        Auf der Diskette, von der das fertig compilierte Programm aufgerufen
        werden soll, mu die Datei "CRAYCC" vorhanden sein. Sie wird vom
        Compilat nachgeladen. Das Einbinden der Datei "CRAYCC" in das Compilat
        kann durch Starten im Omikron-Basic-Interpreter des Programms
        "FULLIBCC" erreicht werden. Das Compilat wird dann um die Gre dieser
        Datei grer, woduch jedoch das Nachladen entfllt.


Fehlermeldungen :

        Siehe auch "Unterschiede zum Interpreter".

        Too many variables   : Der 64k Variablen-Bereich ist berschritten.
        Out of memory        : Ram-Disk wegmachen, Programm krzen, ACC's
                               raussschmeien, Programm zerlegen und mit 
                               "Chain" die Einzelteile nachladen, oder mehr
                               RAM auflten.
        Type mismatch        : Beispiel "DEF PROC Write(X$):...  Aufruf mit
                               Write(Zahl).
        Warning: RETURN ...  : Eine selbstdefinierte Funktion mu den Varia-
                               blentyp mit Postfix zurckgeben. Eine double
                               Float Funktion mu auch eine solche Variable
                               zurckgeben.
        Bad EXIT             : EXIT geht im Compiler nur als EXIT (ohne Zahl),
                               EXIT TO ist nur zum verlassen einer Schleife.
        Structure to long    : Eine Schleife oder Abfrage beinhaltet mehr als
                               32k Compilat.
        Warning : Unused ... : Die aufgelisteten Proceduren und Labels werden
                               nicht benutzt. Sie knnen entfernt werden.
        Undefined statements : GOTO oder GOSUB auf nicht existierende Zeile
                               oder Label, oder ein Feld ist nicht dimensio-
                               niert.


Unterschiede zum Interpreter :

        $-Variablen in FIELD-Anweisungen nicht lokal verwenden, bis die Anwei-
        sung durch Zuweisung mit LET erfolgt, oder durch CLOSE aufgehoben
        wird.
        
        GOTO $-Ausdruck bercksichtigt nur acht Zeichen als $.
        
        Division von zwei Int-Zahlen ergibt im Compiler immer einen Float !
        Abhilfe: als Int-Division schreiben ("\").
        
        Variablenfelder mssen immer einmal am Anfang dimensioniert werden. 
        
        Bei Fehlern, die zur Verzweigung in Fehlerroutienen fhren :
        Endwerte von INT-FOR-NEXT-Schleifen, Register-Variablen knnen
        zerstrt werden. Im Einzellfall : Siehe orginal-Anleitung.

        In Proceduren und mehrzeiligen Funktionen, die lokale Array-Elemente
        verwenden, drfen keine Dateien geffnet oder geschlossen werden, und
        keine Felder re- oder dimensioniert werden.

        Lokale Variablen werden  auf dem Stack gehalten. Ev. Stack vergrern
        ("Clear ,X").

        EXIT geht nur als EXIT (ohne Nummer) oder als EXIT -1. EXIT -1 zer-
        strt die globalen Werte lokaler Variablen.

        Programme, die ON ERROR, ON TIMER, ON MOUSEBUT, ON KEY, oder ON HELP
        enthalten : siehe "Compiler Steuerworte".

        Funktionen mssen den Variablen-Typ im Namen tragen, von dem das Er-
        gebnis der Funktion sein soll.

        Der bei READ erwartete Datentyp mu immer mit dem jeweiligen Daten-
        element bereinstimmen. (z.B. bei Float nicht "3", sondern "3.").

        Flag-Variablen (%F) nicht lokal verwenden.
        Bei bergabe von %F an eine Procedure wird kein Wert zurckgegeben.

        ASC("") ist null.

        DIM kann Felder auch verkleinern.

        Interne , vom Compiler gewhlte Datenformate (z.B. INT), werden nicht
        mehr automatisch bei berlauf in ein Anderes umgewandelt (z.B. Float) !

        Overflow wird nur bei Float erkannt, nicht bei Int.

        
Compiler Steuerworte :

        TRACE_ON        : Vor jedem Basic-Befehl wird auf CTRL-C und Interrups
                          getestet. Dadurch wird Multitaskig zwischen den Be-
                          fehlen ermglicht.
        TRACE_OFF       : Gegenteil von TRACE_ON. Kein RESUME mglich und ERL
                          ist immer Null.
        MULTITASKING_ALLWAYS    : Auch ohne TRACE_ON wird auf CTRL-C und Mul-
        (MA)                      titasking geprft. Abbruch auch in Befehls-
                                  ausfhrung mglich.
        MULTITASKING_BETWEEN_STATEMENTS : Unterbrechung nur an Befehlsgrenzen
        (MBS)                             mglich, falls TRACE_ON.
         
        MS und MBS mssen nach jedem CLEAR neu eingestellt werden. Drfen
        nicht in IF-Abfragen stehen.

        MA & TRACE_OFF  : Kein ERL und RESUME; in Multitasking-Routinen kein
                          DIM und OPEN.
        MBS & TRACE_OFF : Kein ERL, RESUME und Multitasking.
        MA & TRACE_ON   : Bis 0.6 mal so schnell, im Multitasking keine $-Ver-
                          arbeitung, kein DIM und OPEN.
        MBS & TRACE_ON  : Auch bis 0.6 mal so schnell, voll kompatiebel zum
                          Interpreter.
       
        Die vier Befehle als DEF PROC XXXX:  RETURN definiert werden, damit 
        der Interpreter keinen rger macht.


So weit, so gut. Das war das Wichtigste aus dem Compiler-Handbuch. Sind ja
doch ne' menge Sachen zu beachten. Das haben die von GFA aber besser gelst,
wenn's dann auch etwas langsamer luft. Mal abwarten, was die Herren von
Omikron noch so an Verbesserungen bringen werden. Im Grunde ist Omikron-Basic
nmlich besser, als GFA-Basic. rgerlich ist nur die Inkompatibilitt von
Interpreter und Compiler, da das Basic nich selbst strukturiert, und da die
Benutzeroberflche bezglich der praktischen Strukturierung von Omikron weit-
aus schlechter ist, als die von GFA.




CRAY CRACKING CLAW.

30.11.87  23.12.40





EOF






