DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦a28a64458⟧ TextFile

    Length: 1495 (0x5d7)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

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;