|
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: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Compiler, seg_047d5c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Lexical_Analyzer, Scenario, Unbounded_String, Error, Text_Io; package body Compiler is package Unlimited_String is new Unbounded_String (10); function Get_File_Name return String is Name, Dir_Name : String (1 .. 100); Length, Dir_Lenght : Natural; Dir_Fichier_Defaut_Lenght : constant Natural := 19; begin Text_Io.Put_Line ("CHOIX DU REPERTOIRE:"); Text_Io.Put_Line ("Le repertoire 'Dir_Fichier_De_Jeux' sera pris par defaut."); Text_Io.Put_Line ("Si vous desirez acceder a ce repertoire, taper simplement F8"); Text_Io.Put_Line ("Si vous desiderez acceder a un autre repertoire, veuillez entrer le nouveau nom du "); Text_Io.Put_Line ("repertoire ou se trouve le fichier contenant le scenario, et valider par F8"); Text_Io.Get_Line (Dir_Name, Dir_Lenght); if Dir_Lenght = 0 then Dir_Lenght := Dir_Fichier_Defaut_Lenght; Dir_Name := ("Dir_Fichier_De_Jeux") & (Dir_Fichier_Defaut_Lenght + 1 .. 100 => ' '); end if; Text_Io.New_Line; Text_Io.Put_Line ("CHOIX DU FICHIER:"); Text_Io.Put_Line ("Veuillez entrer le nom du fichier contenant le scenario, et valider par F8"); Text_Io.Get_Line (Name, Length); Text_Io.New_Line; return (Dir_Name (1 .. Dir_Lenght) & '.' & Name (1 .. Length)); end Get_File_Name; procedure Open_File (Name : String) is begin Lexical_Analyzer.Open (Name); Lexical_Analyzer.Next; exception when Lexical_Analyzer.Excep_Eof => -- si le fichier est vide Error.Set_Type_Error (Error.Decl_Vie_Expected); Error.Treat; raise Error.Excep_Syntaxe_Aborded; end Open_File; procedure Close_File is begin Lexical_Analyzer.Close; end Close_File; procedure Go (List_Init, List_Vie : in out Action_List.Object) is Name : Unlimited_String.Variable_String; begin Name := Unlimited_String.Value (Get_File_Name); Open_File (Unlimited_String.Image (Name)); Text_Io.Put_Line (" Patientez S.V.P., la construction du jeu est en cours ... "); Text_Io.Put_Line (" ------------------------------------------------------------ "); Text_Io.New_Line; Scenario.Parse (List_Init, List_Vie); Close_File; exception when Error.Excep_Syntaxe_Aborded => Text_Io.Put_Line ("L'instanciation du scenario de jeu a echoue pour cause d'erreurs."); Text_Io.Put_Line (" Patientez S.V.P., je construis le fichier d'erreurs "); Error.Make_Error_File (Unlimited_String.Image (Name)); Text_Io.New_Line; Text_Io.Put_Line (" Veuillez consulter le fichier " & (Unlimited_String.Image (Name)) & "_error pour corriger les erreurs."); raise Failed; when Lexical_Analyzer.File_Does_Not_Exist => Text_Io.New_Line; Text_Io.Put_Line ("Le fichier " & Unlimited_String.Image (Name) & " n'existe pas"); raise Failed; end Go; end Compiler;
nblk1=5 nid=2 hdr6=8 [0x00] rec0=1a rec1=00 rec2=01 rec3=044 [0x01] rec0=1f rec1=00 rec2=04 rec3=030 [0x02] rec0=19 rec1=00 rec2=05 rec3=02a [0x03] rec0=0d rec1=00 rec2=03 rec3=000 [0x04] rec0=80 rec1=00 rec2=00 rec3=100 tail 0x21544ded4865759bc6a3f 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 00 00 19 80 07 20 20 62 65 67 69 6e 07 00 0c ┆ begin ┆