|
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: 10240 (0x2800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Arguments, seg_037dce
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Block_Class; with Bounded_String; with Custom; with Errors; with Trace; package body Arguments is Valeur_Keyword : constant Scanner.Lexeme := Bounded_String.Value ("VALEUR:", Custom.String_Max_Length); procedure Build_Id_List is Id_Lexeme : Scanner.Lexeme; begin case Scanner.Get_Token is when Scanner.L_Id => Id_Lexeme := Scanner.Get_Value; Scanner.Next_Token; Build_Id_List; Block_Class.Set_Keyword (Valeur_Keyword); Block_Class.Set_Argument (Id_Lexeme); when Scanner.L_Dot => Scanner.Next_Token; when others => raise Errors.Expecting_Other_Id_Or_Dot; end case; end Build_Id_List; procedure Build_Keyw_Id_List is Id_Lexeme, Keyw_Lexeme : Scanner.Lexeme; begin case Scanner.Get_Token is when Scanner.L_Keyw => Keyw_Lexeme := Scanner.Get_Value; Scanner.Next_Token; case Scanner.Get_Token is when Scanner.L_Id => Id_Lexeme := Scanner.Get_Value; Scanner.Next_Token; Build_Keyw_Id_List; Block_Class.Set_Argument (Id_Lexeme); Block_Class.Set_Keyword (Keyw_Lexeme); when others => raise Errors.Expecting_Id_After_Keyword; end case; when Scanner.L_Dot => Scanner.Next_Token; when others => raise Errors.Expecting_Other_Keyword_Or_Dot; end case; end Build_Keyw_Id_List; procedure Parse is begin Trace.Display ("parsing Arguments"); case Scanner.Get_Token is when Scanner.L_Avec => Block_Class.New_Arg_List; Block_Class.New_Symbols_Table; Scanner.Next_Token; case Scanner.Get_Token is when Scanner.L_Id => Build_Id_List; when Scanner.L_Keyw => Build_Keyw_Id_List; when others => raise Errors.Expecting_Id_Or_Keyword; end case; when others => null; end case; end Parse; function Is_First (T : Scanner.Token) return Boolean is use Scanner; begin return T = Scanner.L_Avec; end Is_First; end Arguments;
nblk1=9 nid=3 hdr6=6 [0x00] rec0=22 rec1=00 rec2=01 rec3=040 [0x01] rec0=1a rec1=00 rec2=07 rec3=004 [0x02] rec0=18 rec1=00 rec2=05 rec3=000 [0x03] rec0=14 rec1=00 rec2=02 rec3=000 [0x04] rec0=10 rec1=00 rec2=04 rec3=000 [0x05] rec0=42 rec1=61 rec2=33 rec3=648 [0x06] rec0=8d rec1=90 rec2=00 rec3=01f [0x07] rec0=e8 rec1=4c rec2=26 rec3=3c9 [0x08] rec0=21 rec1=2f rec2=80 rec3=003 tail 0x21531290884e58d3b29aa 0x42a00088462060003 Free Block Chain: 0x3: 0000 00 04 03 fc 80 1d 65 78 65 6d 65 20 3a 20 54 69 ┆ exeme : Ti┆ 0x4: 0000 00 02 00 31 00 11 20 20 20 20 65 6e 64 20 49 73 ┆ 1 end Is┆ 0x2: 0000 00 08 03 fc 80 02 3d 3e 02 00 31 20 20 20 20 20 ┆ => 1 ┆ 0x8: 0000 00 06 03 80 80 1d 65 78 65 6d 65 20 3a 20 54 69 ┆ exeme : Ti┆ 0x6: 0000 00 09 03 fc 80 0f 20 77 68 65 6e 20 6f 74 68 65 ┆ when othe┆ 0x9: 0000 00 00 00 19 80 16 20 20 20 20 20 20 20 20 20 20 ┆ ┆