DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦769961995⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Sub_Routine_Definition, seg_038b77

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Lex, Error, Symbol, Debug, Binary_Tree;
with Parameter, Body_Description;

package body Sub_Routine_Definition is

    procedure Parse (Success : in out Boolean) is
        N1 : Binary_Tree.Node;
        Ok : Boolean := True;
    begin  
        Success := True;
        if Lex.Current_Token_Is (Lex.Identifier) then
            declare
                Name : constant String := Lex.Image;
            begin
                Symbol.Add_Function (Name);
                Debug.Put (201);
                Lex.Next;  
                Symbol.Set_Current_Level (2, Name);
                Parameter.Parse (Ok);  
                Success := Success and Ok;
                if Lex.Current_Token_Is (Lex.Est) then
                    Debug.Put (203);
                    Lex.Next;
                    N1 := new Binary_Tree.Node_Structure;
                    Symbol.Set_Start_Point (Name, N1);
                    Body_Description.Parse (N1.Right_Son, Ok);
                    Success := Success and Ok;
                    if Lex.Current_Token_Is (Lex.Identifier) then
                        Symbol.Set_Current_Level (1, Name);  
                        Parse (Ok);
                        Success := Success and Ok;
                    end if;
                else
                    Error.Append (39);
                    Success := False;
                end if;  
                Symbol.Set_Current_Level (1, Name);
            end;
        end if;  
    end Parse;
end Sub_Routine_Definition;


E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=1c rec1=00 rec2=01 rec3=016
        [0x01] rec0=10 rec1=00 rec2=02 rec3=001
    tail 0x2173667d484e839b3861c 0x42a00088462060003