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

⟦371b66795⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Static_List_Generic, seg_026566, seg_026ce1

Derivation

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

E3 Source Code



-------------------------------------------------------------------------------
generic  
    Max_Size : Positive;
    type Element is private;

package Static_List_Generic is
    type Object is private;

    function Null_Object return Object;


    function Add (X : Element; Into : Object) return Object;
    -- can raise Full_Error


    function Is_Empty (The_Object : Object) return Boolean;
    -- used to avoid raising the Empty_Error exception

    function Is_Full (The_Object : Object) return Boolean;
    -- used to avoid raising the Full_Error exception

    function First (The_Object : Object) return Element;
    function Rest  (The_Object : Object) return Object;
    -- can raise Empty_Error

    generic
        with function Is_Equal (Left, Right : Element) return Boolean;
    function Is_Equal (Left, Right : Object) return Boolean;

    function Length (The_Object : Object) return Natural;

    generic
        with function Is_Equal (Left, Right : Element) return Boolean;
    function Is_Element
                (The_Element : Element; Of_The_Object : Object) return Boolean;


    procedure Set_Rest (The_Object : in out Object; To_Be : Object);
    -- can raise Empty_Error or Full_Error
    procedure Set_First (The_Object : in out Object; To_Be : Element);
    -- can raise Empty_Error

    Full_Error  : exception;
    Empty_Error : exception;

    generic
        with function "<" (Left, Right : Element) return Boolean;
    procedure Sort (The_Object : in out Object);

    procedure Free (The_Object : in out Object);
    -- make The_Object empty


    type Iterator is private;

    procedure Init  (Iter : out Iterator; The_Object : Object);
    procedure Next  (Iter : in out Iterator; The_Object : Object);
    function  Value (Iter : Iterator; The_Object : Object) return Element;
    function  Done  (Iter : Iterator; The_Object : Object) return Boolean;


    generic  
        Separator : String;
        with function Image (The_Element : Element) return String;
    function Image (The_Object : Object) return String;

    generic
        with procedure Display (The_Element : Element; String_Before : String);
    procedure Display (The_Object : Object; String_Before : String := "");

-------------------------------------------------------------------------------
private
    subtype Index is Positive range 1 .. Max_Size;
    type    Table is array (Index range <>) of Element;

    type Object is
        record
            The_Table : Table (Index);  
            Size      : Natural := 0;
        end record;

    type Iterator is
        record  
            Index_Value : Index;
            Done        : Boolean;
        end record;
end Static_List_Generic;
-------------------------------------------------------------------------------

E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=22 rec1=00 rec2=01 rec3=02e
        [0x01] rec0=1d rec1=00 rec2=02 rec3=016
        [0x02] rec0=1b rec1=00 rec2=04 rec3=000
        [0x03] rec0=1a rec1=00 rec2=03 rec3=000
    tail 0x21520436e83aa67935b4f 0x42a00088462063c03
Free Block Chain:
  0x3: 0000  00 00 00 0a 80 07 73 5f 65 71 75 61 6c 07 72 61  ┆      s_equal ra┆