|
|
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 Go_Tiny, seg_03887b, seg_038ac4
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Block_Class;
with Boolean_Class;
with Easy_X;
with Integer_Class;
with Msg_Report;
with Object;
with Pen_Class;
with Primary;
with Scanner;
with Statements;
with String_Class;
with Symbol_Table;
with Text_Io;
with Turtle_Class;
with Unparse_Report;
procedure Go_Tiny (Source_File_Name : String := "demo_tiny_talk";
Unparse_File_Name : String := "demo_tiny_talk";
Display : String;
With_Unparse : Character := 'Y';
With_Tracing_Mode : Character := 'N') is
Node : Statements.Node;
Tiny_Object : Object.Reference;
Parse_Failed : Boolean := False;
Window_Name : constant String := "Tiny Talk";
use Scanner;
begin
if With_Tracing_Mode = 'Y' or With_Tracing_Mode = 'y' then
Msg_Report.Tracing_On;
else
Msg_Report.Tracing_Off;
end if;
Scanner.Open (Source_File_Name);
Scanner.Next;
Text_Io.Put ("Parsing in progress ...");
Text_Io.New_Line;
Symbol_Table.Create;
Statements.Parse (Node, Parse_Failed);
if not Parse_Failed then
if With_Unparse = 'Y' or With_Unparse = 'y' then
Unparse_Report.Open (Unparse_File_Name);
Text_Io.Put ("Unparsing in progress ...");
Text_Io.New_Line;
Statements.Unparse (Node);
Unparse_Report.Close;
end if;
Easy_X.Open (Display, Window_Name);
loop
Turtle_Class.Init_Instance_Table;
Pen_Class.Init_Instance_Table;
case Easy_X.Next_Event is
when Easy_X.Update =>
Text_Io.Put ("Interpretation in progress ...");
Text_Io.New_Line;
Tiny_Object := Statements.Interpret (Node);
Text_Io.Put ("Tiny_object is " &
Object.Class'Image
(Object.The_Class (Tiny_Object)) &
" content " & Integer'Image
(Object.Identificator
(Tiny_Object)));
Text_Io.New_Line;
when Easy_X.Button_Down | Easy_X.Button_Up =>
exit;
end case;
end loop;
Easy_X.Close;
Text_Io.Put ("Good bye !!!");
Text_Io.New_Line;
else
if Scanner.Symbol /= L_Unknown then
Scanner.Close;
end if;
end if;
exception
when Scanner.Inexistant_File =>
Msg_Report.Interpret_Error ("Stop Tiny Talk");
when Boolean_Class.Incorrect_Method =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when Block_Class.Incorrect_Method | Block_Class.Incorrect_Return_Object |
Block_Class.Instance_Table_Full =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when Integer_Class.Incorrect_Method | Integer_Class.Incorrect_Nb_Args =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when Pen_Class.Incorrect_Method | Pen_Class.Instance_Table_Full =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when Primary.Undefined_Variable =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when String_Class.Incorrect_Method | String_Class.Incorrect_Nb_Args |
String_Class.Instance_Table_Full =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when Turtle_Class.Incorrect_Method | Turtle_Class.Instance_Table_Full =>
Msg_Report.Interpret_Error ("Stop interpret");
Easy_X.Close;
when others =>
Msg_Report.Interpret_Error ("Unknown exception !!! Stop Tiny Talk");
Easy_X.Close;
end Go_Tiny;
nblk1=7
nid=2
hdr6=a
[0x00] rec0=2a rec1=00 rec2=01 rec3=002
[0x01] rec0=24 rec1=00 rec2=06 rec3=04a
[0x02] rec0=22 rec1=00 rec2=04 rec3=078
[0x03] rec0=1b rec1=00 rec2=07 rec3=026
[0x04] rec0=04 rec1=00 rec2=05 rec3=000
[0x05] rec0=09 rec1=00 rec2=07 rec3=001
[0x06] rec0=53 rec1=24 rec2=00 rec3=01f
tail 0x21531a42684e77323f656 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 03 00 4b 00 43 20 20 20 20 20 20 20 20 20 20 ┆ K C ┆
0x3: 0000 00 00 00 c4 80 15 72 20 28 22 53 74 6f 70 20 69 ┆ r ("Stop i┆