|
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 - 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;