DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦39086e68b⟧ Ada Source

    Length: 17408 (0x4400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_View, seg_04805e

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io, View, Order, Attribute, Field_Identifier_Array, Objet,
     The_Order, The_Hero, The_Place, Identifier, Moving_String, Detail,
     Group_Identifier_Array, Complement, Complement_Array, Enumeration_Array;
use Text_Io, View;
procedure Test_View is

    O : Object;  
    D1 : Detail.Object;
    A1, A2, A3, A4 : Attribute.Object;
    Ob : Objet.Object;  
    Ia : Order.Index_Array;  
    An_Order : Order.Object;
    Id : Identifier.Object;
    Index : Natural;
    Ok : Boolean;

begin

    Enumeration_Array.Put_Literal (Identifier.From_String ("special"),
                                   Identifier.From_String ("invisible"), Ok);

    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 ("special");
    Complement_Array.Field_Put_Enumerate
       (Complement_Array.Index ("cuisine"),
        Field_Identifier_Array.Index ("nord"), Index,
        Enumeration_Array.Literal (Index, "invisible"), Ok);

    Complement_Array.Create_Enumerate_Field
       (Complement_Array.Index ("chambre"),
        Field_Identifier_Array.Index ("sud"), Ok);
    Index := Enumeration_Array.Enum ("special");
    Complement_Array.Field_Put_Enumerate
       (Complement_Array.Index ("chambre"),
        Field_Identifier_Array.Index ("sud"), Index,
        Enumeration_Array.Literal (Index, "invisible"), 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_Enumerate_Field
    --    (Complement_Array.Index ("cuisine"),
    --     Field_Identifier_Array.Index ("ouest"), Ok);
    -- Index := Enumeration_Array.Enum ("special");
    -- Complement_Array.Field_Put_Enumerate
    --    (Complement_Array.Index ("salon"), Field_Identifier_Array.Index ("est"),
    --     Index, Enumeration_Array.Literal (Index, "invisible"), Ok);
    --
    -- Complement_Array.Create_Enumerate_Field
    --    (Complement_Array.Index ("chambre"),
    --     Field_Identifier_Array.Index ("sud"), Ok);
    -- Index := Enumeration_Array.Enum ("special");
    -- Complement_Array.Field_Put_Enumerate
    --    (Complement_Array.Index ("chambre"),
    --     Field_Identifier_Array.Index ("sud"), Index,
    --     Enumeration_Array.Literal (Index, "invisible"), 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.Show;

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

    Group_Identifier_Array.Put (Identifier.From_String ("salle"), Ok);
    Group_Identifier_Array.Put (Identifier.From_String ("direction"), Ok);

    Group_Identifier_Array.Show;

    Order.Put_Place (An_Order, "cuisine");
    Order.Put_First_Complement (An_Order, "aller");
    Order.Put_Second_Complement (An_Order, "nord");
    Order.Put_Third_Complement (An_Order, "de");
    Order.Put_Fourth_Complement (An_Order, "cuisine");

    Ia := (5, 4, 3, 2, 1);
    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 ("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);

    Put_Line ("display  vide");
    Show (O);

    Create_Sentence (O, Identifier.From_String ("Ca marche !!!"));
    Display (O);
    Show (O);

    Create_Number (O, 2345);
    Display (O);
    Show (O);

    Create_Attribute (O, A1);
    Display (O);
    Show (O);

    Create_Attribute (O, A2);
    Display (O);
    Show (O);

    Create_Attribute (O, A3);
    Display (O);
    Show (O);

    Create_Attribute (O, A4);
    Display (O);
    Show (O);

    --Detail.Create_Real_Complement (D1, Complement_Array.Index ("ouest"));
    --Create_Exit (O, D1);
    --Display (O);
    --Show (O);

    Detail.Create_Real_Complement (D1, Complement_Array.Index ("nord"));
    Create_Exit (O, D1);
    Display (O);
    Show (O);

    Create_Exits (O);
    Display (O);
    Show (O);

    Objet.Create_Real (Ob, Complement_Array.Index ("cuisine"));
    Create_Contents (O, Ob);
    Display (O);
    Show (O);

    Objet.Create_Group (Ob, 5);
    Create_Contents (O, Ob);
    Display (O);
    Show (O);

    Objet.Create_Group (Ob, 5);
    Create_Name (O, Ob);
    Display (O);
    Show (O);

    Objet.Create_Real (Ob, Complement_Array.Index ("cuisine"));
    Create_Name (O, Ob);
    Display (O);
    Show (O);

    Objet.Create_Hero (Ob);
    Create_Name (O, Ob);
    Display (O);
    Show (O);

    Objet.Create_Place (Ob);
    Create_Name (O, Ob);
    Display (O);
    Show (O);


end Test_View;


E3 Meta Data

    nblk1=10
    nid=0
    hdr6=20
        [0x00] rec0=1b rec1=00 rec2=01 rec3=02a
        [0x01] rec0=03 rec1=00 rec2=0f rec3=046
        [0x02] rec0=12 rec1=00 rec2=02 rec3=002
        [0x03] rec0=07 rec1=00 rec2=03 rec3=006
        [0x04] rec0=0e rec1=00 rec2=04 rec3=072
        [0x05] rec0=17 rec1=00 rec2=05 rec3=032
        [0x06] rec0=00 rec1=00 rec2=06 rec3=010
        [0x07] rec0=16 rec1=00 rec2=08 rec3=058
        [0x08] rec0=13 rec1=00 rec2=09 rec3=07a
        [0x09] rec0=14 rec1=00 rec2=0e rec3=01e
        [0x0a] rec0=14 rec1=00 rec2=10 rec3=026
        [0x0b] rec0=15 rec1=00 rec2=07 rec3=03c
        [0x0c] rec0=06 rec1=00 rec2=0a rec3=00a
        [0x0d] rec0=1e rec1=00 rec2=0b rec3=046
        [0x0e] rec0=2d rec1=00 rec2=0d rec3=05a
        [0x0f] rec0=21 rec1=00 rec2=0c rec3=000
    tail 0x2174c00ba8657a6f182c3 0x42a00088462060003