|
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: 12288 (0x3000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Feuille, seg_047ceb
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with String_Table, Struct_Component, Lists; package Feuille is ------------------------------------------------------------------------ -- <UNIT> Feuille ------------------------------------------------------------------------ -- -- <DESCRIPTION> This package defines operations for creating the -- semantic tree. -- -- <AUTHOR> Barthe Raphael, Beck Didier, Kempe Laurent -- <VERSION> 1.0 -- <DATE> 21-Fev-95 -- <MODIFY> 21-Fev-95 -- -- <PKG USED> String_Table, Struct_Component -- ------------------------------------------------------------------------ type Tcell is (Objet, Piece_Courante, Hero, Pnj, Direction, Verbe, Complement, Iter, Iter_S, Vaut, Egal, Instruction, Et, Dire, Termine, Booleen, Enum, Alors, Entier, Chaine, Plus, Moins, Fois, Div, Unk); type Cell (Kind : Tcell := Unk); type Pcell is access Cell; subtype Instr is Pcell; package Liste_Instr is new Lists (Instr); type Cell (Kind : Tcell := Unk) is record Left, Right : Pcell; case Kind is when Verbe | Complement | Objet | Piece_Courante | Pnj | Hero | Direction | Enum => Idattrib : String_Table.I_String; when Chaine => Phrase : String_Table.I_String; when Entier => Nbr : Natural; when Iter => Aiter : Struct_Component.Liste_Attribut.Listiter; when Iter_S => Aiter_S : Struct_Component.Liste_Structure.Listiter; when Booleen => Bool : Boolean; when Instruction => Listeinst : Liste_Instr.List; when others => null; end case; end record; type Instr_Locale is record Piece : String_Table.I_String; Liste : Liste_Instr.List; end record; package Liste_Instr_Locale is new Lists (Instr_Locale); function Which (Acell : in Cell) return Tcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Is -- -- <DESCRIPTION> return the type of the Acell. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Permute (List : in Liste_Instr.List) return Liste_Instr.List; function Permute (List : in Liste_Instr_Locale.List) return Liste_Instr_Locale.List; procedure Image (Alist : Liste_Instr.List); procedure Image (Alist : Liste_Instr_Locale.List); procedure Image (Acell : in Cell); ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Image -- -- <DESCRIPTION> Print on the screen the entire tree (starting from the -- node Acell). -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ procedure Addleft (Pere : in out Cell; Fils : in Pcell); ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Addleft -- -- <DESCRIPTION> Add a left leaf to the node : Pere. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ procedure Addright (Pere : in out Cell; Fils : in Pcell); ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Addright -- -- <DESCRIPTION> Add a right leaf to the node : Pere. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell; Astring : String_Table.I_String) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node and initialize it with a string. -- The node have to have the correct type. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell; Theiter : Struct_Component.Liste_Attribut.Listiter) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node and initialize it with an -- Liste_Attribut iter. -- The node have to have the correct type. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell; Abool : Boolean) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node and initialize it with an -- boolean. -- The node have to have the correct type. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell; Anat : Natural) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node and initialize it with a -- natural. -- The node have to have the correct type. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell; Theiter : Struct_Component.Liste_Structure.Listiter) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node and initialize it with an -- Liste_Structure iter. -- The node have to have the correct type. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ function Create (What : Tcell; Thelist : Liste_Instr.List) return Pcell; ------------------------------------------------------------------------ -- <SUBPROGRAM> -- <UNIT> Create -- -- <DESCRIPTION> Create a new node and initialize it with an -- Liste_Instr.List. -- The node have to have the correct type. -- -- <EXCEPTIONS> Nothing -- ------------------------------------------------------------------------ end Feuille;
nblk1=b nid=4 hdr6=12 [0x00] rec0=1d rec1=00 rec2=01 rec3=000 [0x01] rec0=1b rec1=00 rec2=0b rec3=022 [0x02] rec0=1d rec1=00 rec2=09 rec3=02a [0x03] rec0=01 rec1=00 rec2=07 rec3=002 [0x04] rec0=1f rec1=00 rec2=05 rec3=02c [0x05] rec0=1e rec1=00 rec2=03 rec3=028 [0x06] rec0=1c rec1=00 rec2=02 rec3=02c [0x07] rec0=1c rec1=00 rec2=06 rec3=016 [0x08] rec0=07 rec1=00 rec2=08 rec3=000 [0x09] rec0=e1 rec1=0c rec2=97 rec3=041 [0x0a] rec0=68 rec1=28 rec2=90 rec3=000 tail 0x2174b87108657516111ea 0x42a00088462060003 Free Block Chain: 0x4: 0000 00 0a 00 08 80 05 20 20 20 20 65 05 20 72 65 63 ┆ e rec┆ 0xa: 0000 00 00 00 04 80 01 20 01 80 80 80 80 80 80 80 80 ┆ ┆