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

⟦e1924a9f1⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Any_Object, package body C_Unit, package body Library, package body Object_Management_System, package body Unix_View, seg_0270a3, seg_027c62, seg_027cfd

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 Directory;
package body Object_Management_System is


    type Table is array (Iterator) of Library_Object;

    type Set is
        record
            Length : Iterator := 0;
            Parent : Library_Object;
            Element : Table;
        end record;

    Set_Of_Object : Set;


    function Nil return Library_Object is
    begin
        return Library_Object'(Subclass => Unknown_Subclass,
                               Name => Gs.Undefined_Object);
    end Nil;


    function Is_Nil (The_Object : Library_Object) return Boolean is
    begin
        return The_Object = Nil;
    end Is_Nil;


    function In_Text (The_Object : Library_Object) return String is
    begin
        return "Object : " & Gs.Image (The_Object.Name) &
                  " de subclass : " & Image (The_Object.Subclass);
    end In_Text;


    function Subclass_Of (The_Object : Library_Object)
                         return Subclass_Enumeration is
    begin
        return The_Object.Subclass;
    end Subclass_Of;


    function Equal (Subclass1, Subclass2 : Subclass_Enumeration)
                   return Boolean is
    begin
        return Subclass1 = Subclass2;
    end Equal;


    function Image (The_Subclass : Subclass_Enumeration) return String is
    begin
        case The_Subclass is
            when Library_Subclass =>
                return "library";
            when C_Unit_Subclass =>
                return "c_unit ";
            when Unix_File_Subclass =>
                return "file   ";
            when others =>
                return "       ";
        end case;
    end Image;


    function Value (S : String) return Subclass_Enumeration is
    begin
        if S = "library" then
            return Library_Subclass;
        elsif S = "c_unit " then
            return C_Unit_Subclass;
        elsif S = "file   " then
            return Unix_File_Subclass;
        else
            return Unknown_Subclass;
        end if;
    end Value;


    procedure Reset (Iter : in out Iterator) is
    begin
        Iter := 1;
    end Reset;


    procedure Next (Iter : in out Iterator) is
    begin
        Iter := Iter + 1;
    end Next;


    function Done (Iter : Iterator) return Boolean is
    begin
        return (Iter = Set_Of_Object.Length + 1);
    end Done;


    function Value (Iter : Iterator) return Library_Object is
    begin
        return Set_Of_Object.Element (Iter);
    end Value;

    function Normalise (The_String : in String; Len : Natural) return String is
    begin
        if The_String'Length >= Len then
            return The_String (The_String'First .. The_String'First + Len);
        else
            return The_String & (1 .. Len - The_String'Length => ' ');
        end if;
    end Normalise;

    package body Any_Object is separate;
    package body Library is separate;
    package body C_Unit is separate;
    package body Unix_View is separate;
end Object_Management_System;

E3 Meta Data

    nblk1=8
    nid=8
    hdr6=a
        [0x00] rec0=27 rec1=00 rec2=01 rec3=064
        [0x01] rec0=00 rec1=00 rec2=05 rec3=008
        [0x02] rec0=24 rec1=00 rec2=06 rec3=006
        [0x03] rec0=27 rec1=00 rec2=04 rec3=046
        [0x04] rec0=04 rec1=00 rec2=07 rec3=000
        [0x05] rec0=0a rec1=00 rec2=04 rec3=000
        [0x06] rec0=02 rec1=00 rec2=07 rec3=000
        [0x07] rec0=28 rec1=3a rec2=34 rec3=2f1
    tail 0x21721632083ab6a2db0bf 0x42a00088462060003
Free Block Chain:
  0x8: 0000  00 03 03 fc 80 0d 68 65 6e 20 6f 74 68 65 72 73  ┆      hen others┆
  0x3: 0000  00 02 03 fc 80 31 20 28 54 68 65 5f 4c 69 62 72  ┆     1 (The_Libr┆
  0x2: 0000  00 00 03 fc 80 2f 75 72 65 20 43 72 65 61 74 65  ┆     /ure Create┆