|
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 List, seg_034a52
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Bug_Report; package body List is procedure Parse (Ident : in out Message.Unary; Kwd : in out Message.Unary) is use Scanner; begin case Scanner.Get_Token is when Scanner.Identifier => Message.Put (This_Name => Scanner.Get_Value, Into => Ident); Scanner.Next; if Scanner.Get_Token = Scanner.Identifier then Parse_Ident (Ident, Kwd); end if; when Scanner.Keyword => Message.Put (This_Name => Scanner.Get_Value, Into => Kwd); Scanner.Next; if Scanner.Get_Token = Scanner.Identifier then Message.Put (This_Name => Scanner.Get_Value, Into => Ident); Scanner.Next; if Scanner.Get_Token = Scanner.Keyword then Parse_Kwd (Ident, Kwd); end if; else raise Bug_Report.Identifier_Is_Missing; end if; when others => raise Bug_Report.Unexpected_Token; end case; end Parse; procedure Parse_Ident (Ident : in out Message.Unary; Kwd : in out Message.Unary) is use Scanner; begin Message.Put (This_Name => Scanner.Get_Value, Into => Ident); Scanner.Next; if Scanner.Get_Token = Scanner.Identifier then Parse_Ident (Ident, Kwd); end if; end Parse_Ident; procedure Parse_Kwd (Ident : in out Message.Unary; Kwd : in out Message.Unary) is use Scanner; begin Message.Put (This_Name => Scanner.Get_Value, Into => Kwd); Scanner.Next; if Scanner.Get_Token = Scanner.Identifier then Message.Put (This_Name => Scanner.Get_Value, Into => Ident); Scanner.Next; if Scanner.Get_Token = Scanner.Keyword then Parse_Kwd (Ident, Kwd); end if; else raise Bug_Report.Identifier_Is_Missing; end if; end Parse_Kwd; function Is_First (T : Scanner.Token) return Boolean is use Scanner; begin return T = Identifier or else T = Keyword; end Is_First; end List;
nblk1=5 nid=5 hdr6=6 [0x00] rec0=1a rec1=00 rec2=01 rec3=01c [0x01] rec0=1c rec1=00 rec2=02 rec3=00a [0x02] rec0=0f rec1=00 rec2=04 rec3=000 [0x03] rec0=10 rec1=00 rec2=05 rec3=000 [0x04] rec0=c0 rec1=00 rec2=00 rec3=100 tail 0x2152d055e84d3894d67a4 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 03 00 05 80 02 20 20 02 65 72 2e 4b 65 79 77 ┆ er.Keyw┆ 0x3: 0000 00 00 01 6c 80 11 65 6e 74 2c 20 4b 77 64 2c 20 ┆ l ent, Kwd, ┆