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

⟦5f39e19ad⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Release, seg_00f32f

Derivation

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

E3 Source Code



with Text_Io;
use Text_Io;
with Calendar;
use Calendar;
with Library;
with Compilation;
procedure Release (To_Directory : in String :=
                      "!Machine.Gateway_Classes.Remote_File";
                   Of_Unit : in String := "Start_Server";
                   To_Unit : in String := "Remote_File_Server";
                   Response : in String := "<PROFILE>") is
    function Date return String is
        Year : Year_Number;
        Month : Month_Number;
        Day : Day_Number;
        Seconds : Duration;
        Pattern : constant String := "XXXX_XX_XX";
        Result : String (Pattern'Range) := Pattern;
        package Year_Io is new Integer_Io (Year_Number);
        package Month_Io is new Integer_Io (Month_Number);
        package Day_Io is new Integer_Io (Day_Number);
    begin
        for I in Result'Range loop
            Result (I) := Pattern (I);
        end loop;
        Split (Clock, Year, Month, Day, Seconds);
        Year_Io.Put (Result (Result'First + 0 .. Result'First + 3), Year);
        Month_Io.Put (Result (Result'First + 5 .. Result'First + 6), Month);
        Day_Io.Put (Result (Result'First + 8 .. Result'First + 9), Day);
        for I in Result'Range loop
            if Result (I) = ' ' then
                Result (I) := '0';
            end if;
        end loop;
        return Result;
    end Date;
    procedure Create_Text (Name : in String) is
        F : File_Type;
    begin
        Create (File => F, Mode => Out_File, Name => Name);
        Put_Line (F, "with " & To_Unit & "_" & Date & ";");
        Put_Line (F, "procedure " & To_Unit & " is");
        Put_Line (F, "begin");
        Put_Line (F, Ascii.Ht & To_Unit & "_" & Date & ";");
        Put_Line (F, "end;");
        Close (F);
    end Create_Text;
    procedure Delete_Text (Name : in String) is
        F : File_Type;
    begin
        Create (File => F, Mode => Out_File, Name => Name);
        Delete (F);
    end Delete_Text;
begin  
    Library.Delete (Existing => To_Directory & "." & To_Unit,
                    Response => Response);
    Library.Delete (Existing => To_Directory & "." & To_Unit & "_@",
                    Response => Response);  
    Compilation.Load (From => Of_Unit,
                      To => To_Directory & "." & To_Unit & "_" & Date,
                      Response => Response);
    Create_Text (To_Directory & "." & To_Unit & "_Text");
    Compilation.Parse (File_Name => To_Directory & "." & To_Unit & "_Text",
                       Directory => To_Directory,
                       Response => Response);  
    Delete_Text (To_Directory & "." & To_Unit & "_Text");
    Compilation.Promote (Unit => To_Directory & "." & To_Unit,
                         Goal => Compilation.Coded,
                         Response => Response);
end Release;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1c rec1=00 rec2=01 rec3=016
        [0x01] rec0=19 rec1=00 rec2=02 rec3=01a
        [0x02] rec0=13 rec1=00 rec2=03 rec3=000
    tail 0x2170bb986822a65cdff93 0x42a00088462060003