DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦58c007a62⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Game, seg_048b86

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io, Lexical, Erreur;
with Verbs_Dictionary, Comps_Dictionary;
with Models, Symbols;
with Set_Of_Links, Set_Of_Connections;
with Abstract_Tree, Liste_D_Instructions;
with Compiler, Moteur;
use Text_Io;

-- =================================================================
procedure Game is
-- =================================================================

    Dict : Verbs_Dictionary.Object;
    Comp : Comps_Dictionary.Object;
    Models_Table : Models.Object;
    Symbols_Table : Symbols.Object;
    Links : Set_Of_Links.Object;
    Connect : Set_Of_Connections.Object;
    Liste_Introduction : Liste_D_Instructions.Object;
    Liste_Generale : Liste_D_Instructions.Object;
    Liste_Globale : Liste_D_Instructions.Object;
    Liste_Locale : Liste_D_Instructions.Object;
    Parsed : Boolean;


begin

-- =================================================================
--           CREATION DES STRUCTURES DE DONNEES
-- =================================================================

    Verbs_Dictionary.Create (Dict);
    Comps_Dictionary.Create (Comp);
    Models.Create (Models_Table);
    Symbols.Create (Symbols_Table);
    Set_Of_Links.Create (Links);
    Set_Of_Connections.Create (Connect);
    Liste_Introduction := Liste_D_Instructions.Creation;
    Liste_Generale := Liste_D_Instructions.Creation;
    Liste_Globale := Liste_D_Instructions.Creation;
    Liste_Locale := Liste_D_Instructions.Creation;

-- =================================================================
--                       COMPILATION
-- =================================================================

    Compiler.Compile_The_Game (Dict, Comp, Models_Table, Symbols_Table, Links,
                               Connect, Liste_Introduction, Liste_Generale,
                               Liste_Globale, Liste_Locale, Parsed);

    if (not Erreur.Probleme_De_Compilation) and Parsed then
        Text_Io.Put_Line ("Source Ok.");
        Text_Io.New_Line;

-- =================================================================
--                       EXECUTION
-- =================================================================

        Moteur.Execute_The_Game (Dict, Comp, Models_Table, Symbols_Table,
                                 Links, Connect, Liste_Introduction,
                                 Liste_Generale, Liste_Globale, Liste_Locale);
-- =================================================================
--                       FIN DU JEU
-- =================================================================
    else
        Put_Line ("Erreurs de compilation !!!");
    end if;
    Text_Io.Put_Line ("See you ...");

-- =================================================================
--           DESTRUCTION DES STRUCTURES DE DONNEES
-- =================================================================
    Liste_D_Instructions.Detruire (Liste_Introduction);
    Liste_D_Instructions.Detruire (Liste_Generale);
    Liste_D_Instructions.Detruire (Liste_Globale);
    Liste_D_Instructions.Detruire (Liste_Locale);
    Verbs_Dictionary.Destroy (Dict);
    Comps_Dictionary.Destroy (Comp);
    Models.Dispose_Object (Models_Table);
    Symbols.Dispose_Object (Symbols_Table);
    Set_Of_Links.Destroy (Links);
    Set_Of_Connections.Destroy (Connect);

-- =================================================================
--           TRAITEMENT DES DISFONCTIONNEMENTS
-- =================================================================

exception
    when Erreur.Erreur_Syntaxe =>
        Text_Io.Put_Line ("!!! Erreur fatale de syntaxe !!!");
    when Erreur.Erreur_Symbole =>
        Text_Io.Put_Line
           ("!!! Erreur fatale: Probleme dans la table des symboles !!!");
    when Erreur.Erreur_Modele =>
        Text_Io.Put_Line
           ("!!! Erreur fatale: Probleme dans la table des modeles !!!");
    when Erreur.Erreur_Execution =>
        Text_Io.Put_Line ("!!! Erreur fatale: Problemes d'execution !!!");
    when Verbs_Dictionary.Duplicate_Value =>
        Text_Io.Put_Line
           ("!!! Erreur fatale: Verbe duplique dans le dictionaire !!!");
    when Comps_Dictionary.Duplicate_Value =>
        Text_Io.Put_Line
           ("!!! Erreur fatale: Complement duplique dans le dictionaire !!!");
    when Abstract_Tree.Bad_Type =>
        Text_Io.Put_Line
           ("!!! Erreur fatale: Tentative d'evaluer un noeud d'arbre retournant un mauvais type !!!");
    when others =>
        Text_Io.Put_Line ("Erreur inconnue");
        Text_Io.Put_Line (Natural'Image (Lexical.Get_Line));
        Text_Io.Put_Line (Natural'Image (Lexical.Get_Column));

end Game;


E3 Meta Data

    nblk1=7
    nid=4
    hdr6=a
        [0x00] rec0=1f rec1=00 rec2=01 rec3=02c
        [0x01] rec0=16 rec1=00 rec2=06 rec3=044
        [0x02] rec0=16 rec1=00 rec2=03 rec3=01e
        [0x03] rec0=17 rec1=00 rec2=05 rec3=046
        [0x04] rec0=12 rec1=00 rec2=02 rec3=000
        [0x05] rec0=0f rec1=00 rec2=04 rec3=000
        [0x06] rec0=0c rec1=00 rec2=04 rec3=001
    tail 0x2174d14fa865a7ae37f65 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 07 02 52 80 17 65 6d 65 73 20 64 27 65 78 65  ┆   R  emes d'exe┆
  0x7: 0000  00 00 00 12 80 0f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ┆      ==========┆