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

⟦04bae317d⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Node, seg_046898

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Dynamic_Value, Dynamic_Node, Text_Io,
     Table_Of_Player_Commands, Dictionnary, Error;

procedure Test_Node is

    V1, V2, V3 : Dynamic_Value.Object;
    Expression : Dynamic_Node.Object;
    N1, N2, N3, N4 : Dynamic_Node.Object;

    use Dynamic_Node;

begin
    -- init de mot du voca
    Dictionnary.Set_Kind_Of_Storage (Dictionnary.Verb);
    Dictionnary.Insert ("aller");
    Dictionnary.Set_Kind_Of_Storage (Dictionnary.Complement);
    Dictionnary.Insert ("vase");


    Table_Of_Player_Commands.Initialize;
    Table_Of_Player_Commands.Set_Verb ("aller");
    Table_Of_Player_Commands.Set_First_Complement ("a");
    Table_Of_Player_Commands.Set_Second_Complement ("");

    Dynamic_Value.Set_Value (V1, "vase");
    Dynamic_Value.Set_Value (V2, "aller", Dynamic_Value.Voca_Value);
    Dynamic_Value.Set_Value (V3, "", Dynamic_Value.Voca_Value);

    Dynamic_Node.Create_Value (N1);
    Dynamic_Node.Create_Value (N2);
    Dynamic_Node.Create_Value (N3);

    Dynamic_Node.Set_Value (N1, V1);
    Dynamic_Node.Set_Value (N2, V2);
    Dynamic_Node.Set_Value (N3, V3);

    Dynamic_Node.Evaluate (N1);
    Text_Io.Put (" Le noeud 1 vaut ");
    Text_Io.Put (Dynamic_Value.Get_Value (Dynamic_Node.Get_Value (N1)));
    Text_Io.New_Line;

    Dynamic_Node.Evaluate (N2);
    Text_Io.Put (" Le noeud 2 vaut ");
    Text_Io.Put (Dynamic_Value.Get_Value (Dynamic_Node.Get_Value (N2)));
    Text_Io.New_Line;

    Dynamic_Node.Evaluate (N3);
    Text_Io.Put (" Le noeud 3 vaut ");
    Text_Io.Put (Dynamic_Value.Get_Value (Dynamic_Node.Get_Value (N3)));
    Text_Io.New_Line;

    --Dynamic_Node.Create_Ternary_Operator (N4, Sentence);
    --Dynamic_Node.Create_binary_Operator (expression, multiply);

    if (Dictionnary.Is_Verb (Dynamic_Value.Get_Value
                                (Dynamic_Node.Get_Value (N1)))) then
        Dynamic_Node.Create_Unary_Operator (N4, Verb);
    elsif (Dictionnary.Is_Complement (Dynamic_Value.Get_Value
                                         (Dynamic_Node.Get_Value (N1)))) then
        Dynamic_Node.Create_Unary_Operator (N4, Complement);
    else
        Text_Io.Put_Line ("ceci n'est pas definit");
    end if;


    --Dynamic_Node.Create_Ternary_Operator (N3, Sentence);

    Dynamic_Node.Set_Argument (N4, N1);
    --Dynamic_Node.Set_Argument (N4, N1,left);
    --Dynamic_Node.Set_Argument (N4, N2, Right);
    --Dynamic_Node.Set_Argument (N4, N3, Center);

    Dynamic_Node.Evaluate (N4);
    Text_Io.Put ("verification = ");  
    Text_Io.Put ((Dynamic_Value.Get_Value (Dynamic_Node.Get_Value (N4))));

    Text_Io.New_Line;

    Text_Io.Put_Line ("le type est " &
                      Kinds'Image (Dynamic_Node.Get_Kind (N4)));

    Text_Io.Put_Line ("le typed'operateur  est " &
                      (Dynamic_Node.Get_Operator (N4)));

    --Text_Io.Put (Boolean'Image (Dynamic_Value.Get_Value
    --                               (Dynamic_Node.Get_Value (N4))));

    --Text_Io.Put (" V2 * V3 vaut ");
    --Text_Io.Put (Integer'Image (Dynamic_Value.Get_Value
    --                               (Dynamic_Node.Get_Value (N4))));
    --Text_Io.New_Line;

    --Dynamic_Node.Set_Argument (Expression, N1, Left);
    --Dynamic_Node.Set_Argument (Expression, N4, Right);

    --Dynamic_Node.Evaluate (Expression);

    --Text_Io.Put (" l'expression vaut ");
    --Text_Io.Put (Integer'Image (Dynamic_Value.Get_Value
    --                               (Dynamic_Node.Get_Value (Expression))));
    --Text_Io.New_Line;


    --Text_Io.Put_Line (" essai de l'affichage automatique ");
    --Dynamic_Node.Print (Expression);

exception
    when Error.Excep_Semantic_Error =>
        Error.Treat;

end Test_Node;

E3 Meta Data

    nblk1=6
    nid=5
    hdr6=a
        [0x00] rec0=20 rec1=00 rec2=01 rec3=026
        [0x01] rec0=09 rec1=00 rec2=06 rec3=002
        [0x02] rec0=1a rec1=00 rec2=04 rec3=03a
        [0x03] rec0=1b rec1=00 rec2=02 rec3=052
        [0x04] rec0=13 rec1=00 rec2=03 rec3=000
        [0x05] rec0=0d rec1=00 rec2=05 rec3=000
    tail 0x217491fc286515c4b9f68 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 01 e7 80 09 2c 20 52 69 67 68 74 29 3b 09  ┆      , Right); ┆