|
|
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: 1394 (0x572)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
separate (Parse)
procedure Parse_Dans (Ok : out Boolean; The_Node : out Abstract_Tree.P_Node) is
Ok1 : Boolean := True;
The_List, The_Next_List : Abstract_Tree.P_Instruction_List;
Expr_Node : Abstract_Tree.P_Node;
begin
Ok := True;
Abstract_Tree.Create_List (The_List);
Abstract_Tree.Create_List (The_Next_List);
Text_Io.Put_Line ("parse_Dans");
if Lex.Get_Token = L_Dans then
Lex.Next;
Parse_Expression (Ok1, Expr_Node);
if not Ok1 then
Parse_Error (Variable_Follow);
end if;
if Lex.Get_Token = L_Faire then
Lex.Next;
Parse_Les_Ordres (Ok1, The_List);
if not Ok1 then
Parse_Error (Les_Ordres_Follow);
end if;
Parse_Dans_Suite (Ok1, The_Next_List);
if not Ok1 then
Parse_Error (Dans_Suite_Follow);
else
The_Node := Abstract_Tree.Make_Node
(L_Dans, Expr_Node, The_List, The_Next_List);
end if;
if Lex.Get_Token = L_Fin then
Lex.Next;
else
Ok := False;
end if;
else
Ok := False;
The_Node := Abstract_Tree.Empty_Node;
end if;
else
Ok := False;
The_Node := Abstract_Tree.Empty_Node;
end if;
end Parse_Dans;