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

⟦5f2022723⟧ Ada Source

    Length: 17408 (0x4400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Essai_Turtle, seg_033a46

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 Bounded_String;
with Object;
with Class_Integer;
with Class_Turtle;
with Easy_X;
with Graphiques;
with Text_Io;

procedure Essai_Turtle is
    A_Turtle, A_Reference, Resultat : Object.Reference;
    An_Unary : Object.Unary;
    A_Binary : Object.Binary;
    A_Keyword : Object.Keyword;
    An_Integer : Object.Reference;
    Chaine : Bounded_String.Variable_String (80);
begin  
    Graphiques.Open;

    loop
        case Easy_X.Next_Event is
            when Easy_X.Update =>
                A_Turtle := Class_Turtle.Create;

                -- Unary :

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Rentre_Chez_Toi");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Ton_X");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Ton_Y");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Leve_Ta_Plume");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Baisse_Ta_Plume");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Ton_Angle");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Ton_Epaisseur");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "Duplique");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, Resultat);


                -- Binary :

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, A_Binary);
                Resultat := Class_Turtle.Send (A_Binary, Resultat);


                -- Keyword :

                An_Integer := Class_Integer.Create;

                Text_Io.Put ("Va_En_X :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Y");
                Object.Put (Chaine, A_Keyword);
                Bounded_String.Copy (Chaine, "Va_En_X");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (10), A_Keyword);
                Object.Put (Class_Integer.Create (17), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Ton_X :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Ton_X");
                Object.Put (Chaine, An_Unary);
                A_Reference := Class_Turtle.Send (An_Unary, A_Turtle);
                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Integer.Send (An_Unary, A_Reference);


                Text_Io.Put ("Ton_Y :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Ton_Y");
                Object.Put (Chaine, An_Unary);
                A_Reference := Class_Turtle.Send (An_Unary, A_Turtle);
                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Integer.Send (An_Unary, A_Reference);


                Text_Io.Put ("Leve_Ta_Plume :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Leve_Ta_Plume");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Baisse_Ta_Plume :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Baisse_Ta_Plume");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Ton_Angle :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Ton_Angle");
                Object.Put (Chaine, An_Unary);
                A_Reference := Class_Turtle.Send (An_Unary, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Integer.Send (An_Unary, A_Reference);


                Text_Io.Put ("Rentre_Chez_Toi :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Rentre_Chez_Toi");
                Object.Put (Chaine, An_Unary);
                A_Turtle := Class_Turtle.Send (An_Unary, A_Turtle);
                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Va_En_X :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Va_En_X");
                Object.Put (Chaine, A_Keyword);
                Bounded_String.Copy (Chaine, "Y");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (10), A_Keyword);
                Object.Put (Class_Integer.Create (17), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Va_En_X :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Va_En_X");
                Object.Put (Chaine, A_Keyword);
                Bounded_String.Copy (Chaine, "Y");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (79), A_Keyword);
                Object.Put (Class_Integer.Create (53), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Avance :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Avance");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (23), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);


                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Recule :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Recule");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (23), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Epaisseur :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Epaisseur");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (1), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("Angle :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "Angle");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (23), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("A_Droite :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "A_Droite");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (23), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);


                Text_Io.Put ("A_Gauche :");
                Text_Io.New_Line;
                Bounded_String.Copy (Chaine, "A_Gauche");
                Object.Put (Chaine, A_Keyword);
                Object.Put (Class_Integer.Create (23), A_Keyword);
                A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                Bounded_String.Copy (Chaine, "En_Texte");
                Object.Put (Chaine, An_Unary);
                Resultat := Class_Turtle.Send (An_Unary, A_Turtle);

                for J in 1 .. 3 loop

                    Bounded_String.Copy (Chaine, "Epaisseur");
                    Object.Put (Chaine, A_Keyword);
                    Object.Put (Class_Integer.Create (1), A_Keyword);
                    A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                    Bounded_String.Copy (Chaine, "Angle");
                    Object.Put (Chaine, A_Keyword);
                    Object.Put (Class_Integer.Create (0), A_Keyword);
                    A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                    Bounded_String.Copy (Chaine, "Leve_Ta_Plume");
                    Object.Put (Chaine, An_Unary);
                    A_Turtle := Class_Turtle.Send (An_Unary, A_Turtle);

                    for I in 10 .. 50 loop

                        Bounded_String.Copy (Chaine, "Epaisseur");
                        Object.Put (Chaine, A_Keyword);
                        Object.Put (Class_Integer.Create
                                       (Object.Index (I / 10)), A_Keyword);
                        A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                        Bounded_String.Copy (Chaine, "Leve_Ta_Plume");
                        Object.Put (Chaine, An_Unary);
                        A_Turtle := Class_Turtle.Send (An_Unary, A_Turtle);

                        Bounded_String.Copy (Chaine, "Va_En_X");
                        Object.Put (Chaine, A_Keyword);
                        Bounded_String.Copy (Chaine, "Y");
                        Object.Put (Chaine, A_Keyword);
                        Object.Put (Class_Integer.Create
                                       (Object.Index (J * 100)), A_Keyword);
                        Object.Put (Class_Integer.Create
                                       (Object.Index (J * 100)), A_Keyword);
                        A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                        Bounded_String.Copy (Chaine, "Baisse_Ta_Plume");
                        Object.Put (Chaine, An_Unary);
                        A_Turtle := Class_Turtle.Send (An_Unary, A_Turtle);

                        Bounded_String.Copy (Chaine, "A_Gauche");
                        Object.Put (Chaine, A_Keyword);
                        Object.Put (Class_Integer.Create (10), A_Keyword);
                        A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                        Bounded_String.Copy (Chaine, "Avance");
                        Object.Put (Chaine, A_Keyword);
                        Object.Put (Class_Integer.Create (100), A_Keyword);
                        A_Turtle := Class_Turtle.Send (A_Keyword, A_Turtle);

                    end loop;
                end loop;

            when Easy_X.Button_Down =>
                exit;
            when Easy_X.Button_Up =>
                null;
        end case;
    end loop;
    delay 7.0;

    Graphiques.Close;
exception
    when others =>
        Graphiques.Close;
end Essai_Turtle;


E3 Meta Data

    nblk1=10
    nid=5
    hdr6=1e
        [0x00] rec0=23 rec1=00 rec2=01 rec3=040
        [0x01] rec0=16 rec1=00 rec2=07 rec3=024
        [0x02] rec0=1b rec1=00 rec2=0f rec3=056
        [0x03] rec0=02 rec1=00 rec2=0c rec3=080
        [0x04] rec0=17 rec1=00 rec2=04 rec3=060
        [0x05] rec0=18 rec1=00 rec2=06 rec3=03c
        [0x06] rec0=19 rec1=00 rec2=0a rec3=010
        [0x07] rec0=15 rec1=00 rec2=02 rec3=024
        [0x08] rec0=10 rec1=00 rec2=0b rec3=05c
        [0x09] rec0=18 rec1=00 rec2=03 rec3=034
        [0x0a] rec0=18 rec1=00 rec2=09 rec3=012
        [0x0b] rec0=17 rec1=00 rec2=0d rec3=01a
        [0x0c] rec0=13 rec1=00 rec2=08 rec3=054
        [0x0d] rec0=12 rec1=00 rec2=10 rec3=04a
        [0x0e] rec0=1a rec1=00 rec2=0e rec3=001
        [0x0f] rec0=00 rec1=00 rec2=00 rec3=000
    tail 0x2172f7aa484d1584cfc42 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 03 fc 80 1a 65 6e 64 20 28 41 5f 4b 65 79  ┆      end (A_Key┆