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

⟦8dec6e629⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Table1, seg_04e8e5

Derivation

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

E3 Source Code



generic

    type Item is private;

    Taille : Natural;

    with function Cle (I : Item) return Natural is <>;

    with function Image (I : Item) return String is <>;

package Table1 is

    type Object is private;

    type Iterateur is private;

    procedure Create (O : in out Object);

    procedure Ajouter (O : in out Object; Element : Item);
    procedure Supprimer (O : in out Object; Key : Natural);
    procedure Modifier (O : in out Object; Key : Natural; Element : Item);

    function Is_In (O : Object; Key : Natural) return Boolean;
    function Search (O : Object; Key : Natural) return Item;
    -- recherche le premier Item correspondant a la cle

    function First_Item (O : Object; Key : Natural) return Iterateur;
    function First_Item (O : Object) return Iterateur;
    function Current_Item (I : Iterateur; O : Object) return Item;
    procedure Next_Item (I : in out Iterateur; O : Object);
    function End_Item (I : Iterateur) return Boolean;

    procedure Dump (O : Object);

    Table_Overflow : exception;
    Item_Not_Found : exception;
    Fin_Iterateur : exception;

private

    Fin_Liste : constant Natural := 0;

    subtype T_Table_Range is Natural range 1 .. Taille;

    type Poste is
        record
            Element : Item;
            Suiv : Natural;
        end record;

    type T_Table is array (T_Table_Range) of Poste;

    type Object is
        record
            Tab : T_Table;
            Premier : Natural;
            Libre : Natural;
        end record;

    type Iterateur is
        record
            Indice : Natural;
            Utilise_Cle : Boolean := False;
            Cle : Natural;
        end record;

end Table1;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=20 rec1=00 rec2=01 rec3=03e
        [0x01] rec0=25 rec1=00 rec2=02 rec3=001
    tail 0x2154a25d0876f60e87cfb 0x42a00088462060003