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

⟦832b691c6⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Structure_Des_Variables, seg_047395, seg_04845b, seg_0484ba, seg_0486c5

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 
└─⟦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 Nos_Chaines;
with Nos_Listes;  
with Nos_Arbres;

package Structure_Des_Variables is

    type Cellule;
    type P_Cellule is access Cellule;

    type Type_Direction is
        record
            Direction : Nos_Chaines.String_Text;
            Communication : P_Cellule;
        end record;

    function Not_Equal (A, B : P_Cellule) return Boolean;
    function Equal (A, B : P_Cellule) return Boolean;
    function Equal (A, B : Nos_Chaines.String_Text) return Boolean;
    function Equal (A, B : Type_Direction) return Boolean;


    package Liste_Etat is new Nos_Listes (Nos_Chaines.String_Text);
    package Liste_Contenu is new Nos_Listes (P_Cellule);
    package Liste_Possession is new Nos_Listes (P_Cellule);
    package Liste_Direction is new Nos_Listes (Type_Direction);


    type Enum_Type is (Communication, Compteur, Lieu, Objet,
                       Personnage, Verbe, Preposition, Sans_Type);

    function Equal (A, B : Enum_Type) return Boolean;

    type Enum_Sens is (Sens1, Sens2, Les_Deux_Sens, Pas_De_Sens);
    type Enum_Champ is (Contenu, Description, Destination, Direction, Etat,
                        Position, Possession, Signification, Source, Valeur);

    type Type_Sens is
        record
            Source : P_Cellule;
            Destination : P_Cellule;
            Description_Communication : Nos_Chaines.String_Text;
            Etat_Communication : Liste_Etat.Objet;
        end record;

    type Element (Typ : Enum_Type) is
        record
            case Typ is
                when Communication =>
                    Sens1 : Type_Sens;
                    Sens2 : Type_Sens;
                when Compteur =>
                    Valeur_Compteur : Integer := 0;
                when Lieu =>
                    Description_Lieu : Nos_Chaines.String_Text;
                    Etat_Lieu : Liste_Etat.Objet;
                    Direction_Lieu : Liste_Direction.Objet;
                when Objet =>
                    Description_Objet : Nos_Chaines.String_Text;
                    Position_Objet : P_Cellule;
                    Etat_Objet : Liste_Etat.Objet;
                    Contenu_Objet : Liste_Contenu.Objet;
                when Personnage =>
                    Description_Personnage : Nos_Chaines.String_Text;
                    Position_Personnage : P_Cellule;
                    Etat_Personnage : Liste_Etat.Objet;
                    Possession_Personnage : Liste_Possession.Objet;
                when Preposition | Verbe =>
                    Signification : Nos_Chaines.String_Text;
                when others =>
                    null;
            end case;
        end record;

    type P_Element is access Element;

    type Cellule is
        record
            Nom : Nos_Chaines.String_Text;
            Complet : Boolean;
            Type_Variable : Enum_Type;
            Existe : Boolean;  
            Specif : P_Element;
        end record;


    function Difference (A, B : Cellule) return Integer;
    function Equal (A, B : Cellule) return Boolean;

    package Arbre_De_Cellule is new Nos_Arbres (Cellule);

    function Find (La_Cellule : Cellule) return Boolean;

    procedure Find (La_Cellule : in out Cellule; Trouve : out Boolean);

    procedure Add (La_Cellule : Cellule);

    procedure Replace (La_Cellule : Cellule);

    function No_Variable return Boolean;

    procedure Premier;
    function Suivant return Cellule;
    function Fin return Boolean;

end Structure_Des_Variables;


E3 Meta Data

    nblk1=8
    nid=2
    hdr6=8
        [0x00] rec0=20 rec1=00 rec2=01 rec3=044
        [0x01] rec0=18 rec1=00 rec2=06 rec3=008
        [0x02] rec0=18 rec1=00 rec2=04 rec3=010
        [0x03] rec0=1d rec1=00 rec2=03 rec3=000
        [0x04] rec0=14 rec1=00 rec2=02 rec3=000
        [0x05] rec0=19 rec1=00 rec2=08 rec3=000
        [0x06] rec0=13 rec1=00 rec2=02 rec3=000
        [0x07] rec0=13 rec1=00 rec2=02 rec3=001
    tail 0x215442fd2865378947222 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 08 00 22 80 16 72 75 63 74 75 72 65 5f 44 65  ┆   "  ructure_De┆
  0x8: 0000  00 07 03 38 80 05 54 65 78 74 3b 05 00 39 20 20  ┆   8  Text;  9  ┆
  0x7: 0000  00 05 03 fc 80 16 20 20 20 20 43 6f 6d 70 6c 65  ┆          Comple┆
  0x5: 0000  00 00 00 8f 80 02 65 3b 02 00 1d 20 20 20 20 20  ┆      e;        ┆