|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Main, seg_046a50
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Text_Io, Lexical;
with Nom_Jeu, Les_Actions, Les_Definitions, Les_Presentations;
with Les_Liaisons, Les_Anims_Globales, Les_Anims_Generales,
Les_Anims_Locales, Fin_Jeu, 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;
procedure Main is
Nomf : constant String := "Ex_Jeu";
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_Generale : Liste_D_Instructions.Object;
Liste_Globale : Liste_D_Instructions.Object;
Liste_Locale : Liste_D_Instructions.Object;
begin
Lexical.Init (Nomf);
Lexical.Next;
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_Generale := Liste_D_Instructions.Creation;
Liste_Globale := Liste_D_Instructions.Creation;
Liste_Locale := Liste_D_Instructions.Creation;
Put ("Nom_Jeu ............... ");
Nom_Jeu.Parse;
Put_Line ("OK");
Put ("Les_Actions ........... ");
Les_Actions.Parse (Dict);
Put_Line ("OK");
Put ("Les_Definitions ....... ");
Les_Definitions.Parse (Models_Table, Symbols_Table);
Put_Line ("OK");
Put ("Les_Presentations ..... ");
Les_Presentations.Parse (Models_Table, Symbols_Table, Comp);
Put_Line ("OK");
Put ("Les_Liaisons .......... ");
Les_Liaisons.Parse (Comp, Connect, Links);
Put_Line ("OK");
Put ("Les_Anims_Generales ... ");
Les_Anims_Generales.Parse (Liste_Generale, Models_Table,
Symbols_Table, Comp, Dict);
Put_Line ("OK");
Put ("Les_Anims_Globales .... ");
Les_Anims_Globales.Parse (Liste_Globale, Models_Table,
Symbols_Table, Comp, Dict);
Put_Line ("OK");
Put ("Les_Anims_Locales ..... ");
Les_Anims_Locales.Parse (Liste_Locale, Models_Table,
Symbols_Table, Comp, Dict);
Put_Line ("OK");
Put ("Fin_Jeu ............... ");
Fin_Jeu.Parse;
Put_Line ("OK");
if not Erreur.Probleme_De_Compilation then
Text_Io.Put_Line ("Source Ok.");
else
Text_Io.Put_Line ("Erreurs !!!");
end if;
Liste_D_Instructions.Afficher (Liste_Generale);
Liste_D_Instructions.Afficher (Liste_Globale);
Liste_D_Instructions.Afficher (Liste_Locale);
declare
End_Of_The_Game : Boolean := False;
Player_Command : Player_Entries.Token;
begin
while not End_Of_The_Game 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 Models :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.Id =>
Text_Io.Put_Line
("-- Execution des instructions du jeu --------------------------------");
when others =>
Text_Io.Put_Line
(" --- Fonctions pas encore implementees-------------------------------");
end case;
end loop;
end;
Text_Io.Put_Line (" fini .......... ");
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);
Lexical.Close;
exception
when Erreur.Erreur_Syntaxe =>
Text_Io.Put_Line (" -- Erreur Fatale");
Text_Io.Put_Line ("Bye, bye...");
Verbs_Dictionary.Destroy (Dict);
when Verbs_Dictionary.Duplicate_Value =>
Text_Io.Put ("Lg:");
Text_Io.Put (Natural'Image (Lexical.Get_Line));
Text_Io.Put (" Cl:");
Text_Io.Put (Natural'Image (Lexical.Get_Column));
-- when others => Text_Io.Put_Line ("Erreur inconnue");
end Main;
nblk1=8
nid=7
hdr6=e
[0x00] rec0=26 rec1=00 rec2=01 rec3=038
[0x01] rec0=20 rec1=00 rec2=06 rec3=006
[0x02] rec0=21 rec1=00 rec2=02 rec3=050
[0x03] rec0=0e rec1=00 rec2=05 rec3=016
[0x04] rec0=13 rec1=00 rec2=08 rec3=052
[0x05] rec0=21 rec1=00 rec2=04 rec3=010
[0x06] rec0=0c rec1=00 rec2=03 rec3=001
[0x07] rec0=dc rec1=9c rec2=1a rec3=0c2
tail 0x215436bd286517dab762c 0x42a00088462060003
Free Block Chain:
0x7: 0000 00 00 03 fc 80 21 20 20 20 20 28 53 79 6d 62 6f ┆ ! (Symbo┆