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

⟦82ca5fc7a⟧ Ada Source

    Length: 24576 (0x6000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Create_Structure, seg_048242

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 Error_On_Structure;  
with Afficher_Structure;
with Nos_Chaines;
with Text_Io;
with Structure_Des_Variables;
with Interface_Structure;
with Create_Structure;

--use Interface_Structure;

procedure Test_Create_Structure is

    Chaine, Chaine1, Chaine2, Chaine3, Chaine4, Chaine5, La_Place,
    La_Communication, La_Destination, La_Sortie, La_Direction :
       Nos_Chaines.String_Text;  
    Le_Sens : Integer;
    Ma_Cellule : Structure_Des_Variables.Cellule;
    Ok, Bool : Boolean;

    procedure Associer_Nom (Chaine : String;
                            Le_Nom : in out Nos_Chaines.String_Text) is
    begin  
        Nos_Chaines.Copy (Le_Nom, Chaine);
    end Associer_Nom;

    procedure Aff_Booleen (Bool : Boolean) is
    begin
        if Bool then
            Text_Io.Put_Line ("TRUE");
        else
            Text_Io.Put_Line ("FALSE");
        end if;

    end Aff_Booleen;

    procedure Aff_Dest (La_Place : Nos_Chaines.String_Text;
                        La_Communication : Nos_Chaines.String_Text;
                        La_Sortie : Nos_Chaines.String_Text;
                        Le_Sens : Integer;
                        Bool : Boolean) is
    begin  
        Text_Io.Put ("RESULTAT TROUVE : ");
        Aff_Booleen (Bool);
        Text_Io.Put ("depart  : ");
        Nos_Chaines.Print_Line (La_Place);
        Text_Io.Put ("arrivee :");
        Nos_Chaines.Print_Line (La_Communication);
        Text_Io.Put ("sortie  : ");
        Nos_Chaines.Print_Line (La_Sortie);
        Text_Io.Put ("via le sens : ");
        Text_Io.Put_Line (Integer'Image (Le_Sens));
        Text_Io.Put_Line (" ");
    end Aff_Dest;

    procedure Aff_Dest2 (La_Place : Nos_Chaines.String_Text;
                         La_Direction : Nos_Chaines.String_Text;
                         La_Sortie : Nos_Chaines.String_Text;
                         Le_Sens : Integer;
                         Bool : Boolean) is
    begin
        Text_Io.Put ("RESULTAT TROUVE : ");
        Aff_Booleen (Bool);
        Text_Io.Put ("depart  : ");
        Nos_Chaines.Print_Line (La_Place);
        Text_Io.Put ("direction :");
        Nos_Chaines.Print_Line (La_Direction);
        Text_Io.Put ("sortie  : ");
        Nos_Chaines.Print_Line (La_Sortie);
        Text_Io.Put ("via le sens : ");
        Text_Io.Put_Line (Integer'Image (Le_Sens));
        Text_Io.Put_Line (" ");
    end Aff_Dest2;

    procedure Aff_Dest3 (La_Place : Nos_Chaines.String_Text;
                         La_Destination : Nos_Chaines.String_Text;
                         Le_Sens : Integer;
                         Bool : Boolean) is
    begin
        Text_Io.Put ("RESULTAT TROUVE : ");
        Aff_Booleen (Bool);
        Text_Io.Put ("depart  : ");
        Nos_Chaines.Print_Line (La_Place);
        Text_Io.Put ("sortie  : ");
        Nos_Chaines.Print_Line (La_Sortie);
        Text_Io.Put ("via le sens : ");
        Text_Io.Put_Line (Integer'Image (Le_Sens));
        Text_Io.Put_Line (" ");
    end Aff_Dest3;



begin
    Ok := True;
    Create_Structure.Create_Preposition;
    Associer_Nom ("de", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("of", Chaine);
    Create_Structure.Associate_Signification (Chaine);
    Create_Structure.Associate_Existence (False);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Personnage;
    Associer_Nom ("tintin", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description tintin", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("couloir", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Associer_Nom ("etat1_tintin", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("etat2_tintin", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("valise", Chaine);
    Create_Structure.Associate_Possession (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Compteur;
    Associer_Nom ("compteur_vie", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Create_Structure.Associate_Valeur (100);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Lieu;
    Associer_Nom ("cuisine", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description cuisine", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("etat1_cuisine", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("etat2_cuisine", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);  
    Associer_Nom ("nord", Chaine);
    Associer_Nom ("porte_A", Chaine1);
    Create_Structure.Associate_Direction (Chaine, Chaine1);
    Associer_Nom ("nord", Chaine);
    Associer_Nom ("tube_sideral", Chaine1);
    Create_Structure.Associate_Direction (Chaine, Chaine1);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Lieu;
    Associer_Nom ("couloir", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Lieu;
    Associer_Nom ("zz1", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Lieu;
    Associer_Nom ("zz2", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Communication;
    Associer_Nom ("porte_A", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description porte_A", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("etat1_porte_A", Chaine);
    Create_Structure.Associate_Etat (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("etat2_porte_A", Chaine);
    Create_Structure.Associate_Etat (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("cuisine", Chaine);
    Create_Structure.Associate_Source (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("couloir", Chaine);
    Create_Structure.Associate_Destination
       (Chaine, Structure_Des_Variables.Sens1);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Communication;
    Associer_Nom ("tube_sideral", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description porte_B", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Sens2);
    Associer_Nom ("etat1_porte_A", Chaine);
    Create_Structure.Associate_Etat (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("etat2_porte_A", Chaine);
    Create_Structure.Associate_Etat (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("zz1", Chaine);   Create_Structure.Associate_Source (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("zz2", Chaine);
    Create_Structure.Associate_Destination
       (Chaine, Structure_Des_Variables.Sens1);
    Associer_Nom ("cuisine", Chaine);
    Create_Structure.Associate_Source (Chaine, Structure_Des_Variables.Sens2);
    Associer_Nom ("planete", Chaine);
    Create_Structure.Associate_Destination
       (Chaine, Structure_Des_Variables.Sens2);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Objet;
    Associer_Nom ("valise", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description valise", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("tintin", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Associer_Nom ("camenbert", Chaine);
    Create_Structure.Associate_Contenu (Chaine);
    Associer_Nom ("pain", Chaine);
    Create_Structure.Associate_Contenu (Chaine);
    Associer_Nom ("chaussure", Chaine);
    Create_Structure.Associate_Contenu (Chaine);
    Associer_Nom ("etat1_valise", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("etat2_valise", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Objet;
    Associer_Nom ("sac", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description sac", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("planete", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Associer_Nom ("camenbert", Chaine);
    Create_Structure.Associate_Contenu (Chaine);
    Associer_Nom ("pain", Chaine);
    Create_Structure.Associate_Contenu (Chaine);
    Associer_Nom ("chaussure", Chaine);
    Create_Structure.Associate_Contenu (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Objet;
    Associer_Nom ("pain", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("sac", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Personnage;
    Associer_Nom ("pain", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("sac", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Objet;
    Associer_Nom ("chaussure", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("sac", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Personnage;
    Associer_Nom ("zoe", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description zoe", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("trottoir", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Personnage;
    Associer_Nom ("ali", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("couloir", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Personnage;
    Associer_Nom ("bruel", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("planete", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Objet;
    Associer_Nom ("camenbert", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Associer_Nom ("description camenbert", Chaine);
    Create_Structure.Associate_Description
       (Chaine, Structure_Des_Variables.Pas_De_Sens);
    Associer_Nom ("valise", Chaine);
    Create_Structure.Associate_Position (Chaine);
    Associer_Nom ("etat1_camenbert", Chaine);
    Create_Structure.Associate_Etat (Chaine,
                                     Structure_Des_Variables.Pas_De_Sens);
    Create_Structure.Associate_Existence (True);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Lieu;
    Associer_Nom ("trottoir", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Create_Structure.Create_Lieu;
    Associer_Nom ("planete", Chaine);
    Create_Structure.Associate_Nom_Variable (Chaine);
    Create_Structure.Make_Variable (Ok);
    Aff_Booleen (Ok);
    Text_Io.Put_Line (" ");

    Text_Io.Put_Line (" ");
    Text_Io.Put_Line (" ");

    Afficher_Structure.Afficher_Arbre_Total;
    Ok := Ok and Interface_Structure.Structure_Is_Ok;
    Text_Io.Put ("LA STRUCTURE EST : ");
    Aff_Booleen (Ok);

    Associer_Nom ("de", Chaine);
    Chaine1 := Interface_Structure.Get_Signification (Chaine);
    Nos_Chaines.Print_Line (Chaine1);
    Associer_Nom ("tintin", Chaine);
    Chaine1 := Interface_Structure.Get_Position (Chaine);
    Nos_Chaines.Print_Line (Chaine1);
    Associer_Nom ("zz1", Chaine1);
    Interface_Structure.Move_To (Chaine, Chaine1);  
    Chaine2 := Interface_Structure.Get_Position (Chaine);
    Nos_Chaines.Print_Line (Chaine2);

end Test_Create_Structure;

E3 Meta Data

    nblk1=17
    nid=10
    hdr6=20
        [0x00] rec0=25 rec1=00 rec2=01 rec3=064
        [0x01] rec0=01 rec1=00 rec2=0b rec3=016
        [0x02] rec0=18 rec1=00 rec2=09 rec3=008
        [0x03] rec0=19 rec1=00 rec2=03 rec3=01e
        [0x04] rec0=1c rec1=00 rec2=02 rec3=04a
        [0x05] rec0=18 rec1=00 rec2=0d rec3=052
        [0x06] rec0=17 rec1=00 rec2=16 rec3=008
        [0x07] rec0=1a rec1=00 rec2=15 rec3=062
        [0x08] rec0=16 rec1=00 rec2=08 rec3=002
        [0x09] rec0=16 rec1=00 rec2=07 rec3=030
        [0x0a] rec0=16 rec1=00 rec2=0f rec3=06a
        [0x0b] rec0=1a rec1=00 rec2=06 rec3=068
        [0x0c] rec0=1a rec1=00 rec2=0c rec3=030
        [0x0d] rec0=1b rec1=00 rec2=0e rec3=06a
        [0x0e] rec0=1a rec1=00 rec2=0a rec3=020
        [0x0f] rec0=16 rec1=00 rec2=17 rec3=000
        [0x10] rec0=1a rec1=00 rec2=0b rec3=000
        [0x11] rec0=17 rec1=00 rec2=07 rec3=02c
        [0x12] rec0=02 rec1=00 rec2=04 rec3=004
        [0x13] rec0=1c rec1=00 rec2=15 rec3=022
        [0x14] rec0=13 rec1=00 rec2=06 rec3=000
        [0x15] rec0=13 rec1=00 rec2=06 rec3=044
        [0x16] rec0=07 rec1=00 rec2=15 rec3=000
    tail 0x2154540e286586d5baf1b 0x42a00088462060003
Free Block Chain:
  0x10: 0000  00 11 00 04 80 01 41 01 5f 4c 69 6e 65 20 28 22  ┆      A _Line ("┆
  0x11: 0000  00 05 00 04 80 01 20 01 02 03 04 05 06 07 08 09  ┆                ┆
  0x5: 0000  00 12 00 31 80 0d 43 72 65 61 74 65 5f 4f 62 6a  ┆   1  Create_Obj┆
  0x12: 0000  00 04 03 16 80 20 74 75 72 65 5f 44 65 73 5f 56  ┆      ture_Des_V┆
  0x4: 0000  00 14 00 1f 80 14 65 2e 4b 69 6c 6c 5f 56 61 72  ┆      e.Kill_Var┆
  0x14: 0000  00 13 01 a1 80 0e 73 74 65 6e 63 65 20 28 54 72  ┆      stence (Tr┆
  0x13: 0000  00 00 03 fc 80 12 74 5f 54 79 70 65 20 28 43 68  ┆      t_Type (Ch┆