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: 1723 (0x6bb) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
with Lex, Error, Debug, Symbol; with Body_Description, Value, Description_List; package body Case_List is procedure Parse (N : in out Binary_Tree.Node; Success : in out Boolean) is N1 : Binary_Tree.Node; N2 : Binary_Tree.Node; Ok : Boolean := True; begin Success := True; N1 := new Binary_Tree.Node_Structure; N2 := new Binary_Tree.Node_Structure; N1.Left_Son := N2; N2.The_Type := Binary_Tree.L_Case_Type; Value.Parse (N2.Left_Son, Ok); Success := Success and Ok; if Lex.Current_Token_Is (Lex.Faire) then Debug.Put (270); Lex.Next; Body_Description.Parse (N2.Right_Son, Ok); Success := Success and Ok; if Lex.Current_Token_In ((Lex.Temps, Lex.Int, Lex.Identifier)) then Parse (N1.Right_Son, Ok); Success := Success and Ok; end if; else Error.Append (26); Success := False; end if; N := N1; end Parse; procedure Generate (N : Binary_Tree.Node; T : in out Natural; S : String) is N1 : Binary_Tree.Node; Ok : Boolean := True; The_Var_Type : Symbol.Symbol_Type; The_Value, Value1 : Natural; begin N1 := N; loop Symbol.Get_Variable (S, The_Var_Type, The_Value, Ok); Value.Generate (N1.Left_Son.Left_Son, Value1); if Value1 = The_Value then Body_Description.Generate (N1.Left_Son.Right_Son, T); end if; exit when Binary_Tree."=" (N1.Right_Son, null); N1 := N1.Right_Son; end loop; end Generate; end Case_List;