|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 1495 (0x5d7)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
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;