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

⟦3d834b65e⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Action_List2, seg_04690c

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 Compiler_Action, Dynamic_Value, Dynamic_Node, Text_Io;
procedure Test_Action_List2 is
    Alist : Compiler_Action.Acces_List;

    D_V1, D_V2, D_V3 : Dynamic_Value.Object;
    D_A1, D_A2, D_A3 : Compiler_Action.Object;
    Dnc1 : Dynamic_Node.Object;

    -- pour une seconde action cond
    D_V4, D_V5, D_V6 : Dynamic_Value.Object;
    D_A4, D_A5, D_A6 : Compiler_Action.Object;
    Dnc2 : Dynamic_Node.Object;

    -- pour une troisime action cond
    D_V7, D_V8, D_V9 : Dynamic_Value.Object;
    D_A7, D_A8, D_A9 : Compiler_Action.Object;
    Dnc3 : Dynamic_Node.Object;
    use Dynamic_Node;  
    use Compiler_Action;

begin
    Compiler_Action.Create_Action (D_A1, Compiler_Action.Conditional_Action);

    -- premiere condition
    Dynamic_Value.Set_Value (D_V1, True);
    Dynamic_Node.Create_Value (Dnc1);
    Dynamic_Node.Set_Value (Dnc1, D_V1);

    -- bloc vrai
    Dynamic_Value.Set_Value (D_V2, "si 1 true");
    Compiler_Action.Create_Action (D_A2, Write_Action);
    Compiler_Action.Set_Argument (D_A2, Write_Argument, D_V2);

    -- bloc faux
    Dynamic_Value.Set_Value (D_V3, "si 1 false");
    Compiler_Action.Create_Action (D_A3, Write_Action);
    Compiler_Action.Set_Argument (D_A3, Write_Argument, D_V3);

    -- creation liste action
    Compiler_Action.Create_List (Alist);

    Compiler_Action.Set_Argument (D_A1, Condition_Argument, Dnc1);
    Compiler_Action.Set_Argument (D_A1, True_Component, D_A2);
    Compiler_Action.Set_Argument (D_A1, False_Component, D_A3);

    Compiler_Action.Add_Action (Alist, D_A1);

    -- compiler_action.evaluate(alist);
    -- compiler_action.execute(alist);
    -- creation et ajout d'une cond imbrique

    Compiler_Action.Create_Action (D_A4, Compiler_Action.Conditional_Action);

    Dynamic_Value.Set_Value (D_V4, True);
    Dynamic_Node.Create_Value (Dnc2);
    Dynamic_Node.Set_Value (Dnc2, D_V4);

    -- bloc vrai
    Dynamic_Value.Set_Value (D_V5, "si 1.1 true");
    Compiler_Action.Create_Action (D_A5, Write_Action);
    Compiler_Action.Set_Argument (D_A5, Write_Argument, D_V5);

    -- bloc faux
    Dynamic_Value.Set_Value (D_V6, "si 1.1 false");
    Compiler_Action.Create_Action (D_A6, Write_Action);
    Compiler_Action.Set_Argument (D_A6, Write_Argument, D_V6);

    Compiler_Action.Set_Argument (D_A4, Condition_Argument, Dnc2);
    Compiler_Action.Set_Argument (D_A4, True_Component, D_A5);
    Compiler_Action.Set_Argument (D_A4, False_Component, D_A6);

    --** creation d'une 3e action cond
    Compiler_Action.Create_Action (D_A7, Compiler_Action.Conditional_Action);

    Dynamic_Value.Set_Value (D_V7, True);
    Dynamic_Node.Create_Value (Dnc3);
    Dynamic_Node.Set_Value (Dnc3, D_V7);

    -- bloc vrai
    Dynamic_Value.Set_Value (D_V8, "si 1.2 true");
    Compiler_Action.Create_Action (D_A8, Write_Action);
    Compiler_Action.Set_Argument (D_A8, Write_Argument, D_V8);

    -- bloc faux
    Dynamic_Value.Set_Value (D_V9, "si 1.2 false");
    Compiler_Action.Create_Action (D_A9, Write_Action);
    Compiler_Action.Set_Argument (D_A9, Write_Argument, D_V9);

    Compiler_Action.Set_Argument (D_A7, Condition_Argument, Dnc3);

    Compiler_Action.Set_Argument (D_A7, True_Component, D_A8);
    Compiler_Action.Set_Argument (D_A7, False_Component, D_A9);


    --** ajout des composants  l'action prcedente

    Compiler_Action.Set_Argument (D_A1, True_Component, D_A4);
    Compiler_Action.Set_Argument (D_A1, False_Component, D_A7);

    -- evaluation exec de la liste

    Compiler_Action.Evaluate (Alist);
    Compiler_Action.Execute (Alist);

    -- condition fausse a executer

    Dynamic_Value.Set_Value (D_V1, False);
    -- a voir
    Compiler_Action.Evaluate (Alist);

    Compiler_Action.Execute (Alist);

end Test_Action_List2;


E3 Meta Data

    nblk1=5
    nid=5
    hdr6=8
        [0x00] rec0=20 rec1=00 rec2=01 rec3=034
        [0x01] rec0=1c rec1=00 rec2=04 rec3=030
        [0x02] rec0=19 rec1=00 rec2=03 rec3=010
        [0x03] rec0=1f rec1=00 rec2=02 rec3=000
        [0x04] rec0=80 rec1=00 rec2=00 rec3=100
    tail 0x215433eaa86515d6dc3f1 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 03 fc 80 11 61 32 2c 77 72 69 74 65 5f 61  ┆      a2,write_a┆