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

⟦323c21953⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Our_Inst, seg_04990d

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 Text_Io;

package body Our_Inst is


    function Affect (A_Name_Left : String;
                     A_Ext1_Left : String;
                     A_Ext2_Left : String;
                     A_Comp_Or_Affect : String;
                     A_Value : String;
                     A_Name_Right : String;
                     A_Ext1_Right : String;
                     A_Ext2_Right : String;
                     A_Operation : String;
                     A_Integer : String) return Object is


        Tmp : Object;
    begin
        Tmp.Name_Left := Our_String.Value (A_Name_Left);
        Tmp.Ext1_Left := Our_String.Value (A_Ext1_Left);
        Tmp.Ext2_Left := Our_String.Value (A_Ext2_Left);
        Tmp.Comp_Or_Affect := Our_String.Value (A_Comp_Or_Affect);
        Tmp.Value := Our_String.Value (A_Value);
        Tmp.Name_Right := Our_String.Value (A_Name_Right);
        Tmp.Ext1_Right := Our_String.Value (A_Ext1_Right);
        Tmp.Ext2_Right := Our_String.Value (A_Ext2_Right);
        Tmp.Operation := Our_String.Value (A_Operation);
        Tmp.The_Integer := Our_String.Value (A_Integer);
        Tmp.Pointer := null;
        return Tmp;
    end Affect;


    function Create return List is

    begin

        return Q_List.Create;

    end Create;

    function Cellvalue (The_Iter : Iter) return Object is

    begin

        return Q_List.Cellvalue (The_Iter);

    end Cellvalue;



    procedure Attach (The_List : in out List; The_Object : Object) is

    begin

        Q_List.Attach (The_List, The_Object);

    end Attach;

    procedure Attach (The_List1 : in out List; The_List2 : List) is

    begin
        Q_List.Attach (The_List1, The_List2);
    end Attach;

    function Attach (The_Object1 : Object; The_Object2 : Object) return List is

    begin

        return Q_List.Attach (The_Object1, The_Object2);

    end Attach;

    function Copy (The_List : List) return List is

    begin
        return Q_List.Copy (The_List);

    end Copy;

    procedure Destroy (The_List : in out List) is

    begin
        Q_List.Destroy (The_List);
    end Destroy;

    procedure Forward (The_Iter : in out Iter) is

    begin

        Q_List.Forward (The_Iter);

    end Forward;

    function Isinlist (The_List : List; The_Object : Object) return Boolean is

    begin

        return Q_List.Isinlist (The_List, The_Object);

    end Isinlist;

    function Makelistiter (The_List : List) return Iter is

    begin

        return Q_List.Makelistiter (The_List);

    end Makelistiter;

    function Makeiterlist (The_Iter : Iter) return List is

    begin
        return List (The_Iter);
    end Makeiterlist;

    function More (The_Iter : Iter) return Boolean is

    begin

        return Q_List.More (The_Iter);

    end More;

    procedure Print (The_Iter : Iter) is

    begin

        Text_Io.Put (Our_String.Image (The_Iter.Info.Name_Left));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Ext1_Left));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Ext2_Left));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Comp_Or_Affect));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Value));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Name_Right));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Ext1_Right));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Ext2_Right));
        Text_Io.Put ("," & Our_String.Image (The_Iter.Info.Operation));
        Text_Io.Put_Line ("," & Our_String.Image (The_Iter.Info.The_Integer));

    end Print;

    function Go_To_End (The_List : List) return List is
        Tmp_List : List;
    begin
        Tmp_List := The_List;
        if More (Iter (Tmp_List)) then
            if More (Iter (Tmp_List.Next)) then

                while More (Iter (Tmp_List.Next)) loop
                    Tmp_List := Tail (Tmp_List);
                end loop;
            end if;
        end if;
        return (Tmp_List);

    end Go_To_End;

    procedure Printall (The_Iter : Iter) is
        Tmp_Iter : Iter;
        use Q_List;
    begin
        Tmp_Iter := The_Iter;
        while More (Tmp_Iter) loop
            Print (Tmp_Iter);
            if More (Iter (Tmp_Iter.Info.Pointer)) then
                Printall (Iter (Tmp_Iter.Info.Pointer));
            end if;
            Forward (Tmp_Iter);
        end loop;
    end Printall;

    function Tail (The_List : in List) return List is

    begin
        return Q_List.Tail (The_List);
    end Tail;


end Our_Inst;

E3 Meta Data

    nblk1=b
    nid=4
    hdr6=a
        [0x00] rec0=1c rec1=00 rec2=01 rec3=040
        [0x01] rec0=30 rec1=00 rec2=08 rec3=034
        [0x02] rec0=33 rec1=00 rec2=03 rec3=050
        [0x03] rec0=18 rec1=00 rec2=06 rec3=010
        [0x04] rec0=1f rec1=00 rec2=0a rec3=000
        [0x05] rec0=04 rec1=00 rec2=03 rec3=01c
        [0x06] rec0=2e rec1=00 rec2=06 rec3=000
        [0x07] rec0=2c rec1=00 rec2=04 rec3=000
        [0x08] rec0=22 rec1=00 rec2=09 rec3=01c
        [0x09] rec0=0f rec1=00 rec2=02 rec3=000
        [0x0a] rec0=17 rec1=00 rec2=05 rec3=000
    tail 0x21546f0aa865e6bd270fd 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 09 02 e8 80 28 20 20 20 20 20 20 20 20 20 20  ┆     (          ┆
  0x9: 0000  00 0b 00 43 80 17 51 5f 4c 69 73 74 2e 54 61 69  ┆   C  Q_List.Tai┆
  0xb: 0000  00 07 03 fc 80 24 29 20 61 6e 64 20 28 54 79 70  ┆     $) and (Typ┆
  0x7: 0000  00 02 03 fc 80 2e 20 20 20 2d 2d 70 72 6f 63 65  ┆     .   --proce┆
  0x2: 0000  00 05 00 37 80 0b 28 54 68 65 5f 4c 69 73 74 29  ┆   7  (The_List)┆
  0x5: 0000  00 00 03 23 00 1c 20 20 20 20 20 20 20 20 54 6d  ┆   #          Tm┆