|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Action_List2, seg_04690c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
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;
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┆