DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦8f03b6a07⟧ TextFile

    Length: 1978 (0x7ba)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦cb7165519⟧ 
            └─⟦this⟧ 

TextFile

with Debug_Tools;
with Io;
with Queue;
procedure Print (Name       : String  := "<IMAGE>";
                 Options    : String  := "";
                 Banner     : String  := "<DEFAULT>";
                 Header     : String  := "<DEFAULT>";
                 Footer     : String  := "<DEFAULT>";
                 Class      : String  := "!Machine.Lp_Class";
                 Trace_Only : Boolean := False) is

    Error_Termination : exception;

    function File_Contents (Name : String) return String is
        F : Io.File_Type;
        function Close_And_Return (S : String) return String is
        begin
            Io.Close (F);
            return S;
        end Close_And_Return;
    begin
        Io.Open (F, Io.In_File, Name);
        return Close_And_Return (Io.Get_Line (F));
    exception
        when others =>
            Io.Put_Line ("Unable to read class from file : " & Name &
                         " due to " & Debug_Tools.Get_Exception_Name);
            Io.Put_Line ("Check acls and file existence.");
            raise Error_Termination;
    end File_Contents;


    function Join (A, B : String) return String is
    begin
        if B'Length = 0 then
            return A;
        elsif A'Length = 0 then
            return B;
        else
            return A & "," & B;
        end if;
    end Join;



begin
    declare
        Class_Name : constant String := File_Contents (Class);
    begin
        Io.Put_Line (Io.Current_Error,
                     "Queue.Print (""" & Name & """, Options=>""" &
                        Join ("class=>" & Class_Name, Options) & """);");
        if not Trace_Only then
            Queue.Print (Name,
                         Options => Join ("class=>" & Class_Name, Options),
                         Banner  => Banner,
                         Header  => Header,
                         Footer  => Footer);
        end if;
    end;
exception
    when Error_Termination =>
        null;
end Print;
pragma Main