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

⟦9e4213fe6⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Action3, seg_045861

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, Text_Io, Dynamic_Node, Dynamic_Value, Error;
procedure Test_Action3 is
    Alist : Compiler_Action.Acces_List;
    A1, Aens, Aens1, Aens2 : Compiler_Action.Object;

    Dn1, Dn2, Dn3, Dnens, Dn4 : Dynamic_Node.Object;

    Dv1, Dv2, Dvens, Dv3, Dv4 : Dynamic_Value.Object;

begin
    Compiler_Action.Create_List (Alist);

    -- creation d'un affectation entre 2 chaines
    Text_Io.Put_Line ("creation aff");
    Compiler_Action.Create_Action (A1, Compiler_Action.Affect_Action);

    Dynamic_Value.Set_Value (Dv1, "e");
    Dynamic_Value.Set_Value (Dv2, "r");

    Dynamic_Node.Create_Value (Dn1);
    Dynamic_Node.Set_Value (Dn1, Dv1);
    Dynamic_Node.Create_Value (Dn2);
    Dynamic_Node.Set_Value (Dn2, Dv2);

    Text_Io.Put_Line ("mise en place premier argument");
    Compiler_Action.Set_Argument (A1, Compiler_Action.Source_Argument, Dn1);
    Text_Io.Put_Line ("mise en place second argument");
    Compiler_Action.Set_Argument (A1, Compiler_Action.Target_Argument, Dn2);

    Text_Io.Put_Line ("insere l'action dans la liste");

    Compiler_Action.Add_Action (Alist, A1);

    -- Dynamic_Node.Evaluate (Dn1);
    -- Dynamic_Node.Evaluate (Dn2);

    Text_Io.Put_Line ("evaluation de l'affectation");
    Compiler_Action.Evaluate (Alist);

    Compiler_Action.Print_List (Alist);  
    Text_Io.Put_Line ("execution de l'affectation");
    Compiler_Action.Execute (Alist);
    Compiler_Action.Print_List (Alist);


    Text_Io.Put_Line ("creation et execution d'un ajout dans un ensemble");
    Dynamic_Value.Append_To_Set (Dvens, "toto");

    Dynamic_Node.Create_Value (Dnens);
    Dynamic_Node.Set_Value (Dnens, Dvens);

    Dynamic_Value.Set_Value (Dv3, "coucou", Dynamic_Value.Voca_Value);
    Dynamic_Node.Create_Value (Dn3);
    Dynamic_Node.Set_Value (Dn3, Dv3);

    Text_Io.Put_Line ("creation d'un ajout dans ensemble");
    Compiler_Action.Create_Action (Aens, Compiler_Action.Append_In_Set_Of_Word);
    Text_Io.Put_Line ("insere premier argument ");
    Compiler_Action.Set_Argument (Aens, Compiler_Action.Source_Argument, Dn3);
    Text_Io.Put_Line ("insere second argument");
    Compiler_Action.Set_Argument (Aens, Compiler_Action.Target_Argument, Dnens);

    Text_Io.Put_Line ("insere l'action d'ajout dans la liste");
    Compiler_Action.Add_Action (Alist, Aens);  
    Compiler_Action.Add_Action (Alist, Aens);
    Dynamic_Node.Print (Dnens);
    Text_Io.Put_Line ("execution de l'action 'ajouter'");
    Compiler_Action.Execute (Alist);
    Dynamic_Node.Print (Dnens);

    Text_Io.New_Line;
    Text_Io.Put_Line ("SUPPRESSION dans un ensemble");
    Dynamic_Node.Print (Dnens);

    Compiler_Action.Create_Action (Aens1,
                                   Compiler_Action.Remove_From_Set_Of_Word);

    Text_Io.Put_Line ("set arg 1");
    Compiler_Action.Set_Argument (Aens1, Compiler_Action.Source_Argument, Dn3);

    Text_Io.Put_Line ("set arg 2");
    Compiler_Action.Set_Argument
       (Aens1, Compiler_Action.Target_Argument, Dnens);

    --Text_Io.Put_Line ("ajout 3 action de suppression");
    --Compiler_Action.Add_Action (Alist, Aens1);
    --Compiler_Action.Add_Action (Alist, Aens1);
    --Compiler_Action.Add_Action (Alist, Aens1);

    --Compiler_Action.Print_List (Alist);
    --Text_Io.Put_Line ("execution de la liste d'action");
    --Compiler_Action.Execute (Alist);
    --Dynamic_Node.Print (Dnens);

    Text_Io.Put_Line ("creation action clear");
    Dynamic_Node.Print (Dnens);
    Compiler_Action.Create_Action (Aens2, Compiler_Action.Clear_Set_Of_Word);
    Text_Io.Put_Line ("arg1");
    Compiler_Action.Set_Argument
       (Aens2, Compiler_Action.Target_Argument, Dnens);

    Compiler_Action.Add_Action (Alist, Aens2);
    Text_Io.Put_Line ("execution de la liste d'action");
    Compiler_Action.Execute (Alist);
    Dynamic_Node.Print (Dnens);

exception
    when Error.Excep_Semantic_Error =>
        Error.Treat;


end Test_Action3;

E3 Meta Data

    nblk1=7
    nid=7
    hdr6=c
        [0x00] rec0=1d rec1=00 rec2=01 rec3=040
        [0x01] rec0=00 rec1=00 rec2=02 rec3=00e
        [0x02] rec0=1d rec1=00 rec2=05 rec3=07a
        [0x03] rec0=18 rec1=00 rec2=04 rec3=02e
        [0x04] rec0=1b rec1=00 rec2=06 rec3=020
        [0x05] rec0=05 rec1=00 rec2=03 rec3=001
        [0x06] rec0=39 rec1=d8 rec2=00 rec3=027
    tail 0x21541ec10864b69a3b1b1 0x42a00088462060003
Free Block Chain:
  0x7: 0000  00 00 03 fa 00 37 20 20 20 20 20 20 20 28 41 65  ┆     7       (Ae┆