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

⟦fa47ccf75⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Liste_D_Instructions, seg_049022, seg_049388

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



with Lexical;
with Bounded_String;
with Abstract_Tree;
with Symbols;
with Models, Comps_Dictionary;  
with Set_Of_Links;
with Set_Of_Connections;
with Displays;

package Liste_D_Instructions is

    type Object is private;


    -- creation d'une liste ---------------------------------------

    function Creation return Object;


    -- destruction d'une liste ------------------------------------

    procedure Detruire (L : in out Object);


    -- lie list2 a la fin de list1 --------------------------------

    procedure Attache (  
                       List1 : in out Object;  
                       List2 : in Object  
                       );


    -- parcourt de la liste liste et execution de chaque element --

    procedure Executer (L : in Object;
                        Models_Table : Models.Object;
                        Symbols_Table : in out Symbols.Object;
                        Connect : in out Set_Of_Connections.Object;
                        Links : in out Set_Of_Links.Object;
                        Comp_Dict : Comps_Dictionary.Object;
                        Jeu_Termine : in out Boolean;
                        Mode_Trace : Boolean;
                        Instruct_Executee : in out Boolean);


    -- creation d'un objet du type si-alors-sinon -----------------

    function Creer_Si (E : in Abstract_Tree.Object;
                       L_Alors : in Object;
                       L_Sinon : in Object) return Object;


    -- creation d'un objet du type pour-faire ---------------------

    function Creer_Pour (E : in Integer; L_Faire : in Object) return Object;


    -- creation d'un objet du type affectation --------------------

    function Creer_Affec (N_Var, N_Ext : in Bounded_String.Variable_String;
                          E : in Abstract_Tree.Object) return Object;

    -- creation d'un objet du type lie-connexion ------------------

    function Creer_Lie_Con
                (V1, V2 : in Bounded_String.Variable_String) return Object;



    -- creation d'un objet du type delie-connexion ----------------

    function Creer_Delie_Con
                (V1, V2 : in Bounded_String.Variable_String) return Object;


    -- creation d'un objet du type lie-lien  ----------------------

    function Creer_Lie_Lien
                (V1, V2 : in Bounded_String.Variable_String) return Object;


    -- creation d'un objet du type delie-lien  --------------------

    function Creer_Delie_Lien
                (V1, V2 : in Bounded_String.Variable_String) return Object;


    -- creation d'un objet du type echanger-lien  -----------------

    function Creer_Echanger_Lien
                (V1, V2, V3 : in Bounded_String.Variable_String) return Object;

    -- creation d'un objet du type liste-lien  --------------------

    function Creer_Liste
                (V1 : in Bounded_String.Variable_String; V2 : Lexical.Token)
                return Object;


    -- creation d'un objet du type afficher -----------------------

    function Creer_Afficher (P : in Displays.Object) return Object;


    -- creation d'un objet du type fin ----------------------------

    function Creer_Fin return Object;


    -- creation d'un objet du type vide ---------------------------

    function Creer_Vide return Object;


    -- affichage des elements d'une liste -------------------------

    procedure Afficher (O : in Object);

private
    type Instruction is (Si_Alors_Sinon, Pour_Faire, Affectation,
                         Lie_Connexion, Delie_Connexion, Lie_Lien, Delie_Lien,
                         Liste_Lien, Echanger_Lien, Afficher, Fin, Vide);

    type Itemtype (I : Instruction := Vide) is
        record
            Genre : Instruction := I;
            case I is
                when Si_Alors_Sinon =>
                    Exp_Cond : Abstract_Tree.Object;

                    Alors : Object;

                    Sinon : Object;
                when Pour_Faire =>
                    Entier : Integer;

                    Faire : Object;
                when Affectation =>
                    Nom_Var : Bounded_String.Variable_String (32);
                    Nom_Extension : Bounded_String.Variable_String (32);

                    Exp_Generale : Abstract_Tree.Object;

                when Lie_Connexion | Delie_Connexion | Lie_Lien | Delie_Lien =>
                    Var1_Lie : Bounded_String.Variable_String (32);

                    Var2_Lie : Bounded_String.Variable_String (32);
                when Liste_Lien =>
                    Var_Liste : Bounded_String.Variable_String (32);

                    Etat : Lexical.Token;

                when Echanger_Lien =>
                    Var1_Ech : Bounded_String.Variable_String (32);

                    Var2_Ech : Bounded_String.Variable_String (32);

                    Var3_Ech : Bounded_String.Variable_String (32);


                when Afficher =>
                    Param1 : Displays.Object;


                when Fin =>
                    null;

                when Vide =>
                    null;

            end case;

        end record;

    type Cell;

    type Object is access Cell;

    type Cell is  
        record
            Info : Itemtype;
            Next : Object;
        end record;

end Liste_D_Instructions;

E3 Meta Data

    nblk1=8
    nid=7
    hdr6=e
        [0x00] rec0=27 rec1=00 rec2=01 rec3=06a
        [0x01] rec0=1b rec1=00 rec2=03 rec3=00a
        [0x02] rec0=1f rec1=00 rec2=08 rec3=062
        [0x03] rec0=21 rec1=00 rec2=06 rec3=042
        [0x04] rec0=0a rec1=00 rec2=04 rec3=03c
        [0x05] rec0=1e rec1=00 rec2=02 rec3=018
        [0x06] rec0=11 rec1=00 rec2=05 rec3=001
        [0x07] rec0=c8 rec1=65 rec2=06 rec3=63b
    tail 0x2174d51fe865b3e128317 0x42a00088462060003
Free Block Chain:
  0x7: 0000  00 00 00 1b 80 18 20 20 20 20 20 20 20 20 20 20  ┆                ┆