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: 2608 (0xa30) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
with Arguments; with Message; with Msg_Report; with Object; with Scanner; with String_Utilities; with Unparse_Report; with Value; package body More_Value is type Node_Structure is record Valu : Value.Node := Value.Empty_Node; Keyw : Message.Selector := Message.Void_Selector; Lign : Integer; end record; function Su_Capitalize (A_String : String) return String renames String_Utilities.Capitalize; procedure Parse (N : in out Node; Error : out Boolean) is use Scanner; Failed : Boolean := False; begin Msg_Report.Information ("I enter in more_value's parse"); N := new Node_Structure; N.Lign := Scanner.Line_Number; Message.Copy (N.Keyw, Scanner.Value); Msg_Report.Continue ("Keyword is " & Message.Image (N.Keyw)); Scanner.Next; if Value.Is_First (Scanner.Symbol) then Value.Parse (N.Valu, Failed); else Failed := True; Msg_Report.Syntax_Error ("incorrect first for more_value :"); end if; Msg_Report.Information ("I leave more_value's parse with failed = " & Boolean'Image (Failed)); Error := Failed; end Parse; procedure Unparse (N : Node) is begin Unparse_Report.Write (Su_Capitalize (Message.Image (N.Keyw))); Value.Unparse (N.Valu); end Unparse; function Is_First (T : Scanner.Token) return Boolean is use Scanner; begin return T = L_Key_Word; end Is_First; function Interpret (N : Node; Inherited : Object.Reference := Object.Void_Reference; A_Keyword_Mess : Message.Selector; A_List : Arguments.List) return Object.Reference is Result : Object.Reference; A_Modify_Keyword_Mess : Message.Selector; begin Msg_Report.Information ("I enter in more_value's interpret"); Msg_Report.Set_Line_Number (N.Lign); A_Modify_Keyword_Mess := A_Keyword_Mess; Message.Cat (A_Modify_Keyword_Mess, N.Keyw); Result := Value.Interpret (N.Valu, Inherited, A_Modify_Keyword_Mess, A_List); Msg_Report.Information ("I leave more_value's interpret with result :"); Msg_Report.Continue ("class = " & Object.Class'Image (Object.The_Class (Result)) & " ident = " & Integer'Image (Object.Identificator (Result))); return Result; end Interpret; end More_Value;