|
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 - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Action_List, seg_044287
└─⟦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); -- 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=19 rec1=00 rec2=03 rec3=000 tail 0x2153fe154863d909cf862 0x42a00088462060003