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 - downloadIndex: ┃ B T ┃
Length: 2177 (0x881) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
separate (Parse) procedure Parse_Activer (Ok : out Boolean; The_Node : out Abstract_Tree.P_Node) is Class_Node, Actor_Node : Abstract_Tree.P_Node; Success : Boolean; Table_Changed : Boolean := False; begin Ok := True; Text_Io.Put_Line ("parse_activer"); if Lex.Get_Token = L_Activer then Lex.Next; if Lex.Get_Token = L_Id then if Symbol_Table.Is_Visible (Lex.Get_Value) then declare The_Class : Element.Class; begin Symbol_Table.Get_Class (Lex.Get_Value, The_Class, Success); Symbol_Table.Change_Current_Table (The_Class, Success); Table_Changed := Success; end; Class_Node := Abstract_Tree.Make_Foliage (L_Id, Lex.Get_Value); else Error.Found; Class_Node := Abstract_Tree.Empty_Node; end if; Lex.Next; if Lex.Get_Token = L_Point then Lex.Next; if Lex.Get_Token = L_Id then if Symbol_Table.Is_Visible_Local (Lex.Get_Value) then Actor_Node := Abstract_Tree.Make_Foliage (L_Id, Lex.Get_Value); The_Node := Abstract_Tree.Make_Node (L_Activer, Class_Node, Actor_Node); else Error.Found; The_Node := Abstract_Tree.Empty_Node; end if; Lex.Next; else Ok := False; The_Node := Abstract_Tree.Empty_Node; end if; else Ok := False; The_Node := Abstract_Tree.Empty_Node; end if; else Ok := False; The_Node := Abstract_Tree.Empty_Node; end if; else Ok := False; The_Node := Abstract_Tree.Empty_Node; end if; if Table_Changed then Symbol_Table.Leave_Table (Success); end if; end Parse_Activer;