|
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 - download
Length: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Compiler, seg_0491ac
└─⟦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 Bounded_String; 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 Set_Of_Links, Set_Of_Connections; with Liste_D_Instructions; with Verbs_Dictionary, Comps_Dictionary; with Models, Symbols; use Text_Io; package body Compiler is Nomf : Bounded_String.Variable_String (80); 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; procedure Compile_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; Parsed : in out Boolean) is begin Bounded_String.Copy (Nomf, Get_Game_Name); if (Bounded_String.Length (Nomf) > 0) then Lexical.Init (Bounded_String.Image (Nomf)); Lexical.Next; Put_Line ("Analyse Nom_Jeu: ........... En cours"); Nom_Jeu.Parse; Put (" --> Nom_Jeu .............. "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Actions: ....... En cours"); Les_Actions.Parse (Dict); Put (" --> Les_Actions ........... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Definitions: ... En cours"); Les_Definitions.Parse (Models_Table, Symbols_Table); Put (" --> Les_Definitions ....... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Presentations: En cours"); Les_Presentations.Parse (Models_Table, Symbols_Table, Comp); Put (" --> Les_Presentations ..... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Liaisons: ...... En cours"); Les_Liaisons.Parse (Comp, Connect, Links); Put (" --> Les_Liaisons .......... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse L_Introduction: .... En cours"); L_Introduction.Parse (Liste_Introduction, Models_Table, Symbols_Table, Comp, Dict); Put (" --> L_Introduction ........ "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Anims_Generales: En cours"); Les_Anims_Generales.Parse (Liste_Generale, Models_Table, Symbols_Table, Comp, Dict); Put (" --> Les_Anims_Generales ... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Anims_Globales: En cours"); Les_Anims_Globales.Parse (Liste_Globale, Models_Table, Symbols_Table, Comp, Dict); Put (" --> Les_Anims_Globales .... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Les_Anims_Locales: En cours"); Les_Anims_Locales.Parse (Liste_Locale, Models_Table, Symbols_Table, Comp, Dict); Put (" --> Les_Anims_Locales ..... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Put_Line ("Analyse Fin_Jeu: ........... En cours"); Fin_Jeu.Parse; Put (" --> Fin_Jeu ............... "); if Erreur.Probleme_De_Compilation then Put_Line ("Erreurs !!!"); else Put_Line ("OK"); end if; Lexical.Close; Parsed := True; else Parsed := False; end if; end Compile_The_Game; end Compiler;
nblk1=7 nid=0 hdr6=e [0x00] rec0=24 rec1=00 rec2=01 rec3=004 [0x01] rec0=1a rec1=00 rec2=02 rec3=014 [0x02] rec0=1b rec1=00 rec2=03 rec3=028 [0x03] rec0=18 rec1=00 rec2=04 rec3=03c [0x04] rec0=18 rec1=00 rec2=05 rec3=084 [0x05] rec0=18 rec1=00 rec2=06 rec3=00c [0x06] rec0=18 rec1=00 rec2=07 rec3=001 tail 0x2174d68c8865b464b1d88 0x42a00088462060003