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

⟦3983a68b6⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Main, seg_041980

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 Symbols, Dynamic_Object, Text_Io;

procedure Main is
    D1, D2, D3 : Dynamic_Object.Dynamic_Object;
    S : Symbols.Object;

    procedure Print_With_Index (D : Symbols.Object) is
        Index : Symbols.Symbol_Index;
        Val : Dynamic_Object.Dynamic_Object;
    begin
        Symbols.Open_Symbol_Indexation (D, Index);
        while not Symbols.No_More_Symbols (Index) loop
            Text_Io.Put_Line ("****************************************");
            Text_Io.Put_Line
               (Symbols.Get_Indexed_Symbol_Name (Index) & " : " &
                Symbols.Get_Indexed_Symbol_Type (Index) & "-> WITH:");
            Dynamic_Object.New_Object (Val);
            Symbols.Get_Indexed_Symbol_Value (Index, Val);
            Dynamic_Object.Dump_Object_Attributes (Val);
            Dynamic_Object.Dispose_Object (Val);
            Symbols.Next_Symbol_Index (Index);
        end loop;
    end Print_With_Index;






begin

    Dynamic_Object.New_Object (D1);
    Dynamic_Object.New_Object (D2);
    Dynamic_Object.New_Object (D3);
    Symbols.Create (S);

    Dynamic_Object.Store_Attribute (D1, Name => "Nom      ", S => "Asterix");
    Dynamic_Object.Store_Attribute (D1, Name => "Age      ", I => 45);
    Dynamic_Object.Store_Attribute (D1, Name => "Est un   ", S => "Gaulois");
    Dynamic_Object.Store_Attribute (D1, Name => "Moustachu", B => True);
    Dynamic_Object.Store_Attribute (D1, Name => "Poids    ", I => 58);
    Text_Io.Put_Line ("....................................");
    Dynamic_Object.Dump_Number_Of_Attribute (D => D1);
    Dynamic_Object.Dump_Object_Attributes (D1);

    Dynamic_Object.Store_Attribute (D2, Name => "Nom      ", S => "Obelix ");
    Dynamic_Object.Store_Attribute (D2, Name => "Force    ", I => 99);
    Text_Io.Put_Line ("....................................");
    Dynamic_Object.Dump_Number_Of_Attribute (D => D2);
    Dynamic_Object.Dump_Object_Attributes (D2);

    Dynamic_Object.Store_Attribute (D3, Name => "Nom      ", S => "Idefix ");
    Dynamic_Object.Store_Attribute (D3, Name => "Est un   ", S => "Chien  ");
    Dynamic_Object.Store_Attribute (D3, Name => "Chien    ", B => True);
    Dynamic_Object.Store_Attribute (D3, Name => "Couleur  ", I => 1);
    Text_Io.Put_Line ("....................................");
    Dynamic_Object.Dump_Number_Of_Attribute (D => D3);
    Dynamic_Object.Dump_Object_Attributes (D3);


    Symbols.Store_Symbol (S, "ASTERIX  ", "GAULOIS  ", D1);
    Symbols.Store_Symbol (S, "OBELIX   ", "GAULOIS  ", D2);
    Symbols.Store_Symbol (S, "IDEFIX   ", "ANIMAL   ", D3);
    Text_Io.Put_Line ("----------------------------------------");
    Text_Io.Put_Line ("--- Print Table des Symbols   ----------");
    Symbols.Dump_Symbols (S);
    Symbols.Dump_Number_Of_Symbol (S);



    Text_Io.Put_Line ("....................................");
    Text_Io.Put_Line ("Print Using an Iterator -> ");
    Print_With_Index (S);
    Text_Io.Put_Line ("....................................");

    Text_Io.Put_Line ("Destroy Dynamic Object");
    Dynamic_Object.Dispose_Object (D1);
    Dynamic_Object.Dispose_Object (D2);
    Dynamic_Object.Dispose_Object (D3);
    Dynamic_Object.Dump_Number_Of_Attribute (D1);
    Dynamic_Object.Dump_Number_Of_Attribute (D2);
    Dynamic_Object.Dump_Number_Of_Attribute (D3);

    Symbols.Dispose_Object (S);
    Symbols.Dump_Number_Of_Symbol (S);

end Main;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=21 rec1=00 rec2=01 rec3=018
        [0x01] rec0=14 rec1=00 rec2=02 rec3=004
        [0x02] rec0=15 rec1=00 rec2=03 rec3=00e
        [0x03] rec0=0f rec1=00 rec2=04 rec3=000
    tail 0x2174237f4862656cbb3fa 0x42a00088462060003