|
|
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: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Run, seg_0391af
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Custom;
with Easy_X;
with Errors;
with Interpreter;
with Io_Exceptions;
with Parser;
with Statements;
with Trace;
with Unparser;
procedure Run (Source_File : String := "tiny_talk";
Trace_Option : Boolean := False;
Unparse_Option : Boolean := True;
Unparse_To_File : String := "tiny_unparsed";
Terminal : String) is
Syntaxic_Tree_Root : Statements.Node;
Error_Number : Natural;
begin
if Trace_Option then
Trace.On;
end if;
Trace.Display ("----- DEBUT ANALYSE SYNTAXIQUE ... -----", True);
Parser.Go (Source_File, Syntaxic_Tree_Root, Terminal);
Trace.Display ("----- FIN ANALYSE SYNTAXIQUE -----", True);
Trace.Display ("", True);
if Unparse_Option then
Trace.Display ("----- DEBUT REFORMATAGE SOURCE ... -----", True);
Unparser.Start (Syntaxic_Tree_Root, Source_File, Unparse_To_File);
Unparser.Go (Syntaxic_Tree_Root);
Unparser.Stop;
Trace.Display ("----- FIN REFORMATAGE SOURCE -----", True);
Trace.Display ("", True);
end if;
Trace.Display ("----- DEBUT INTERPRETATION ... -----", True);
Easy_X.Open (Terminal, " - TINY TALK - ", Custom.Left,
Custom.Right, Custom.Width, Custom.Height);
loop
case Easy_X.Next_Event is
when Easy_X.Update =>
Interpreter.Go (Syntaxic_Tree_Root, Terminal);
when Easy_X.Button_Down =>
exit;
when Easy_X.Button_Up =>
null;
end case;
end loop;
Easy_X.Close;
Trace.Display ("----- FIN INTERPRETATION -----", True);
Trace.Display ("", True);
exception
when Io_Exceptions.Status_Error =>
Errors.Run_Log ("L'un des fichiers " & Source_File & " ou " &
Unparse_To_File & " est deja ouvert !", Terminal);
when Io_Exceptions.Name_Error =>
Errors.Run_Log
("Nom de fichier invalide pour " & Source_File & " ou " &
Unparse_To_File & " ! (peut-etre n'existent-ils pas...)",
Terminal);
when Io_Exceptions.Use_Error =>
Errors.Run_Log
("L'un des fichiers " & Source_File & " ou " & Unparse_To_File &
" ne peut pas etre ouvert, ou est verrouille !", Terminal);
when Errors.Stop_Parsing =>
Errors.Run_Log
(" *** ANALYSE SYNTAXIQUE STOPPEE ! ***", Terminal);
when Errors.Stop_Interpreting =>
Errors.Run_Log (" *** INTERPRETATION STOPPEE ! ***", Terminal);
when Constraint_Error =>
Errors.Run_Log
("Une erreur de type 'Constraint Error' a ete detectee ! ",
Terminal);
when Numeric_Error =>
Errors.Run_Log
("Une erreur de type 'Numeric Error' a ete detectee ! ", Terminal);
when Program_Error =>
Errors.Run_Log
("Une erreur de type 'Program Error' a ete detectee ! ", Terminal);
when Tasking_Error =>
Errors.Run_Log
("Une erreur de type 'Tasking Error' a ete detectee ! ", Terminal);
when Storage_Error =>
Easy_X.Close;
Trace.Display ("", True);
Trace.Display ("", True);
Trace.Display
(" !!! ERREUR DE TYPE 'STORAGE ERROR' : MEMOIRE INSUFFISANTE !!!",
True);
when others =>
Errors.Run_Log
(" ??? Une erreur non identifiee a ete detectee ???",
Terminal);
end Run;
nblk1=7
nid=6
hdr6=a
[0x00] rec0=20 rec1=00 rec2=01 rec3=022
[0x01] rec0=1a rec1=00 rec2=02 rec3=076
[0x02] rec0=00 rec1=00 rec2=05 rec3=010
[0x03] rec0=16 rec1=00 rec2=07 rec3=022
[0x04] rec0=13 rec1=00 rec2=03 rec3=000
[0x05] rec0=03 rec1=00 rec2=05 rec3=000
[0x06] rec0=e4 rec1=74 rec2=00 rec3=01f
tail 0x215321d4e84eb553835e4 0x42a00088462060003
Free Block Chain:
0x6: 0000 00 04 00 19 80 02 3d 3e 02 00 11 20 20 20 20 20 ┆ => ┆
0x4: 0000 00 00 00 3e 80 19 69 6e 65 20 22 2c 20 4c 69 6e ┆ > ine ", Lin┆