|
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: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Scanner, seg_037e06
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Bounded_String; with Msg_Report; with Scanner; with Symbol_Table; with Object; procedure Test_Scanner is use Scanner; use Object; Num_Value : Integer := 1; Receive_Token : Scanner.Token; Receive_Value : Scanner.B_String; Name, Ident : Scanner.B_String; Content : Object.Reference; begin Msg_Report.Tracing_On; Scanner.Open ("lex"); Symbol_Table.Create; Scanner.Next; Receive_Token := Scanner.Symbol; Bounded_String.Copy (Receive_Value, Scanner.Value); Msg_Report.Continue ("Value : " & Bounded_String.Image (Receive_Value)); while Receive_Token /= L_Eof loop case Receive_Token is when L_Identifier => if Scanner.Value = "mettrei" then Content := Object.Create (C_Integer, 20); Bounded_String.Copy (Ident, "i"); Symbol_Table.Set_Info (Ident, Content); else Bounded_String.Copy (Ident, Scanner.Value); Symbol_Table.Insert (Ident, Object.Void_Reference); if Scanner.Value = "i" then Content := Object.Create (C_Integer, Num_Value); end if; if Scanner.Value = "chaine" then Content := Object.Create (C_String, Num_Value); end if; if Scanner.Value = "tortue" then Content := Object.Create (C_Turtle, Num_Value); end if; if Scanner.Value = "j" then Content := Object.Create (C_Integer, Num_Value); end if; if Scanner.Value = "k" then Content := Object.Create (C_Integer, Num_Value); end if; Symbol_Table.Set_Info (Ident, Content); Num_Value := Num_Value + 1; end if; when L_Open_Bracket => Symbol_Table.New_Enter (Name); when L_Close_Bracket => Symbol_Table.Leave; when others => null; end case; Scanner.Next; Receive_Token := Scanner.Symbol; Bounded_String.Copy (Receive_Value, Scanner.Value); Msg_Report.Continue ("Value : " & Bounded_String.Image (Receive_Value)); end loop; Symbol_Table.Image_Table; Msg_Report.Information ("C'EST FINI !!!"); end Test_Scanner;
nblk1=4 nid=0 hdr6=8 [0x00] rec0=29 rec1=00 rec2=01 rec3=018 [0x01] rec0=01 rec1=00 rec2=02 rec3=072 [0x02] rec0=17 rec1=00 rec2=03 rec3=008 [0x03] rec0=18 rec1=00 rec2=04 rec3=000 tail 0x2153130b884e58d3407a6 0x42a00088462060003