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

⟦2e3b81c0b⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Moteur, seg_049239, seg_0493f1

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 
└─⟦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, Erreur;
with Verbs_Dictionary, Comps_Dictionary;
with Models, Symbols;
with Set_Of_Links, Set_Of_Connections;
with Player_Entries, Interprete;
with Liste_D_Instructions;

use Text_Io;

package body Moteur is


    procedure Execute_The_Game
                 (Dict : in out Verbs_Dictionary.Object;
                  Comp : in out Comps_Dictionary.Object;
                  Models_Table : in out Models.Object;
                  Symbols_Table : in out Symbols.Object;
                  Links : in out Set_Of_Links.Object;
                  Connect : in out Set_Of_Connections.Object;
                  Liste_Introduction : in out Liste_D_Instructions.Object;
                  Liste_Generale : in out Liste_D_Instructions.Object;
                  Liste_Globale : in out Liste_D_Instructions.Object;
                  Liste_Locale : in out Liste_D_Instructions.Object) is


        End_Of_The_Game : Boolean := False;
        Player_Command : Player_Entries.Token;
        Jeu_Termine : Boolean := False;
        Instruct_Executee : Boolean := False;
        Mode_Trace : Boolean := False;
    begin

        Liste_D_Instructions.Executer (Liste_Introduction, Models_Table,
                                       Symbols_Table, Connect, Links, Comp,
                                       Jeu_Termine, False, Instruct_Executee);

        while not End_Of_The_Game and not Jeu_Termine loop

            Player_Command := Interprete.Get_Player (Comp, Dict);

            case Player_Command is
                when Player_Entries.Fin =>
                    End_Of_The_Game := True;

                when Player_Entries.Verbe =>
                    Text_Io.Put_Line
                       ("-- Liste des Verbes -------------------------------------------------");
                    Verbs_Dictionary.Dump (Dict);
                when Player_Entries.Complement =>
                    Text_Io.Put_Line
                       ("-- Liste des Complements --------------------------------------------");
                    Comps_Dictionary.Dump (Comp);
                when Player_Entries.Modele =>
                    Text_Io.Put_Line
                       ("-- Liste des Modeles :Definition des types ---------------------------");
                    Models.Dump_Models (Models_Table);
                when Player_Entries.Symbole =>
                    Text_Io.Put_Line
                       ("-- Table des Symboles -----------------------------------------------");
                    Symbols.Dump_Symbols (Symbols_Table);
                when Player_Entries.Connexion =>  
                    Text_Io.Put_Line
                       ("-- Liste des Connexions  --------------------------------------------");
                    Set_Of_Connections.Dump (Connect);
                when Player_Entries.Lien =>
                    Text_Io.Put_Line
                       ("-- Liste des Liens --------------------------------------------------");
                    Set_Of_Links.Dump (Links);
                when Player_Entries.Introduction =>
                    Text_Io.Put_Line
                       ("-- Instructions d' Introduction -------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Introduction);
                when Player_Entries.General =>
                    Text_Io.Put_Line
                       ("-- Instructions Generales -------------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Generale);
                when Player_Entries.Global =>
                    Text_Io.Put_Line
                       ("-- Instructions Globales --------------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Globale);
                when Player_Entries.Local =>
                    Text_Io.Put_Line
                       ("-- Instructions Locales ---------------------------------------------");
                    Liste_D_Instructions.Afficher (Liste_Locale);

                when Player_Entries.Trace =>
                    if Mode_Trace then
                        Text_Io.Put_Line ("-- Mode Trace: INACTIF");
                    else
                        Text_Io.Put_Line ("-- Mode Trace: ACTIF");
                    end if;
                    Mode_Trace := not Mode_Trace;

                when Player_Entries.Id =>

                    Instruct_Executee := False;
                    Liste_D_Instructions.Executer
                       (Liste_Generale, Models_Table, Symbols_Table,
                        Connect, Links, Comp, Jeu_Termine,
                        Mode_Trace, Instruct_Executee);
                    if not Jeu_Termine then
                        Instruct_Executee := False;
                        Liste_D_Instructions.Executer
                           (Liste_Locale, Models_Table, Symbols_Table,
                            Connect, Links, Comp, Jeu_Termine,
                            Mode_Trace, Instruct_Executee);
                        if not Instruct_Executee and not Jeu_Termine then
                            Liste_D_Instructions.Executer
                               (Liste_Globale, Models_Table, Symbols_Table,
                                Connect, Links, Comp, Jeu_Termine,
                                Mode_Trace, Instruct_Executee);
                        end if;  
                    end if;
                when Player_Entries.Aide =>
                    Interprete.Write_Help;
                when others =>
                    Text_Io.Put_Line
                       ("-- Option non implementee --------------------------------------------------");

            end case;
        end loop;
    end Execute_The_Game;


end Moteur;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=1c rec1=00 rec2=01 rec3=03e
        [0x01] rec0=18 rec1=00 rec2=02 rec3=028
        [0x02] rec0=10 rec1=00 rec2=03 rec3=074
        [0x03] rec0=10 rec1=00 rec2=04 rec3=076
        [0x04] rec0=15 rec1=00 rec2=06 rec3=08c
        [0x05] rec0=16 rec1=00 rec2=05 rec3=001
    tail 0x2174d85dc865b542fc739 0x42a00088462060003