|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 56933 (0xde65)
Types: TextFile
Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦875e4298b⟧
└─⟦this⟧
with Text_Io, expression, Attribute, Field_Identifier_Array, Objet,
The_Order, The_Hero, The_Place, Identifier, Moving_String, Detail,
Group_Array, Complement, Complement_Array, Enumeration_Array;
use Text_Io, expression;
procedure Test_expression is
D1 : Detail.Object;
A1, A2, A3, A4 : Attribute.Object;
Ob : Objet.Object;
Id : Identifier.Object;
Index : Natural;
Ok : Boolean;
f,r,l : object;
use expression.visible;
begin
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("fermee"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("ouverte"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("rouge"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("jaune"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("vert"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("bleu"), Ok);
Enumeration_Array.Show;
Field_Identifier_Array.Put (Identifier.From_String ("vie"));
Field_Identifier_Array.Put (Identifier.From_String ("nord"));
Field_Identifier_Array.Put (Identifier.From_String ("sud"));
Field_Identifier_Array.Put (Identifier.From_String ("age"));
Field_Identifier_Array.Put (Identifier.From_String ("nom"));
Field_Identifier_Array.Put (Identifier.From_String ("couleur"));
Field_Identifier_Array.Put (Identifier.From_String ("description"));
Field_Identifier_Array.Show;
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("table"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("courir"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("aller"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("de"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nord"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("est"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("sud"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("ouest"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("vie"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("age"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nom"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("couleur"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("description"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("porte"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("trou"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("cuisine"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("chambre"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("salon"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), 13, Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), 10, Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Ok);
Index := Enumeration_Array.Enum ("couleur");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Index,
Enumeration_Array.Literal (Index, "rouge"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("gaston"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("table"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle cuisine"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle et grande chambre"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("chambre"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est un grand salon"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("salon"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"), Ok);
Identifier.Put (Id, "salle");
Group_Array.Put (Id, Complement_Array.Index ("chambre"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("salon"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("cuisine"), Ok);
Group_Array.Show;
Identifier.Put (Id, "nombre");
Group_Array.Put (Id, Complement_Array.Index ("vie"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("age"), Ok);
Group_Array.Show;
Complement_Array.Show;
The_Order.Put_Complement (Moving_String.From_String ("cuisine"),
Moving_String.From_String ("aller"),
Moving_String.From_String ("nord"),
Moving_String.From_String ("de"),
Moving_String.From_String ("cuisine"));
The_Order.Show;
The_Hero.Put (Complement_Array.Index ("gaston"));
Put_Line ("index the hero : " & Natural'Image (The_Hero.Index));
The_Hero.Show;
The_Place.Put (Complement_Array.Index ("cuisine"));
Put_Line ("index the place : " & Natural'Image (The_Place.Index));
The_Place.Show;
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("age"));
Attribute.Put (A1, Ob, D1);
Attribute.Show (A1);
Objet.Create_Group (Ob, 5);
Detail.Create_Group_field (D1, 3);
Attribute.Put (A2, Ob, D1);
Attribute.Show (A2);
Objet.Create_Hero (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("vie"));
Attribute.Put (A3, Ob, D1);
Attribute.Show (A3);
Objet.Create_Place (Ob);
Detail.Create_Real (D1, Field_Identifier_Array.Index ("description"));
Attribute.Put (A4, Ob, D1);
Attribute.Show (A4);
put_line("show vide");
show(r);
create(r,10);
put_line("evaluate : " & integer'image(evaluate(r));
put_line("is number : " & boolean'image(is_a_number(r));
put_line("is enumerate : " & boolean'image(is_a_number(r));
put_line("enumeration : " & natural'image(enumeration(r));
put_line("litteral : " & natural'image(literal(r));
show(r);
create(l,enumeration_array;enum("couleur"),enumeration_array.literal(
enumeration_array.enum("couleur"),"rouge"));
put_line("evaluate : " & integer'image(evaluate(l));
put_line("is number : " & boolean'image(is_a_number(l));
put_line("is enumerate : " & boolean'image(is_a_number(l));
put_line("enumeration : " & natural'image(enumeration(l));
put_line("litteral : " & natural'image(literal(l));
show(l);
create(l,5);
put_line("evaluate : " & integer'image(evaluate(l));
create(f,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'image(evaluate(f));
show(f);
create(f,*,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'image(evaluate(f));
create(f,-,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'image(evaluate(f));
create(f,/,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'imagee(valuate(f));
create(r,0);
create(f,/,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'image(evaluate(f));
create(l,a1)
put_line("evaluate : " & integer'image(evaluate(l));
put_line("is number : " & boolean'image(is_a_number(l));
put_line("is enumerate : " & boolean'image(is_a_number(l));
put_line("enumeration : " & natural'image(enumeration(l));
put_line("litteral : " & natural'image(literal(l));
show(l);
create(r,a2)
put_line("evaluate : " & integer'image(evaluate(r));
put_line("is number : " & boolean'image(is_a_number(r));
put_line("is enumerate : " & boolean'image(is_a_number(r));
put_line("enumeration : " & natural'image(enumeration(r));
put_line("litteral : " & natural'image(literal(r));
show(r);
create(f,*,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'image(evaluate(f));
put_line("is number : " & boolean'image(is_a_number(f));
put_line("is enumerate : " & boolean'image(is_a_number(f));
put_line("enumeration : " & natural'image(enumeration(f));
put_line("litteral : " & natural'image(literal(f));
show(f);
create(l,a2)
put_line("evaluate : " & integer'image(evaluate(l));
put_line("is number : " & boolean'image(is_a_number(l));
put_line("is enumerate : " & boolean'image(is_a_number(l));
put_line("enumeration : " & natural'image(enumeration(l));
put_line("litteral : " & natural'image(literal(l));
show(l2);
create(f,*,l,r,ok);
put_line("ok : " & boolean'image(ok));
create(l,25);
create(r,a);
create(f1,/,l,r);
put_line("ok : " & boolean'image(ok));
create(f,-,f,f1);
put_line("ok : " & boolean'image(ok));
put_line("evaluate : " & integer'image(evaluate(f));
end;
with Text_Io, affectation, Attribute, Field_Identifier_Array, Objet,
The_Order, The_Hero, The_Place, Identifier, Moving_String, Detail,
Group_Array, Complement, Complement_Array, Enumeration_Array,expression;
use Text_Io, affectation;
procedure Test_affectation is
o:object;
D1 : Detail.Object;
A1, A2, A3, A4 : Attribute.Object;
Ob : Objet.Object;
Id : Identifier.Object;
Index : Natural;
Ok : Boolean;
f1,f2,f3,f4 : expression.object;
begin
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("fermee"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("ouverte"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("rouge"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("jaune"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("vert"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("bleu"), Ok);
Enumeration_Array.Show;
Field_Identifier_Array.Put (Identifier.From_String ("vie"));
Field_Identifier_Array.Put (Identifier.From_String ("nord"));
Field_Identifier_Array.Put (Identifier.From_String ("sud"));
Field_Identifier_Array.Put (Identifier.From_String ("age"));
Field_Identifier_Array.Put (Identifier.From_String ("nom"));
Field_Identifier_Array.Put (Identifier.From_String ("couleur"));
Field_Identifier_Array.Put (Identifier.From_String ("description"));
Field_Identifier_Array.Show;
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("alfred"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("table"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("courir"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("aller"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("de"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nord"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("est"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("sud"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("ouest"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("vie"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("age"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nom"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("couleur"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("description"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("porte"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("trou"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("cuisine"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("chambre"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("salon"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), 13, Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), 10, Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Ok);
Index := Enumeration_Array.Enum ("couleur");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Index,
Enumeration_Array.Literal (Index, "rouge"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("gaston"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("table"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle cuisine"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle et grande chambre"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("chambre"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est un grand salon"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("salon"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"), Ok);
Identifier.Put (Id, "salle");
Group_Array.Put (Id, Complement_Array.Index ("chambre"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("salon"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("cuisine"), Ok);
Group_Array.Show;
Identifier.Put (Id, "nombre");
Group_Array.Put (Id, Complement_Array.Index ("vie"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("age"), Ok);
Group_Array.Show;
Complement_Array.Show;
The_Order.Put_Complement (Moving_String.From_String ("cuisine"),
Moving_String.From_String ("aller"),
Moving_String.From_String ("nord"),
Moving_String.From_String ("de"),
Moving_String.From_String ("cuisine"));
The_Order.Show;
The_Hero.Put (Complement_Array.Index ("gaston"));
Put_Line ("index the hero : " & Natural'Image (The_Hero.Index));
The_Hero.Show;
The_Place.Put (Complement_Array.Index ("cuisine"));
Put_Line ("index the place : " & Natural'Image (The_Place.Index));
The_Place.Show;
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("age"));
Attribute.Put (A1, Ob, D1);
Attribute.-Show (A1);
Objet.Create_Group (Ob, 5);
Detail.Create_Group_field (D1, 3);
Attribute.Put (A2, Ob, D1);
Attribute.Show (A2);
Objet.Create_Hero (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("couleur"));
Attribute.Put (A3, Ob, D1);
Attribute.Show (A3);
Objet.Create_Place (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("description"));
Attribute.Put (A4, Ob, D1);
Attribute.Show (A4);.
expression.create(f4,enumeration_array;enum("normal"),enumeration_array.literal(
enumeration_array.enum("normal"),"ouverte"));
put_line("evaluate f4 : " & integer'image(evaluate(f4));
expression.show(f4);
expression.create(l,5);
expression.create(r,8);
expression.create(f1,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate f1 : " & integer'image(evaluate(f1));
expression.show(f1);
expression.create(f2,-,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate f2 : " & integer'image(evaluate(f2));
expression.show(f2);
expression.create(l,a3)
expression.create(r,3)
expression.create(f3,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate f3 : " & integer'image(evaluate(f3));
expression.show(f3);
put_line("show vide");
show(o);
create_attribute(o,a1,f4,ok);
put_line("1 ok : " & boolean'image(ok));
create_attribute(o,a1,f1,ok); -- integer
put_line("2 ok : " & boolean'image(ok));
show(o);
run(o);
show(o);\f
create_attribute(o,a1,f2,ok); -- integer
put_line("3 ok : " & boolean'image(ok));
show(o);
run(o);
show(o);
create_attribute(o,a1,f3,ok);
put_line("4 ok : " & boolean'image(ok));
show(o);
run(o);
show(o);
Detail.Create_Real_complement (D1, Field_Identifier_Array.Index ("alfred"));
create_hero(o,d1);
show(o);
run(o);
show(o);
Detail.Create_Real_complement (D1, Field_Identifier_Array.Index ("chambre"));
create_place(o,d1);
show(o);
run(o);
show(o);
Detail.Create_group_complement(d1,5);
create_place(o,d1);
show(o);
run(o);
show(o);
complement_array.show;
end;
with Text_Io, condition, Attribute, Field_Identifier_Array, Objet,
The_Order, The_Hero, The_Place, Identifier, Moving_String, Detail,
Group_Array, Complement, Complement_Array, Enumeration_Array,expression;
use Text_Io, condition;
procedure Test_condition is
o,o1,o2,o3 : object;
D1 : Detail.Object;
A1, A2, A3, A4 : Attribute.Object;
Ob : Objet.Object;
Id : Identifier.Object;
Index : Natural;
Ok : Boolean;
f1,f2,f3,f4 : expression.object;
use condition.visible;expression.visible
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("fermee"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("ouverte"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("rouge"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("jaune"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("vert"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("bleu"), Ok);
Enumeration_Array.Show;
Field_Identifier_Array.Put (Identifier.From_String ("vie"));
Field_Identifier_Array.Put (Identifier.From_String ("nord"));
Field_Identifier_Array.Put (Identifier.From_String ("sud"));
Field_Identifier_Array.Put (Identifier.From_String ("age"));
Field_Identifier_Array.Put (Identifier.From_String ("nom"));
Field_Identifier_Array.Put (Identifier.From_String ("couleur"));
Field_Identifier_Array.Put (Identifier.From_String ("description"));
Field_Identifier_Array.Show;
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("table"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("courir"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("aller"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("de"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nord"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("est"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("sud"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("ouest"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("vie"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("age"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nom"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("couleur"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("description"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("porte"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("trou"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("cuisine"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("chambre"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("salon"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.put_place(Complement_Array.Index ("gaston"),Complement_Array.Index ("cuisine"),ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), 13, Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), 123, Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Ok);
Index := Enumeration_Array.Enum ("couleur");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Index,
Enumeration_Array.Literal (Index, "rouge"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("gaston"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("table"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle cuisine"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle et grande chambre"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("chambre"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est un grand salon"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("salon"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"), Ok);
Identifier.Put (Id, "salle");
Group_Array.Put (Id, Complement_Array.Index ("chambre"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("salon"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("cuisine"), Ok);
Group_Array.Show;
Identifier.Put (Id, "nombre");
Group_Array.Put (Id, Complement_Array.Index ("vie"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("age"), Ok);
Group_Array.Show;
Complement_Array.Show;
The_Order.Put_Complement (Moving_String.From_String ("cuisine"),
Moving_String.From_String ("aller"),
Moving_String.From_String ("nord"),
Moving_String.From_String ("de"),
Moving_String.From_String ("cuisine"));
The_Order.Show;
The_Hero.Put (Complement_Array.Index ("gaston"));
Put_Line ("index the hero : " & Natural'Image (The_Hero.Index));
The_Hero.Show;
The_Place.Put (Complement_Array.Index ("cuisine"));
Put_Line ("index the place : " & Natural'Image (The_Place.Index));
The_Place.Show;
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("age"));
Attribute.Put (A1, Ob, D1);
Attribute.Show (A1);
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("nord"));
Attribute.Put (A5, Ob, D1);
Attribute.Show (A5);
Objet.Create_Group (Ob, 5);
Detail.Create_Group_field (D1, 3);
Attribute.Put (A2, Ob, D1);
Attribute.Show (A2);
Objet.Create_Hero (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("couleur"));
Attribute.Put (A3, Ob, D1);
Attribute.Show (A3);
Objet.Create_Place (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("nord"));
Attribute.Put (A4, Ob, D1);
Attribute.Show (A4);
expression.create(f4,enumeration_array;enum("normal"),enumeration_array.literal(
enumeration_array.enum("normal"),"ouverte"));
put_line("1 evaluate f4 : " & integer'image(evaluate(f4));
expression.show(f4);
expression.create(f5,enumeration_array;enum("normal"),enumeration_array.literal(
enumeration_array.enum("normal"),"fermee"));
put_line("2 evaluate f5 : " & integer'image(evaluate(f5));
expression.show(f5);
expression.create(l,5);
expression.create(r,8);
expression.create(f1,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("3 evaluate f1 : " & integer'image(evaluate(f1));
expression.show(f1);
expression.create(f2,-,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("4 evaluate f2 : " & integer'image(evaluate(f2));
expression.show(f2);
expression.create(l,a3)
expression.create(r,3)
expression.create(f3,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("5 evaluate f3 : " & integer'image(evaluate(f3));
expression.show(f3);
expression.create(l,3);
expression.create(r,10);
expression.create(f,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
create_compare(o2,a1,equal,f,ok); -- vrai
put_line("6 ok : " & boolean'image(ok));
show(o2);
put_line("7 is right: " & boolean'image(is_right(o2));
expression.create(l,10);
expression.create(r,20);
expression.create(f,+,l,r,ok);
put_line("show vide");
show(o);
put_line("8 is right vide : " & boolean'image(is_right(o));
create_compare(o,a1,less,f,ok);
put_line("ok : " & boolean'image(ok));
show(o);
put_line("9 is right: " & boolean'image(is_right(o));
create_compare(o1,a4,equal,f4,ok); -- faux
put_line("ok : " & boolean'image(ok));
show(o1);
put_line("10 is right: " & boolean'image(is_right(o1));
create_compare(o1,a4,not_equal,f4,ok); -- vrai
put_line("ok : " & boolean'image(ok));
show(o1);
put_line("11 is right: " & boolean'image(is_right(o1));
create_compare(o1,a4,less,f4,ok); -- ok : faux
put_line("ok : " & boolean'image(ok));
show(o1);
put_line("12 is right: " & boolean'image(is_right(o1));
create_compare(o,a4,equal,f5,ok);
put_line("ok : " & boolean'image(ok));
show(o);
put_line("13 is right: " & boolean'image(is_right(o));
create_compare(o,a1,greater,f,ok);
put_line("ok : " & boolean'image(ok));
show(o);
put_line("14 is right: " & boolean'image(is_right(o));
create_compare(o,a1,less_equal,f,ok);
put_line("ok : " & boolean'image(ok));
show(o);
put_line("15 is right: " & boolean'image(is_right(o));
create_compare(o,a1,greater_equal,f,ok);
put_line("ok : " & boolean'image(ok));
show(o);
put_line("16 is right: " & boolean'image(is_right(o));
create_compare(o,a1,greater_equal,f4,ok); -- enumere
put_line("ok : " & boolean'image(ok));
show(o);
put_line("17 is right: " & boolean'image(is_right(o));
create_compare(o,a2,not_equal,f,ok); --enumere
put_line("ok : " & boolean'image(ok));
show(o);
put_line("18 is right: " & boolean'image(is_right(o));
Detail.Create_Real (D1, complement_Array.Index ("gaston"));
create_hero(o,d1);
show(o);
put_line("19 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("alfred"));
create_hero(o,d1
show(o);
put_line("20 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("chambre"));
create_place(o,d1);
show(o);
put_line("21 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("cuisine");
create_place(o,d1);
show(o);
put_line("22 is right: " & boolean'image(is_right(o));
create_actions(o,3);
show(o);
put_line("23 is right: " & boolean'image(is_right(o));
create_actions(o,4);
show(o);
put_line("24 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("gaston"));
create_meet(o,d1);
Field_show(o);
put_line("25 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("alfred"));
create_meet(o,d1);
show(o);
put_line("26 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("alfred"));
create_belong(o,ob,d1,no); -- ob cuisine
show(o);
put_line("27 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("alfred"));
create_belong(o,ob,d1,no); -- ob cuisine
show(o);
put_line("28 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("gaston"));
create_belong(o,ob,d1,yes);
show(o);
put_line("29 is right: " & boolean'image(is_right(o));
create_attribute_exist(o3,a3,yes); -- vrai
show(o3);
put_line("30 is right: " & boolean'image(is_right(o3));
create_attribute_exist(o,a3,no);
show(o);
put_line("31 is right: " & boolean'image(is_right(o));
create_attribute_exist(o,a6,yes);
show(o);
put_line("32 is right: " & boolean'image(is_right(o));
create_attribute_exist(o,a4,yes);
show(o);
put_line("33 is right: " & boolean'image(is_right(o));
create_exits_exist(o,ob,yes);
show(o);
put_line("34 is right: " & boolean'image(is_right(o));
create_exits_exist(o,ob,no);
show(o);
put_line("35 is right: " & boolean'image(is_right(o));
Objet.Create_Real (Ob, Complement_Array.Index ("salon"));
create_exits_exist(o,ob,yes);
show(o);
put_line("36 is right: " & boolean'image(is_right(o));
Objet.Create_Real (Ob, Complement_Array.Index ("salon"));
create_exits_exist(o,ob,no);
show(o);
put_line("37 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("gaston"));
create_subject_exist(o,d1,yes);
show(o);
put_line("38 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("gaston"));
create_subject_exist(o,D1,no);
show(o);
put_line("39 is right: " & boolean'image(is_right(o));
detail.create_real_complement (D1, complement_Array.Index ("alfred")); -- place de alfred = 0
create_subject_exist(o,d1,yes);
show(o);
put_line("40 is right: " & boolean'image(is_right(o));
put_line("o1 faux, o2 vrai, o3 vrai");
show(o1);
put_line("o1 is right : " & boolean'image(is_right(o1));
show(o2);
put_line("o2 is right : " & boolean'image(is_right(o2));
show(o3);
put_line("o3 is right : " & boolean'image(is_right(o3));
create(o,ou,o1,o2,);
show(o);
put_line("42 is right: " & boolean'image(is_right(o));
create(o,et,o,o3,);
show(o);
put_line("o3 et (o1 ou o2) : " & boolean'image(is_right(o));
end;
with Text_Io, condition, index_list,view,view_list,affectation,instruction_list,Attribute, Field_Identifier_Array, Objet,
The_Order, The_Hero, The_Place, Identifier, Moving_String, Detail,
Group_Array, Complement, Complement_Array, Enumeration_Array,expression;
use Text_Io, instruction_list;
procedure Test_instruction_list is
i1,i2,i3 : objet;
ind_list : index_list.object;
vi : view.object;
vi_list : view_list.object;
af : affectation.object;
c1,c2,c3 : condition.object;
D1 : Detail.Object;
A1, A2, A3, A4 : Attribute.Object;
Ob : Objet.Object;
Id : Identifier.Object;
Index : Natural;
Ok : Boolean;
f1,f2,f3,f4 : expression.object;
use condition.visible;expression.visible
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("fermee"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("normal"),
Identifier.From_String ("ouverte"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("rouge"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("jaune"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("vert"), Ok);
Enumeration_Array.Put_Literal (Identifier.From_String ("couleur"),
Identifier.From_String ("bleu"), Ok);
Enumeration_Array.Show;
Field_Identifier_Array.Put (Identifier.From_String ("vie"));
Field_Identifier_Array.Put (Identifier.From_String ("nord"));
Field_Identifier_Array.Put (Identifier.From_String ("sud"));
Field_Identifier_Array.Put (Identifier.From_String ("age"));
Field_Identifier_Array.Put (Identifier.From_String ("nom"));
Field_Identifier_Array.Put (Identifier.From_String ("couleur"));
Field_Identifier_Array.Put (Identifier.From_String ("description"));
Field_Identifier_Array.Show;
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("xavier"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("fred"), Ok);
Complement_Array.Put (Complement.animate_Object,
Identifier.From_String ("gedeon"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("gaston"), Ok);
Complement_Array.Put (Complement.Entity_Object,
Identifier.From_String ("table"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("courir"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Verb (Identifier.From_String ("aller"),
Identifier.From_String ("aller"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("de"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nord"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("est"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("sud"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("ouest"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("vie"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("age"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("nom"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("couleur"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("description"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("porte"), Ok);
Complement_Array.Put_Word (Identifier.From_String ("trou"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("cuisine"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("chambre"), Ok);
Complement_Array.Put (Complement.Place_Object,
Identifier.From_String ("salon"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("nord"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Ok);
Index := Enumeration_Array.Enum ("normal");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("sud"), Index,
Enumeration_Array.Literal (Index, "fermee"), Ok);
Complement_Array.put_place(Complement_Array.Index ("gaston"),Complement_Array.Index ("cuisine"),ok);
Complement_Array.put_movement("gedeon",Complement_Array.Index ("cuisine"));
Complement_Array.put_movement("gedeon",Complement_Array.Index ("salon"));
Complement_Array.put_movement("gedeon",Complement_Array.Index ("chambre"));
Complement_Array.put_movement("gedeon",Complement_Array.Index ("chambre"));
Complement_Array.put_movement("gedeon",Complement_Array.Index ("cuisine"));
Complement_Array.put_movement("gedeon",Complement_Array.Index ("chambre"));
animate_list;put(Complement_Array.Index ("gedeon"), ok); -- a tester
animate_list.show;
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("age"), 13, Ok);
Complement_Array.Create_Number_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), Ok);
Complement_Array.Field_Put_Number
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("vie"), 123, Ok);
Complement_Array.Create_Enumerate_Field
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Ok);
Index := Enumeration_Array.Enum ("couleur");
Complement_Array.Field_Put_Enumerate
(Complement_Array.Index ("gaston"),
Field_Identifier_Array.Index ("couleur"), Index,
Enumeration_Array.Literal (Index, "rouge"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("gaston"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Put_Place (Complement_Array.Index ("table"),
Complement_Array.Index ("cuisine"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("cuisine"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle cuisine"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("cuisine"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("chambre"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est une belle et grande chambre"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("chambre"),
Complement_Array.Index ("porte"),
Complement_Array.Index ("chambre"),
Complement_Array.Index ("sud"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("nord"), Ok);
Complement_Array.Create_Sentence_Field
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"), Ok);
Complement_Array.Field_Put_Sentence
(Complement_Array.Index ("salon"),
Field_Identifier_Array.Index ("description"),
Identifier.From_String ("C'est un grand salon"), Ok);
Complement_Array.Put_Exit (Complement_Array.Index ("salon"),
Complement_Array.Index ("trou"),
Complement_Array.Index ("salon"),
Complement_Array.Index ("est"),
Complement_Array.Index ("cuisine"),
Complement_Array.Index ("ouest"), Ok);
Identifier.Put (Id, "salle");
Group_Array.Put (Id, Complement_Array.Index ("chambre"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("salon"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("cuisine"), Ok);
Group_Array.Show;
Identifier.Put (Id, "nombre");
Group_Array.Put (Id, Complement_Array.Index ("vie"), Ok);
Group_Array.Put (Id, Complement_Array.Index ("age"), Ok);
Group_Array.Show;
Complement_Array.Show;
The_Order.Put_Complement (Moving_String.From_String ("cuisine"),
Moving_String.From_String ("aller"),
Moving_String.From_String ("nord"),
Moving_String.From_String ("de"),
Moving_String.From_String ("cuisine"));
The_Order.Show;
The_Hero.Put (Complement_Array.Index ("gaston"));
Put_Line ("index the hero : " & Natural'Image (The_Hero.Index));
The_Hero.Show;
The_Place.Put (Complement_Array.Index ("cuisine"));
Put_Line ("index the place : " & Natural'Image (The_Place.Index));
The_Place.Show;
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("age"));
Attribute.Put (A1, Ob, D1);
Attribute.Show (A1);
Objet.Create_Real (Ob, Complement_Array.Index ("gaston"));
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("nord"));
Attribute.Put (A5, Ob, D1);
Attribute.Show (A5);
Objet.Create_Group (Ob, 5);
Detail.Create_Group_field (D1, 3);
Attribute.Put (A2, Ob, D1);
Attribute.Show (A2);
Objet.Create_Hero (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("couleur"));
Attribute.Put (A3, Ob, D1);
Attribute.Show (A3);
Objet.Create_Place (Ob);
Detail.Create_Real_field (D1, Field_Identifier_Array.Index ("nord"));
Attribute.Put (A4, Ob, D1);
Attribute.Show (A4);
expression.create(f4,enumeration_array;enum("normal"),enumeration_array.literal(
enumeration_array.enum("normal"),"ouverte"));
put_line("evaluate f4 : " & integer'image(evaluate(f4));
expression.show(f4);
expression.create(f5,enumeration_array;enum("normal"),enumeration_array.literal(
enumeration_array.enum("normal"),"fermee"));
put_line("evaluate f5 : " & integer'image(evaluate(f5));
expression.show(f5);
expression.create(l,5);
expression.create(r,8);
expression.create(f1,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate f1 : " & integer'image(evaluate(f1));
expression.show(f1);
expression.create(f2,-,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate f2 : " & integer'image(evaluate(f2));
expression.show(f2);
expression.create(l,a3)
expression.create(r,3)
expression.create(f3,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
put_line("evaluate f3 : " & integer'image(evaluate(f3));
expression.show(f3);
expression.create(l,3);
expression.create(r,10);
expression.create(f,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
create_compare(o,a1,equal,f,ok);
put_line("ok : " & boolean'image(ok));
show(o);
put_line("is right: " & boolean'image(is_right(f));
expression.create(l,10);
expression.create(r,20);
expression.create(f,+,l,r,ok);
put_line("ok : " & boolean'image(ok));
condition.create_compare(c1,a1,equal,f,ok); -- faux
put_line("ok : " & boolean'image(ok));
put_line("is right vide : " & boolean'image(is_right(c1));
condition.create_compare(c2,a1,less,f,ok); -- vrai
put_line("ok : " & boolean'image(ok));
condition.show(o);
put_line("is right: " & boolean'image(is_right(c2));
condition.create_compare(c3,a4,equal,f4,ok); -- faux
put_line("ok : " & boolean'image(ok));
condition.show(c3);
put_line("is right : " & boolean'image(condition.(is_right(c));
Detail.Create_Real_complement (D1, Field_Identifier_Array.Index ("alfred"));
affectation.create_hero(af,d1);
affectation.show(af);
view.Create_Sentence (vi, Identifier.From_String ("Ca marche !!!"));
view_list.put(vi_list,vi);
view.Create_Number (vi, 2345);
view_list.put(vi_list,vi);
view.Create_Attribute (vi, A1);
view_list.put(vi_list,vi);
put("display vie list : " & );
view_list.display(vi_list);
new_line;
put("show i2 vide");
show(i1);
run(i1);
insert_change(i1,af);
put("show i1 affectation ");
show(i1);
insert_display(i1,vi_list);
put("show i1 affectation display ");
show(i1);
insert_next_line(i1);
put("show i1 affectation display next line");
show(i1);
insert_move(i1);
put("show i1 affectation display next line move");
show(i1);
run(i1); -- pour tester le mouvement
run(i1);
run(i1);
run(i1);
run(i1);
run(i1);
run(i1);
run(i1);
run(i1);
run(i1);
index_list.put(ind_list,complement_array.index("xavier"),ok); -- a tester
index_list.put(ind_list,complement_array.index("fred"),ok); -- a tester
index_list.put(ind_list,complement_array.index("alfred"),ok); -- a tester
objet.create_place(ob,complement_array.index("salon"));
insert_put(i1,ind_list,ob);
put("show i1 affectation display next line move put");
show(i1);
objet.create_hero(ob);
insert_put(i1,ind_list,ob);
objet.create_group(ob,5);
insert_put(i1,ind_list,ob);
put("show i1 affectation display next line move put nom_heros nom_groupe");
show(i1);
insert_go(i1,complement_array.index("nord"));
put("show i1 affectation display next line move put nom_heros nom_groupe go");
show(i1);
run(i1);
--insert_erase(i1,ob);
--put("show i1 affectation display next line move put go nom_heros nom_groupe erase");
--show(i1);
--insert_stop(i1);
--put("show i1 affectation display next line
--move put go nom_heros nom_groupe erase stop");
--show(i1);
i1:=null_object;
put("show i1 vide");
show(i1);
insert_display(i2,vi_list);
insert_move(i2);
put("show i2 display move");
show(i2);
view.Create_Sentence (vi, Identifier.From_String ("super");
view_list.put(vi_list,vi);
view.Create_Number (vi, 555);
view_list.put(vi_list,vi);
insert_display(i3,vi_list);
insert(i1,c,i2,i3);
show (i1);
run(i1);
complement_array.show;
end;