|
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: 18432 (0x4800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Expression, seg_04905c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io, Expression, Order, 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; An_Order : Order.Object; Ia : Order.Index_Array; A1, A2, A3, A4 : Attribute.Object; Ob : Objet.Object; Id : Identifier.Object; Index : Natural; Ok : Boolean; F : Object := Null_Object; R : Object := Null_Object; L : Object := Null_Object; F1 : Object := Null_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; Order.Put_Place (An_Order, Moving_String.From_String ("cuisine")); Order.Put_First_Complement (An_Order, Moving_String.From_String ("aller")); Order.Put_Second_Complement (An_Order, Moving_String.From_String ("nord")); Order.Put_Third_Complement (An_Order, Moving_String.From_String ("cuisine")); Order.Put_Fourth_Complement (An_Order, Moving_String.From_String ("")); Ia := (1, 2, 3, 3, 4); Order.Put_Redirection (An_Order, Ia); The_Order.Put (An_Order); 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_Field_Group (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_Field (D1, Field_Identifier_Array.Index ("description")); Attribute.Put (A4, Ob, D1); Attribute.Show (A4); Put_Line ("show vide"); Show (R); Put_Line ("evaluate : " & Integer'Image (Evaluate (R))); Put_Line ("is number : " & Boolean'Image (Is_A_Number (R))); Put_Line ("is enumerate : " & Boolean'Image (Is_An_Enumerate (R))); Put_Line ("enumeration : " & Natural'Image (Enumeration (R))); Put_Line ("litteral : " & Natural'Image (Literal (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_An_Enumerate (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_An_Enumerate (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'Image (Evaluate (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_An_Enumerate (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_An_Enumerate (R))); Put_Line ("enumeration : " & Natural'Image (Enumeration (R))); Put_Line ("litteral : " & Natural'Image (Literal (R))); Put_Line ("A2 show"); 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_An_Enumerate (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_An_Enumerate (L))); Put_Line ("enumeration : " & Natural'Image (Enumeration (L))); Put_Line ("litteral : " & Natural'Image (Literal (L))); Show (L); Create (F, 50); Create (L, 2); Create (R, A3); Create (F1, '*', L, R, Ok); Put_Line ("evaluate : " & Integer'Image (Evaluate (F1))); Put_Line ("ok : " & Boolean'Image (Ok)); Create (F, '-', F, F1, Ok); Put_Line ("ok : " & Boolean'Image (Ok)); Put_Line ("is number : " & Boolean'Image (Is_A_Number (F))); Put_Line ("is enumerate : " & Boolean'Image (Is_An_Enumerate (F))); Put_Line ("evaluate : " & Integer'Image (Evaluate (F))); Show (F); end Test_Expression;
nblk1=11 nid=11 hdr6=20 [0x00] rec0=1d rec1=00 rec2=01 rec3=034 [0x01] rec0=01 rec1=00 rec2=02 rec3=07c [0x02] rec0=12 rec1=00 rec2=0d rec3=002 [0x03] rec0=0f rec1=00 rec2=0c rec3=008 [0x04] rec0=12 rec1=00 rec2=0b rec3=008 [0x05] rec0=16 rec1=00 rec2=0e rec3=044 [0x06] rec0=16 rec1=00 rec2=0a rec3=010 [0x07] rec0=12 rec1=00 rec2=09 rec3=03c [0x08] rec0=14 rec1=00 rec2=08 rec3=016 [0x09] rec0=16 rec1=00 rec2=07 rec3=07e [0x0a] rec0=19 rec1=00 rec2=10 rec3=000 [0x0b] rec0=1a rec1=00 rec2=06 rec3=078 [0x0c] rec0=16 rec1=00 rec2=04 rec3=00e [0x0d] rec0=17 rec1=00 rec2=0f rec3=03c [0x0e] rec0=15 rec1=00 rec2=05 rec3=00a [0x0f] rec0=12 rec1=00 rec2=03 rec3=000 [0x10] rec0=05 rec1=00 rec2=04 rec3=000 tail 0x2174d5580865b3ed2d055 0x42a00088462060003 Free Block Chain: 0x11: 0000 00 00 03 fc 80 23 26 20 42 6f 6f 6c 65 61 6e 27 ┆ #& Boolean'┆