|
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: 14336 (0x3800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Main, seg_048091
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io, Lexical; with Nom_Jeu, Les_Actions, Les_Definitions, Les_Presentations; with Les_Liaisons, L_Introduction, 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; with Displays, Bounded_String; use Text_Io; procedure Main is Nomf : Bounded_String.Variable_String (80); 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; function Get_Game_Name return String is Handle : Text_Io.File_Type; The_Name : String (1 .. 80); The_Length : Natural; Valid_Entry : Boolean; Confirm : Character; begin loop Valid_Entry := True; Text_Io.Put ("Nom du Jeu : "); Text_Io.Get_Line (The_Name, The_Length); declare begin Text_Io.Open (File => Handle, Mode => Text_Io.In_File, Name => The_Name (1 .. The_Length)); exception when others => Valid_Entry := False; end; if Valid_Entry then Text_Io.Close (File => Handle); return The_Name (1 .. The_Length); end if; Text_Io.Put ("Le fichier specifie est inexistant , continuer ? [o/n]"); Text_Io.Get (Confirm); if (Confirm /= 'o' and Confirm /= 'O') then Text_Io.Put_Line ("Tant pis , A bientot"); return ""; end if; Text_Io.Skip_Line; end loop; end Get_Game_Name; begin Bounded_String.Copy (Nomf, Get_Game_Name); if (Bounded_String.Length (Nomf) > 0) then Lexical.Init (Bounded_String.Image (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_Introduction := Liste_D_Instructions.Creation; 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 ("L_Introduction ........ "); L_Introduction.Parse (Liste_Introduction, Models_Table, Symbols_Table, Comp, Dict); 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."); declare 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 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.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 ---------------------------------------------"); 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 others => Text_Io.Put_Line ("-- Option non implementee --------------------------------------------------"); end case; end loop; end; else Put_Line ("Erreurs !!!"); end if; Text_Io.Put_Line ("See you ..."); 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); Lexical.Close; end if; 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=d nid=0 hdr6=1a [0x00] rec0=23 rec1=00 rec2=01 rec3=002 [0x01] rec0=1a rec1=00 rec2=0d rec3=060 [0x02] rec0=21 rec1=00 rec2=0c rec3=030 [0x03] rec0=02 rec1=00 rec2=07 rec3=00a [0x04] rec0=1b rec1=00 rec2=04 rec3=008 [0x05] rec0=1b rec1=00 rec2=0a rec3=000 [0x06] rec0=12 rec1=00 rec2=0b rec3=034 [0x07] rec0=0f rec1=00 rec2=08 rec3=054 [0x08] rec0=0e rec1=00 rec2=09 rec3=034 [0x09] rec0=12 rec1=00 rec2=03 rec3=06c [0x0a] rec0=18 rec1=00 rec2=05 rec3=016 [0x0b] rec0=1e rec1=00 rec2=02 rec3=00c [0x0c] rec0=04 rec1=00 rec2=06 rec3=001 tail 0x2174b739e8657493c7312 0x42a00088462060003