|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Action_List, seg_0448e1
└─⟦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_List is
Alist : Compiler_Action.Acces_List;
D_V, D_V1, D_V2, D_V3 : Dynamic_Value.Object;
D_A, D_A1, D_A2, D_A3 : Compiler_Action.Object;
Dni1, Dni2, Dnc1 : Dynamic_Node.Object;
-- pour un second arbre
D_V4, D_V5, D_V6, D_V7 : Dynamic_Value.Object;
D_A4, D_A5, D_A6, D_A7 : Compiler_Action.Object;
Dni3, Dni4, Dnc2 : Dynamic_Node.Object;
use Dynamic_Node;
begin
Compiler_Action.Create_List (Alist);
Compiler_Action.Create_Action (D_A, Compiler_Action.Conditional_Action);
Text_Io.Put_Line ("apres creation d'une liste d'actions");
Dynamic_Value.Set_Value (D_V, "coucou");
Dynamic_Value.Set_Value (D_V1, 120);
Dynamic_Value.Set_Value (D_V2, 20);
Dynamic_Value.Set_Value (D_V3, "toto");
Dynamic_Node.Create_Value (Dni1);
Dynamic_Node.Set_Value (Dni1, D_V1);
Dynamic_Node.Create_Value (Dni2);
Dynamic_Node.Set_Value (Dni2, D_V2);
Text_Io.Put_Line ("creation d'une action conditionnelle);");
Dynamic_Node.Create_Binary_Operator (Dnc1,
Less_Equal); -- condition a evaluer
Dynamic_Node.Set_Argument (Dnc1, Dni1, Left);
Dynamic_Node.Set_Argument (Dnc1, Dni2, Right);
Compiler_Action.Set_Argument
(D_A, Compiler_Action.Condition_Argument, Dnc1);
Compiler_Action.Create_Action
(D_A1, Compiler_Action.Write_Action); -- action vraie
Compiler_Action.Set_Argument (D_A1, Compiler_Action.Write_Argument, D_V);
Compiler_Action.Create_Action
(D_A2, Compiler_Action.Write_Action); -- action fausse
Compiler_Action.Set_Argument (D_A2, Compiler_Action.Write_Argument, D_V3);
-- mise en place de la clause vraie
Compiler_Action.Set_Argument (D_A, Compiler_Action.True_Component, D_A1);
-- mise en place de la clause fausse
Compiler_Action.Set_Argument (D_A, Compiler_Action.False_Component, D_A2);
Compiler_Action.Add_Action (Alist, D_A);
-- evaluation
Dynamic_Node.Evaluate (Dnc1);
Compiler_Action.Evaluate (Alist);
Text_Io.Put_Line ("execution liste");
Compiler_Action.Execute (Alist);
-- construction d'une seconde action conditionnelle
Compiler_Action.Create_Action (D_A4, Compiler_Action.Conditional_Action);
Dynamic_Value.Set_Value (D_V4, "tutu");
Dynamic_Value.Set_Value (D_V5, 200);
Dynamic_Value.Set_Value (D_V6, 20);
Dynamic_Value.Set_Value (D_V7, "lolo");
Dynamic_Node.Create_Value (Dni3);
Dynamic_Node.Set_Value (Dni3, D_V5);
Dynamic_Node.Create_Value (Dni4);
Dynamic_Node.Set_Value (Dni4, D_V6);
Dynamic_Node.Create_Binary_Operator (Dnc2, More); -- condition a evaluer
Dynamic_Node.Set_Argument (Dnc2, Dni3, Left);
Dynamic_Node.Set_Argument (Dnc2, Dni4, Right);
Compiler_Action.Set_Argument
(D_A4, Compiler_Action.Condition_Argument, Dnc2);
Compiler_Action.Create_Action
(D_A5, Compiler_Action.Write_Action); -- action vraie
Compiler_Action.Set_Argument (D_A5, Compiler_Action.Write_Argument, D_V4);
Compiler_Action.Create_Action
(D_A6, Compiler_Action.Write_Action); -- action fausse
Compiler_Action.Set_Argument (D_A6, Compiler_Action.Write_Argument, D_V7);
-- mise en place de la clause vraie
Compiler_Action.Set_Argument (D_A4, Compiler_Action.True_Component, D_A5);
-- mise en place de la clause fausse
Compiler_Action.Set_Argument (D_A4, Compiler_Action.False_Component, D_A6);
-- Compiler_Action.Add_Action (Alist, D_A4);
Compiler_Action.Set_Argument (D_A, Compiler_Action.False_Component, D_A4);
-- evaluation
Dynamic_Node.Evaluate (Dnc2);
Compiler_Action.Evaluate (Alist);
Text_Io.Put_Line ("execution liste");
Compiler_Action.Execute (Alist);
end Test_Action_List;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=1e rec1=00 rec2=01 rec3=008
[0x01] rec0=18 rec1=00 rec2=04 rec3=04c
[0x02] rec0=1d rec1=00 rec2=02 rec3=02e
[0x03] rec0=1b rec1=00 rec2=03 rec3=000
tail 0x2154070ee864237c7953a 0x42a00088462060003