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

⟦cf523cd81⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Tds, seg_046cae

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



with Dynamic_Value, Generic_Binary_Tree;

package Tds is

    type Kinds is (Basic_Value, Record_Value, Unknown);


    Name_Does_Not_Exist_In_This_Table : exception;
    Name_Does_Not_Correspond_To_A_Table : exception;
    Name_Does_Not_Correspond_To_A_Value : exception;
    Name_Does_Already_Exist : exception;
    Id_Does_Not_Exist_In_This_Table : exception;

    type Object is private;


    procedure Deep_Copy (Source : in Object; Target : in out Object);

    function Get_Name (Where : in Object; Id : in Natural) return String;

    function Get_Table (Where : in Object; Name : in String) return Object;

    function Get_Access_On_Value (Where : in Object; Name : in String)
                                 return Dynamic_Value.Object;

    function Get_Kind_Of_Symbol
                (Where : in Object; Name : in String) return Kinds;

    function Get_Number_Of_Symbols (Where : in Object) return Natural;

    function Get_Type_Name (Where : in Object; Name : in String) return String;

    procedure Print (What : in Object);

    procedure Insert_Value_Symbol (Where : in out Object;
                                   N : in String;
                                   L, C : in Natural;
                                   Initial_Value : Dynamic_Value.Object);
    procedure Insert_Table_Symbol
                 (Where : in out Object; N, T : in String; L, C : in Natural);

private

    type Symbol_Content (What : Kinds := Unknown);
    type Symbol is access Symbol_Content;

    function Are_Equal (S1, S2 : Symbol) return Boolean;
    function "<" (S1, S2 : Symbol) return Boolean;
    procedure Deep_Copy (Source : in Symbol; Target : in out Symbol);

    package Tree is new Generic_Binary_Tree (Symbol, "<", Are_Equal, Deep_Copy);

    type Object_Content is
        record
            Table : Tree.Object;
            Number_Of_Symbols : Natural;
        end record;

    type Object is access Object_Content;


end Tds;


E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=20 rec1=00 rec2=01 rec3=008
        [0x01] rec0=1a rec1=00 rec2=02 rec3=022
        [0x02] rec0=07 rec1=00 rec2=04 rec3=000
        [0x03] rec0=03 rec1=fd rec2=02 rec3=042
    tail 0x215439c8086523772acbd 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 00 48 80 3f 6e 63 74 69 6f 6e 20 47 65 74  ┆   H ?nction Get┆