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

⟦290aa9349⟧ Ada Source

    Length: 47104 (0xb800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Complement_Array, seg_047f57

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 Text_Io, Complement, Complement_Array, Identifier, Field_Identifier_Array,
     Enumeration_Array, Complement_Identifier_Array, Group_Identifier_Array;

use Text_Io, Complement_Array;
procedure Test_Complement_Array is

    Com, Com1 : Complement.Object;
    Co, Co1 : Identifier.Object;
    C, C1 : Natural;
    Id, Id1, Id2 : Identifier.Object;
    Val_Enum : Natural;

    Ok : Boolean;

begin
    Complement_Identifier_Array.Show;

    -- Complement_Identifier_Array.Put (Identifier.From_String ("e1"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e2"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e3"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e4"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e5"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e6"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e7"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e8"));
    -- Complement_Identifier_Array.Put (Identifier.From_String ("e9"));

    Complement_Array.Put_Word (Identifier.From_String ("e1"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e2"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e3"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e4"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e5"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e6"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e7"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e8"), Ok);
    Complement_Array.Put_Word (Identifier.From_String ("e9"), Ok);

    Complement_Identifier_Array.Show;
    Complement_Array.Show;


    Id1 := Identifier.From_String ("etat_porte");
    Id2 := Identifier.From_String ("ouverte");
    Enumeration_Array.Put_Literal (Id1, Id2, Ok);
    Id2 := Identifier.From_String ("fermee");
    Enumeration_Array.Put_Literal (Id1, Id2, Ok);
    Id2 := Identifier.From_String ("verrouillee");
    Enumeration_Array.Put_Literal (Id1, Id2, Ok);
    Id2 := Identifier.From_String ("deverrouillee");
    Enumeration_Array.Put_Literal (Id1, Id2, Ok);

    Val_Enum := Enumeration_Array.Enum (Identifier.Image (Id1));

    Enumeration_Array.Show;
    Complement_Array.Show;

    Put_Line ("-- UNKNOWN --");
    --Complement.Show (Com);
    Co := Identifier.From_String ("simple");
    Put_Line ("-- put --");
    Put (Com, Co, Ok);
    Put_Line ("ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("unkn"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("unkn"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Line ("group  : " & Group (Identifier.Image (Co)));

    Show (Identifier.Image (Co));

    -- C := Complement_Array.Index (Identifier.Image (Co));
    -- Put_Line ("index co : " & Natural'Image (C));
    --
    -- Put_Line ("-- create_number_field --");
    -- Id := Identifier.From_String ("vie");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Number_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_number --");
    -- Field_Put_Number (C, field_identifier_array.index(identifier.image(id)), 124, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_sentence_field --");
    -- Id := Identifier.From_String ("description");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence
    --    (C, field_identifier_array.index(identifier.image(id)),
    --     Identifier.From_String ("C'est un petit homme vert !"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_enumerate_field --");
    -- Id := Identifier.From_String ("etat");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Enumerate_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Field_Put_Enumerate (C, field_identifier_array.index(identifier.image(id)), Val_Enum,
    --                      Enumeration_Array.Literal
    --                         (Val_Enum, Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("C is subject ? " & Boolean'Image
    --                                  (Is_A_Subject (Identifier.Image (Co))));
    -- Put_Line ("C is animate ? " & Boolean'Image
    --                                  (Is_An_Animate (Identifier.Image (Co))));
    -- Put_Line ("C is place ? " & Boolean'Image
    --                                (Is_A_Place (Identifier.Image (Co))));
    -- Put_Line ("C is entity ? " & Boolean'Image
    --                                 (Is_An_Entity (Identifier.Image (Co))));
    -- Put_Line ("C is word? " & Boolean'Image
    --                              (Is_A_Word (Identifier.Image (Co))));
    -- Put_Line ("C is verb ? " & Boolean'Image
    --                               (Is_A_Verb (Identifier.Image (Co))));
    --
    -- Put_Line ("Name : " & Name (C));
    -- Put_Line ("Place : " & Natural'Image (Place (C)));
    -- Put_Line ("field number : " &
    --           Integer'Image (Field_Number
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("vie")))));
    -- Put_Line ("field sentence : " &
    --           Field_Sentence (C, Field_Identifier_Array.Index
    --                                 (Identifier.From_String ("description"))));
    -- Put_Line ("field enumeration : " &
    --           Integer'Image (Field_Enumeration
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("field literal : " &
    --           Integer'Image (Field_Literal
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("verb number : " & Integer'Image (Verb_Number (C)));
    --
    -- Complement.Show (Com);

    Put_Line ("-- word --");
    --Complement.Show (Com);
    Put_Word (Identifier.From_String ("dedans"), Ok);
    Put_Line ("ok : " & Boolean'Image (Ok));
    Put_Word (Identifier.From_String ("dedans"), Ok);
    Put_Line ("ok : " & Boolean'Image (Ok));

    Co := Identifier.From_String ("dedans");

    Show (Identifier.Image (Co));

    Put_Group (Co, Identifier.From_String ("word"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("unkn"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Line ("group  : " & Group (Identifier.Image (Co)));

    Show (Identifier.Image (Co));

    -- C := Complement_Array.Index (Identifier.Image (Co));
    -- Put_Line ("index co : " & Natural'Image (C));
    --
    -- Put_Line ("-- create_number_field --");
    -- Id := Identifier.From_String ("vie");
    -- Field_Identifier_Array.Put (Id);
    -- Put_Line ("nu :" & Integer'Image (field_identifier_array.index(identifier.image(id))));
    -- Create_Number_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_number --");
    -- Field_Put_Number (C, field_identifier_array.index(identifier.image(id)), 124, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_sentence_field --");
    -- Id := Identifier.From_String ("description");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence
    --    (C, field_identifier_array.index(identifier.image(id)),
    --     Identifier.From_String ("C'est un petit homme vert !"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_enumerate_field --");
    -- Id := Identifier.From_String ("etat");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Enumerate_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Field_Put_Enumerate (C, field_identifier_array.index(identifier.image(id)), Val_Enum,
    --                      Enumeration_Array.Literal
    --                         (Val_Enum, Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("C is subject ? " & Boolean'Image
    --                                  (Is_A_Subject (Identifier.Image (Co))));
    -- Put_Line ("C is animate ? " & Boolean'Image
    --                                  (Is_An_Animate (Identifier.Image (Co))));
    -- Put_Line ("C is place ? " & Boolean'Image
    --                                (Is_A_Place (Identifier.Image (Co))));
    -- Put_Line ("C is entity ? " & Boolean'Image
    --                                 (Is_An_Entity (Identifier.Image (Co))));
    -- Put_Line ("C is word? " & Boolean'Image
    --                              (Is_A_Word (Identifier.Image (Co))));
    -- Put_Line ("C is verb ? " & Boolean'Image
    --                               (Is_A_Verb (Identifier.Image (Co))));
    --
    -- Put_Line ("Name : " & Name (C));
    -- Put_Line ("Place : " & Natural'Image (Place (C)));
    -- Put_Line ("field number : " &
    --           Integer'Image (Field_Number
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("vie")))));
    -- Put_Line ("field sentence : " &
    --           Field_Sentence (C, Field_Identifier_Array.Index
    --                                 (Identifier.From_String ("description"))));
    -- Put_Line ("field enumeration : " &
    --           Integer'Image (Field_Enumeration
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("field literal : " &
    --           Integer'Image (Field_Literal
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("verb number : " & Integer'Image (Verb_Number (C)));
    --
    -- Complement.Show (Com);
    --
    Put_Line ("-- verb --");
    -- Complement.Show (Com);
    Put_Verb (Identifier.From_String ("aller"),
              Identifier.From_String ("courir"), Ok);
    Put_Line ("ok : " & Boolean'Image (Ok));
    Put_Verb (Identifier.From_String ("aller"),
              Identifier.From_String ("courir"), Ok);
    Put_Line ("ok : " & Boolean'Image (Ok));

    Co := Identifier.From_String ("aller");

    Show (Identifier.Image (Co));

    Put_Group (Co, Identifier.From_String ("ggfgf"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("33333"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Line ("group  : " & Group (Identifier.Image (Co)));

    Show (Identifier.Image (Co));

    -- C := Complement_Array.Index (Identifier.Image (Co));
    -- Put_Line ("index co : " & Natural'Image (C));
    --
    -- Put_Line ("-- create_number_field --");
    -- Id := Identifier.From_String ("vie");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Number_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_number --");
    -- Field_Put_Number (C, field_identifier_array.index(identifier.image(id)), 124, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_sentence_field --");
    -- Id := Identifier.From_String ("description");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence
    --    (C, field_identifier_array.index(identifier.image(id)),
    --     Identifier.From_String ("C'est un petit homme vert !"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_enumerate_field --");
    -- Id := Identifier.From_String ("etat");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Enumerate_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Field_Put_Enumerate (C, field_identifier_array.index(identifier.image(id)), Val_Enum,
    --                      Enumeration_Array.Literal
    --                         (Val_Enum, Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("C is subject ? " & Boolean'Image
    --                                  (Is_A_Subject (Identifier.Image (Co))));
    -- Put_Line ("C is animate ? " & Boolean'Image
    --                                  (Is_An_Animate (Identifier.Image (Co))));
    -- Put_Line ("C is place ? " & Boolean'Image
    --                                (Is_A_Place (Identifier.Image (Co))));
    -- Put_Line ("C is entity ? " & Boolean'Image
    --                                 (Is_An_Entity (Identifier.Image (Co))));
    -- Put_Line ("C is word? " & Boolean'Image
    --                              (Is_A_Word (Identifier.Image (Co))));
    -- Put_Line ("C is verb ? " & Boolean'Image
    --                               (Is_A_Verb (Identifier.Image (Co))));
    --
    -- Put_Line ("Name : " & Name (C));
    -- Put_Line ("Place : " & Natural'Image (Place (C)));
    -- Put_Line ("field number : " &
    --           Integer'Image (Field_Number
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("vie")))));
    -- Put_Line ("field sentence : " &
    --           Field_Sentence (C, Field_Identifier_Array.Index
    --                                 (Identifier.From_String ("description"))));
    -- Put_Line ("field enumeration : " &
    --           Integer'Image (Field_Enumeration
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("field literal : " &
    --           Integer'Image (Field_Literal
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("verb number : " & Integer'Image (Verb_Number (C)));
    --
    -- Complement.Show (Com);

    Co := Identifier.From_String ("porte");
    Put (Complement.Entity_Object, Co, Ok);
    Put_Line ("ok : " & Boolean'Image (Ok));

    Show (Identifier.Image (Co));

    Put_Group (Co, Identifier.From_String ("objet"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("objet4"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Line ("group  : " & Group (Identifier.Image (Co)));

    Show (Identifier.Image (Co));

    -- C := Complement_Array.Index (Identifier.Image (Co));   -- Put_Line ("index co : " & Natural'Image (C));
    -- Put_Line ("-- entite --");
    -- Complement.Show (Com);
    --
    -- Put_Line ("-- put_place --");
    -- Put_Place (C, 2, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    --
    -- Put_Line ("-- create_number_field --");
    -- Id := Identifier.From_String ("vie");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Number_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_number --");
    -- Field_Put_Number (C, field_identifier_array.index(identifier.image(id)), 124, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_sentence_field --");
    -- Id := Identifier.From_String ("description");
    --
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence
    --    (C, field_identifier_array.index(identifier.image(id)),
    --     Identifier.From_String ("C'est un petit homme vert !"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_enumerate_field --");
    -- Id := Identifier.From_String ("etat");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Enumerate_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Id2 := Identifier.From_String ("fermee");
    --
    -- Put_Line ("id : " & Identifier.Image (Id));
    -- Put_Line ("id2 : " & Identifier.Image (Id2));
    -- Put_Line ("val_enum :" & Natural'Image (Val_Enum));
    -- Put_Line ("val_lit :" & Natural'Image
    --                            (Enumeration_Array.Literal
    --                                (Val_Enum, Identifier.Image (Id2))));
    --
    -- Field_Put_Enumerate (C, field_identifier_array.index(identifier.image(id)), Val_Enum,
    --                      Enumeration_Array.Literal
    --                         (Val_Enum, Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Complement.Show (Com);
    --
    -- Id := Identifier.From_String ("histoire");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence (C, field_identifier_array.index(identifier.image(id)),
    --                     Identifier.From_String ("Il etait une fois ..."), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    --
    -- Id := Identifier.From_String ("vie");
    -- Put_Line ("vie is number ? " &
    --           Boolean'Image (Field_Is_A_Number
    --                             (C, field_identifier_array.index(identifier.image(id)))));
    -- Put_Line ("vie is enumerate ? " &
    --           Boolean'Image (Field_Is_An_Enumerate
    --                             (C, field_identifier_array.index(identifier.image(id)))));
    -- Put_Line ("vie is sentence ? " &
    --           Boolean'Image (Field_Is_A_Sentence
    --                             (C, field_identifier_array.index(identifier.image(id)))));
    -- Put_Line ("vie is exist? " &
    --           Boolean'Image (Field_Exist (C,
    --                                       field_identifier_array.index(identifier.image(id)))));
    --
    -- Put_Line ("C is subject ? " & Boolean'Image
    --                                  (Is_A_Subject (Identifier.Image (Co))));
    -- Put_Line ("C is animate ? " & Boolean'Image
    --                                  (Is_An_Animate (Identifier.Image (Co))));
    -- Put_Line ("C is place ? " & Boolean'Image
    --                                (Is_A_Place (Identifier.Image (Co))));
    -- Put_Line ("C is entity ? " & Boolean'Image
    --                                 (Is_An_Entity (Identifier.Image (Co))));
    -- Put_Line ("C is word? " & Boolean'Image
    --                              (Is_A_Word (Identifier.Image (Co))));
    -- Put_Line ("C is verb ? " & Boolean'Image
    --                               (Is_A_Verb (Identifier.Image (Co))));
    --
    -- Put_Line ("Name : " & Name (C));
    -- Put_Line ("Place : " & Natural'Image (Place (C)));
    -- Put_Line ("field number : " &
    --           Integer'Image (Field_Number
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("vie")))));
    -- Put_Line ("field sentence : " &
    --           Field_Sentence (C, Field_Identifier_Array.Index
    --                                 (Identifier.From_String ("description"))));
    -- Put_Line ("field enumeration : " &
    --           Integer'Image (Field_Enumeration
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("field literal : " &
    --           Integer'Image (Field_Literal
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("verb number : " & Integer'Image (Verb_Number (C)));
    --
    -- Complement.Show (Com);

    Put_Line ("-- anime --");

    Co := Identifier.From_String ("tigre");
    Put (Complement.Animate_Object, Co, Ok);

    Show (Identifier.Image (Co));

    Put_Group (Co, Identifier.From_String ("bete"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("bete4"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Line ("group  : " & Group (Identifier.Image (Co)));

    Show (Identifier.Image (Co));

    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put (Complement.Entity_Object, Co, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- C := Complement_Array.Index (Identifier.Image (Co));
    -- Put_Line ("index co : " & Natural'Image (C));
    --
    -- Put_Line ("-- put_place --");
    -- Put_Place (C, 3, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    --
    -- Put_Line ("-- create_number_field --");
    -- Id := Identifier.From_String ("vie");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Number_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_number --");
    -- Field_Put_Number (C, field_identifier_array.index(identifier.image(id)), 124, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_sentence_field --");
    -- Id := Identifier.From_String ("description");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence
    --    (C, field_identifier_array.index(identifier.image(id)),
    --     Identifier.From_String ("C'est un petit homme vert !"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_enumerate_field --");
    -- Id := Identifier.From_String ("etat");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Enumerate_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Field_Put_Enumerate (C, field_identifier_array.index(identifier.image(id)), Val_Enum,
    --                      Enumeration_Array.Literal
    --                         (Val_Enum, Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Movement (Co, 1);
    -- Put_Movement (Co, 5);
    -- Put_Movement (Co, 5);
    -- Put_Movement (Co, 4);
    -- Put_Movement (Co, 7);
    -- Put_Movement (Co, 3);
    -- -- Movement_Init (C);
    -- for I in 1 .. 12 loop
    --     Put_Line ("place : " & Natural'Image (Place (C)));
    --     Move (C);
    -- end loop;
    --
    -- Complement.Show (Com);
    --
    -- Id := Identifier.From_String ("histoire");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field (C, field_identifier_array.index(identifier.image(id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence (C, field_identifier_array.index(identifier.image(id)),
    --                     Identifier.From_String ("Il etait une fois ..."), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    --
    -- Id := Identifier.From_String ("vie");
    -- Put_Line ("vie is number ? " &
    --           Boolean'Image (Field_Is_A_Number
    --                             (C, field_identifier_array.index(identifier.image(id)))));
    -- Put_Line ("vie is enumerate ? " &
    --           Boolean'Image (Field_Is_An_Enumerate
    --                             (C, field_identifier_array.index(identifier.image(id)))));
    -- Put_Line ("vie is sentence ? " &
    --           Boolean'Image (Field_Is_A_Sentence
    --                             (C, field_identifier_array.index(identifier.image(id)))));
    -- Put_Line ("vie is exist? " &
    --           Boolean'Image (Field_Exist (C,
    --                                       field_identifier_array.index(identifier.image(id)))));
    --
    -- Put_Line ("C is subject ? " & Boolean'Image
    --                                  (Is_A_Subject (Identifier.Image (Co))));
    -- Put_Line ("C is animate ? " & Boolean'Image
    --                                  (Is_An_Animate (Identifier.Image (Co))));
    -- Put_Line ("C is place ? " & Boolean'Image
    --                                (Is_A_Place (Identifier.Image (Co))));
    -- Put_Line ("C is entity ? " & Boolean'Image
    --                                 (Is_An_Entity (Identifier.Image (Co))));
    -- Put_Line ("C is word? " & Boolean'Image
    --                              (Is_A_Word (Identifier.Image (Co))));
    -- Put_Line ("C is verb ? " & Boolean'Image
    --                               (Is_A_Verb (Identifier.Image (Co))));
    --
    -- Put_Line ("Name : " & Name (C));
    -- Put_Line ("Place : " & Natural'Image (Place (C)));
    -- Put_Line ("field number : " &
    --           Integer'Image (Field_Number
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("vie")))));
    -- Put_Line ("field sentence : " &
    --           Field_Sentence (C, Field_Identifier_Array.Index
    --                                 (Identifier.From_String ("description"))));
    -- Put_Line ("field enumeration : " &
    --           Integer'Image (Field_Enumeration
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("field literal : " &
    --           Integer'Image (Field_Literal
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.From_String ("etat")))));
    -- Put_Line ("verb number : " & Integer'Image (Verb_Number (C)));
    --
    --
    -- Complement.Show (Com);

    Put_Line ("-- place --");
    --Complement.Show (Com);



    Co := Identifier.From_String ("table");
    Put (Complement.Place_Object, Co, Ok);


    Show (Identifier.Image (Co));

    Put_Group (Co, Identifier.From_String ("meuble"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Group (Co, Identifier.From_String ("meuble4"), Ok);
    Put_Line ("group ok : " & Boolean'Image (Ok));
    Put_Line ("group  : " & Group (Identifier.Image (Co)));

    Show (Identifier.Image (Co));
    --
    -- Co1 := Identifier.From_String ("porte2");
    -- Put (Complement.Place_Object, Co1, Ok);
    -- Put (Complement.Animate_Object, Identifier.From_String ("hj"), Ok);
    -- Put (Complement.Entity_Object, Identifier.From_String ("kkk"), Ok);
    -- Put (Complement.Entity_Object, Identifier.From_String ("rret"), Ok);
    -- Put_Place (Index ("hj"), 3, Ok);
    -- Put_Place (Index ("kkk"), 4, Ok);
    -- Put_Place (Index ("rret"), 5, Ok);
    --
    -- Complement_Array.Put_Word (Identifier.From_String ("nord"), Ok);
    -- Complement_Array.Put_Word (Identifier.From_String ("sud"), Ok);
    -- Complement_Array.Show;
    --
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- C := Complement_Array.Index (Identifier.Image (Co));
    -- Put_Line ("index co : " & Natural'Image (C));
    -- C1 := Complement_Array.Index (Identifier.Image (Co1));
    -- Put_Line ("index co : " & Natural'Image (C1));
    --
    -- Put_Line ("-- put_place --");
    -- Put_Place (C, 2, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- put_place --");
    -- Put_Place (C, 4, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_number_field --");
    -- Id := Identifier.From_String ("vie");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Number_Field
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_number --");
    -- Field_Put_Number
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)), 124, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_sentence_field --");
    -- Id := Identifier.From_String ("description");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)),
    --     Identifier.From_String ("C'est un petit homme vert !"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("-- create_enumerate_field --");
    -- Id := Identifier.From_String ("etat");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Enumerate_Field (C, Field_Identifier_Array.Index
    --                               (Identifier.Image (Id)), Ok);
    --
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Field_Put_Enumerate
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)), Val_Enum,
    --     Enumeration_Array.Literal (Val_Enum, Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("exits exist : " & Boolean'Image (Exits_Exist (C)));
    --
    -- Put_Line ("-- put exit --");
    -- Put_Exit (C, 1, 2, 3, 4, 5, Ok);
    -- Put_Line ("-- put exit --");
    -- Put_Exit (C, 1, 2, 3, 4, 5, Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    --
    -- Put_Line ("-- create_enumerate_field --");
    --
    -- Id := Identifier.From_String ("sud");
    -- Id2 := Identifier.From_String ("nord");
    --
    -- Field_Identifier_Array.Put (Id);
    -- Field_Identifier_Array.Put (Id2);
    -- Complement_Array.Show;
    -- Complement_Identifier_Array.Show;
    --
    -- Put_Line ("-- put exit --");
    -- Put_Exit (C, 2, Complement_Array.Index ("porte"),
    --           Complement_Array.Index ("sud"), Complement_Array.Index ("porte2"),
    --           Complement_Array.Index ("nord"), Ok);
    -- Put_Line ("-- put exit --");
    -- Put_Exit (C1, 2, Complement_Array.Index ("porte2"),
    --           Complement_Array.Index ("nord"), Complement_Array.Index ("porte"),
    --           Complement_Array.Index ("sud"), Ok);
    --
    --
    -- Complement_Array.Show;
    -- Complement_Identifier_Array.Show;
    -- Field_Identifier_Array.Show;
    -- Create_Enumerate_Field (C, Field_Identifier_Array.Index
    --                               (Identifier.Image (Id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Create_Enumerate_Field (C1, Field_Identifier_Array.Index
    --                                (Identifier.Image (Id2)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_enumerate --");
    -- Field_Put_Enumerate
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)),
    --     Val_Enum, Enumeration_Array.Literal (Val_Enum, "fermee"), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("exit exist 3 : " & Boolean'Image (Exit_Exist (C, 3)));
    -- Put_Line ("exit exist 2 : " & Boolean'Image (Exit_Exist (C, 2)));
    -- Put_Line ("exit exist 4 : " & Boolean'Image (Exit_Exist (C, 4)));
    --
    -- Put_Line ("exit name 3 : " & Exit_Name (C, 3));
    -- Put_Line ("exit name 2 : " & Exit_Name (C, 2));
    -- Put_Line ("exit name 4 : " & Exit_Name (C, 4));
    --
    -- Put_Line ("next place 3 : " & Natural'Image (Next_Place (C, 3)));
    -- Put_Line ("next place 2 : " & Natural'Image (Next_Place (C, 2)));
    -- Put_Line ("next place 4 : " & Natural'Image (Next_Place (C, 4)));
    --
    -- -- List_Exits_Init (C);
    -- -- while not List_Exits_Done (C) loop
    -- --    Put_Line ("name : " & List_Exits_Name (C));
    -- --   List_Exits_Next (C);
    -- -- end loop;
    --
    -- Complement.Show (Com);
    --
    -- Id := Identifier.From_String ("histoire");
    -- Field_Identifier_Array.Put (Id);
    -- Create_Sentence_Field
    --    (C, Field_Identifier_Array.Index (Identifier.Image (Id)), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    -- Put_Line ("-- field_put_sentence --");
    -- Field_Put_Sentence (C, Field_Identifier_Array.Index (Identifier.Image (Id)),
    --                     Identifier.From_String ("Il etait une fois ..."), Ok);
    -- Put_Line ("ok : " & Boolean'Image (Ok));
    --
    --
    -- Id := Identifier.From_String ("vie");
    -- Put_Line ("vie is number ? " &
    --           Boolean'Image (Field_Is_A_Number
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.Image (Id)))));
    -- Put_Line ("vie is enumerate ? " &
    --           Boolean'Image (Field_Is_An_Enumerate
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.Image (Id)))));
    -- Put_Line ("vie is sentence ? " &
    --           Boolean'Image (Field_Is_A_Sentence
    --                             (C, Field_Identifier_Array.Index
    --                                    (Identifier.Image (Id)))));
    -- Put_Line ("vie is exist? " &
    --           Boolean'Image (Field_Belong (C, Field_Identifier_Array.Index
    --                                              (Identifier.Image (Id)))));
    --
    -- Put_Line ("C is subject ? " & Boolean'Image
    --                                  (Is_A_Subject (Identifier.Image (Co))));
    -- Put_Line ("C is animate ? " & Boolean'Image
    --                                  (Is_An_Animate (Identifier.Image (Co))));
    -- Put_Line ("C is place ? " & Boolean'Image
    --                                (Is_A_Place (Identifier.Image (Co))));
    -- Put_Line ("C is entity ? " & Boolean'Image
    --                                 (Is_An_Entity (Identifier.Image (Co))));
    -- Put_Line ("C is word? " & Boolean'Image
    --                              (Is_A_Word (Identifier.Image (Co))));
    -- Put_Line ("C is verb ? " & Boolean'Image
    --                               (Is_A_Verb (Identifier.Image (Co))));
    --
    -- Put_Line ("Name : " & Name (C));
    -- Put_Line ("Place : " & Natural'Image (Place (C)));
    -- Put_Line ("field number : " &
    --           Integer'Image (Field_Number
    --                             (C, Field_Identifier_Array.Index ("vie"))));
    -- Put_Line ("field sentence : " &
    --           Field_Sentence (C, Field_Identifier_Array.Index ("description")));
    -- Put_Line ("field enumeration : " &
    --           Integer'Image (Field_Enumeration
    --                             (C, Field_Identifier_Array.Index ("etat"))));
    -- Put_Line ("field literal : " &
    --           Integer'Image (Field_Literal
    --                             (C, Field_Identifier_Array.Index ("etat"))));
    -- --Put_Line ("verb number : " & Complement_Array.Name (Synonym (C)));
    --
    -- Complement.Show (Com);
    -- Group_Identifier_Array.Put (Identifier.From_String ("objet"), Ok);
    -- Group_Identifier_Array.Put (Identifier.From_String ("viande"), Ok);
    -- Group_Identifier_Array.Put (Identifier.From_String ("meuble"), Ok);
    -- Group_Identifier_Array.Show;
    -- Put_Group (Identifier.Image (Co),
    --            Group_Identifier_Array.Index ("objet"), Ok);
    -- Put_Line ("group ok : " & Boolean'Image (Ok));
    -- Put_Group (Identifier.Image (Co),
    --            Group_Identifier_Array.Index ("meuble"), Ok);
    -- Put_Group (Identifier.Image (Co),
    --            Group_Identifier_Array.Index ("objet"), Ok);
    -- Put_Line ("group ok : " & Boolean'Image (Ok));
    -- List_Group_Init (Identifier.Image (Co));
    -- while not List_Group_Done (Identifier.Image (Co)) loop
    --     Put_Line ("group name : " & List_Group_Name (Identifier.Image (Co)));
    --     List_Group_Next (Identifier.Image (Co));
    -- end loop;
    -- Show (Identifier.Image (Co));
    --
    -- Enumeration_Array.Show;
    -- Field_Identifier_Array.Show;
    -- Complement_Identifier_Array.Show;
    -- Complement_Array.Show;
    --
    -- Field_Put_Enumerate
    --    (C1, Field_Identifier_Array.Index ("nord"), Val_Enum,
    --     Enumeration_Array.Literal (Val_Enum, "deverrouillee"), Ok);

    Complement_Array.Show;
    -- List_Exits_Init (C);
    -- w-hile not List_Exits_Done (C) loop
    --   Put_Line (List_Exits_Name (C));
    --  List_Exits_Next (C);
    --   end loop;

    List_Complement_Init;  
    while not List_Complement_Done loop
        Put_Line (List_Complement_Name);  
        Put_Line (Natural'Image (List_Complement_Place));
        List_Complement_Next;
    end loop;
end Test_Complement_Array;

E3 Meta Data

    nblk1=2d
    nid=29
    hdr6=50
        [0x00] rec0=1a rec1=00 rec2=01 rec3=02a
        [0x01] rec0=00 rec1=00 rec2=0a rec3=036
        [0x02] rec0=15 rec1=00 rec2=0b rec3=01c
        [0x03] rec0=1a rec1=00 rec2=24 rec3=038
        [0x04] rec0=13 rec1=00 rec2=16 rec3=08e
        [0x05] rec0=13 rec1=00 rec2=25 rec3=020
        [0x06] rec0=11 rec1=00 rec2=1a rec3=036
        [0x07] rec0=18 rec1=00 rec2=21 rec3=02a
        [0x08] rec0=15 rec1=00 rec2=1b rec3=028
        [0x09] rec0=12 rec1=00 rec2=05 rec3=048
        [0x0a] rec0=12 rec1=00 rec2=03 rec3=028
        [0x0b] rec0=12 rec1=00 rec2=07 rec3=00c
        [0x0c] rec0=1b rec1=00 rec2=15 rec3=00a
        [0x0d] rec0=13 rec1=00 rec2=19 rec3=030
        [0x0e] rec0=11 rec1=00 rec2=26 rec3=028
        [0x0f] rec0=11 rec1=00 rec2=2c rec3=084
        [0x10] rec0=19 rec1=00 rec2=1d rec3=002
        [0x11] rec0=17 rec1=00 rec2=17 rec3=030
        [0x12] rec0=14 rec1=00 rec2=04 rec3=052
        [0x13] rec0=15 rec1=00 rec2=20 rec3=04e
        [0x14] rec0=10 rec1=00 rec2=0f rec3=060
        [0x15] rec0=12 rec1=00 rec2=27 rec3=016
        [0x16] rec0=17 rec1=00 rec2=02 rec3=03a
        [0x17] rec0=19 rec1=00 rec2=12 rec3=006
        [0x18] rec0=12 rec1=00 rec2=0d rec3=026
        [0x19] rec0=18 rec1=00 rec2=11 rec3=05e
        [0x1a] rec0=13 rec1=00 rec2=13 rec3=054
        [0x1b] rec0=12 rec1=00 rec2=2b rec3=022
        [0x1c] rec0=1a rec1=00 rec2=14 rec3=074
        [0x1d] rec0=16 rec1=00 rec2=08 rec3=03e
        [0x1e] rec0=17 rec1=00 rec2=06 rec3=060
        [0x1f] rec0=15 rec1=00 rec2=0c rec3=090
        [0x20] rec0=1a rec1=00 rec2=2a rec3=056
        [0x21] rec0=14 rec1=00 rec2=0e rec3=048
        [0x22] rec0=17 rec1=00 rec2=1e rec3=062
        [0x23] rec0=14 rec1=00 rec2=18 rec3=016
        [0x24] rec0=10 rec1=00 rec2=23 rec3=058
        [0x25] rec0=12 rec1=00 rec2=09 rec3=06a
        [0x26] rec0=12 rec1=00 rec2=10 rec3=062
        [0x27] rec0=1b rec1=00 rec2=1c rec3=000
        [0x28] rec0=1c rec1=00 rec2=06 rec3=000
        [0x29] rec0=00 rec1=0c rec2=5a rec3=0c6
        [0x2a] rec0=cc rec1=0b rec2=bc rec3=46b
        [0x2b] rec0=00 rec1=01 rec2=8b rec3=218
        [0x2c] rec0=d9 rec1=81 rec2=77 rec3=398
    tail 0x2174bdc828657895142af 0x42a00088462060003
Free Block Chain:
  0x29: 0000  00 1f 00 04 80 01 20 01 02 77 69 74 68 20 4c 65  ┆         with Le┆
  0x1f: 0000  00 22 03 fc 80 43 2d 2d 20 20 20 20 20 49 64 65  ┆ "   C--     Ide┆
  0x22: 0000  00 28 03 fc 80 04 20 20 2d 2d 04 00 2e 20 20 20  ┆ (      --  .   ┆
  0x28: 0000  00 2d 01 68 80 1a 20 3a 20 22 20 26 20 62 6f 6f  ┆ - h   : " & boo┆
  0x2d: 0000  00 00 00 04 80 01 72 01 00 00 00 00 00 00 00 00  ┆      r         ┆