|
|
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 - metrics - download
Length: 10240 (0x2800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Feuille, seg_047980
└─⟦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, Lien, Personne, 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 |
Personne | Lien | 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=9
nid=0
hdr6=12
[0x00] rec0=1c rec1=00 rec2=01 rec3=03a
[0x01] rec0=1c rec1=00 rec2=07 rec3=00a
[0x02] rec0=1d rec1=00 rec2=04 rec3=012
[0x03] rec0=01 rec1=00 rec2=09 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
tail 0x2174b2ee88654777acbe6 0x42a00088462060003