|
|
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: 3125 (0xc35)
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;
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 (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 (I : Integer; To : Object) is
begin
Put (Normalised (Integer'Image (I)), 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 (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 (I : Integer; To : Object) is
begin
Put (I, 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;