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: 3830 (0xef6) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦e24fb53b7⟧ └─⟦this⟧
with Text_Io; package body Output_Stream is type Object_Structure is record File : Text_Io.File_Type; Column : Positive := 1; Indentation : Integer := 1; end record; The_Standard_Output : Object := new Object_Structure; package Float_Io is new Text_Io.Float_Io (Float); package Duration_Io is new Text_Io.Fixed_Io (Duration); function Normalised (S : String) return String is Start : Integer := S'First; Stop : Integer := S'Last; No_Blank : Boolean; begin for I in S'First .. S'Last loop Start := I; exit when S (I) /= ' '; end loop; for I in Start .. S'Last loop exit when S (I) = ' '; Stop := I; end loop; return S (Start .. Stop); end Normalised; function Standard_Output return Object is begin return The_Standard_Output; end Standard_Output; procedure Open (The_Object : in out Object; Name : String) is begin raise Not_Implemented; end Open; procedure Align (To_Col : Positive; The_Object : Object) is begin The_Object.Column := To_Col; end Align; procedure Indent (Count : Integer; The_Object : Object) is begin The_Object.Indentation := The_Object.Indentation + Count; if The_Object.Indentation <= 1 then The_Object.Indentation := 1; end if; The_Object.Column := The_Object.Indentation; end Indent; procedure Indent_Right (The_Object : Object) is begin Indent (+2, The_Object); end Indent_Right; procedure Indent_Left (The_Object : Object) is begin Indent (-2, The_Object); end Indent_Left; procedure Put (I : Integer; To : Object) is begin Put (Normalised (Integer'Image (I)), To); end Put; procedure Put (B : Boolean; To : Object) is begin Put (Normalised (Boolean'Image (B)), To); end Put; procedure Put (C : Character; To : Object) is begin Put ("" & C, To); end Put; procedure Put (F : Float; To : Object) is S : String (1 .. 80); begin Float_Io.Put (S, F); Put (Normalised (S), To); end Put; procedure Put (D : Duration; To : Object) is S : String (1 .. 80); begin Duration_Io.Put (S, D); Put (Normalised (S), To); end Put; procedure Put (S : String; To : Object) is begin Text_Io.Set_Col (To.File, Text_Io.Positive_Count (To.Column)); Text_Io.Put (To.File, S); To.Column := To.Column + S'Length; end Put; procedure New_Line (To : Object; Count : Positive := 1) is begin Text_Io.New_Line (To.File, Text_Io.Positive_Count (Count)); To.Column := To.Indentation; end New_Line; procedure Put_Line (I : Integer; To : Object) is begin Put (I, To); New_Line (To); end Put_Line; procedure Put_Line (B : Boolean; To : Object) is begin Put (B, To); New_Line (To); end Put_Line; procedure Put_Line (C : Character; To : Object) is begin Put (C, To); New_Line (To); end Put_Line; procedure Put_Line (F : Float; To : Object) is begin Put (F, To); New_Line (To); end Put_Line; procedure Put_Line (D : Duration; To : Object) is begin Put (D, To); New_Line (To); end Put_Line; procedure Put_Line (S : String; To : Object) is begin Put (S, To); New_Line (To); end Put_Line; begin Text_Io.Open (File => The_Standard_Output.File, Mode => Text_Io.Out_File, Name => Text_Io.Name (Text_Io.Standard_Output)); end Output_Stream;