|
|
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: 17408 (0x4400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Complement, seg_047a80
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Field, Link, Identifier, Generic_Index,
Generic_String_Sort_Array, Group_Identifier_Array, List_Generic,
Complement_Identifier_Array, Exclusive_Generic_List;
package Complement is
type Complement_Kind is (Animate, Place, Entity, Word, Verb, Unknown);
type Object (Kind : Complement_Kind := Unknown) is private;
procedure Copy (Input_Item : in Object; Output_Item : in out Object);
procedure Put_Name (Item : in out Object;
Name : in Identifier.Object;
Ok : out Boolean);
procedure Put_Word (Item : in out Object; A_Word : in Identifier.Object);
procedure Put_Verb (Item : in out Object;
A_Synonym, A_Verb : in Identifier.Object);
--procedure create_number_field(item : out object;field_name: in string; ok : out boolean);
--procedure create_sentence_field(item : out object;field_name: in string; ok : out boolean);
--procedure create_enumerate_field(item : out object;field_name: in string; ok : out boolean);
--procedure field_Put_number (Item : in out Object;field_name: in string;number : in integer; ok : out boolean);
--procedure field_Put_sentence (Item : in out Object;field_name: in string;sentence : in string; ok : out boolean);
--procedure field_Put_enumerate (Item : in out Object;field_name: in string;enumeration,literal : in positive; ok : out boolean);
procedure Create_Number_Field (Item : in out Object;
Field_Index : in Positive;
Ok : out Boolean);
procedure Create_Sentence_Field (Item : in out Object;
Field_Index : in Positive;
Ok : out Boolean);
procedure Create_Enumerate_Field (Item : in out Object;
Field_Index : in Positive;
Ok : out Boolean);
procedure Field_Put_Number (Item : in out Object;
Field_Index : in Positive;
Number : in Integer;
Ok : out Boolean);
procedure Field_Put_Sentence (Item : in out Object;
Field_Index : in Positive;
Sentence : in Identifier.Object;
Ok : out Boolean);
procedure Field_Put_Enumerate (Item : in out Object;
Field_Index : in Positive;
Enumeration, Literal : in Positive;
Ok : out Boolean);
procedure Put_Movement (Item : in out Object; Place : in Positive);
-- procedure Movement_Init (Item : in out Object);
procedure Move (Item : in out Object);
procedure Put_Exit (Item : in out Object;
Name, Start_Place, Start_Direction,
Next_Place, Next_Direction : in Positive;
Ok : out Boolean);
--procedure put_exit(item : in out object;name,start_place,start_direction,
--next_place,next_direction : in positive;ok : out boolean);
--procedure exit_put_enumerate(item : in out object;enumeration,literal: in positive;ok : out boolean);
function Exit_Exist
(Item : in Object; Direction : in Positive) return Boolean;
function Exits_Exist (Item : in Object) return Boolean;
--function exit_enumeration(item : in out object;direction : in positive) return natural;
--function exit_literal(item : in out object;direction : in positive) return natural;
function Exit_Name
(Item : in Object; Direction : in Positive) return Natural;
function Next_Place
(Item : in Object; Direction : in Positive) return Natural;
function Next_Direction
(Item : in Object; Direction : in Positive) return Natural;
procedure Put_Place
(Item : in out Object; Place : in Natural; Ok : out Boolean);
procedure Show (Item : in Object);
procedure List_Exits_Init (Item : in out Object);
procedure List_Exits_Next (Item : in out Object);
function List_Exits_Direction (Item : in Object) return Natural;
function List_Exits_Done (Item : in Object) return Boolean;
procedure Put_Group (Item : in out Object;
An_Index : in Positive;
Ok : out Boolean);
procedure List_Group_Init (Item : in out Object);
procedure List_Group_Next (Item : in out Object);
function List_Group_Name
(Item : in Object)
return String; -- pour list_exits_value aussi string !!!
function List_Group_Done (Item : in Object) return Boolean;
--function field_is_a_number (item : in object;field_name : in string) return boolean;
--function field_is_a_sentence (item : in object;field_name : in string) return boolean;
--function field_is_an_enumerate (item : in object;field_name : in string) return boolean;
--function field_exist (item : in object;field_name : in string) return boolean;
function Field_Is_A_Number
(Item : in Object; Field_Index : in Positive) return Boolean;
function Field_Is_A_Sentence
(Item : in Object; Field_Index : in Positive) return Boolean;
function Field_Is_An_Enumerate
(Item : in Object; Field_Index : in Positive) return Boolean;
function Field_Belong
(Item : in Object; Field_Index : in Positive) return Boolean;
function Is_A_Subject (Item : in Object) return Boolean;
function Is_An_Animate (Item : in Object) return Boolean;
function Is_A_Place (Item : in Object) return Boolean;
function Is_An_Entity (Item : in Object) return Boolean;
function Is_A_Word (Item : in Object) return Boolean;
function Is_A_Verb (Item : in Object) return Boolean;
function Name (Item : in Object) return String;
function Place (Item : in Object) return Natural;
--function field_number (Item : in Object,field_name:in string) return Integer;
--function field_sentence (Item : in Object,field_name:in string) return String;
--function field_Enumeration (Item : in Object,field_name:in string) return Natural;
--function field_Literal (Item : in Object,field_name:in string) return Natural;
function Field_Number
(Item : in Object; Field_Index : in Positive) return Integer;
function Field_Sentence
(Item : in Object; Field_Index : in Positive) return String;
function Field_Enumeration
(Item : in Object; Field_Index : in Positive) return Natural;
function Field_Literal
(Item : in Object; Field_Index : in Positive) return Natural;
-- function Synonym (Item : in Object) return Natural;
Null_Object : constant Object;
Animate_Object : constant Object;
Place_Object : constant Object;
Entity_Object : constant Object;
private
--package field_array is new generic_string_sort_array(
-- element =>field.object,
-- max_element_number =>10,
-- null_element => field.null_object,
-- element_image => field.image,
-- get_key =>field.name);
package Group_Index is
new Generic_Index (Element_Image => Group_Identifier_Array.Image);
package Complement_Index is
new Generic_Index (Element_Image => Complement_Identifier_Array.Image);
package Group_Index_List is new Exclusive_Generic_List
(Element => Group_Index.Object,
Null_Element => Group_Index.Null_Object,
Show_Element => Group_Index.Show,
Get_Key => Group_Index.Image);
package Field_List is new Exclusive_Generic_List
(Element => Field.Object,
Null_Element => Field.Null_Object,
Show_Element => Field.Show,
Get_Key => Field.Name);
package Place_List is new List_Generic (Element => Complement_Index.Object);
package Link_List is new Exclusive_Generic_List
(Element => Link.Object,
Null_Element => Link.Null_Object,
Show_Element => Link.Show,
Get_Key => Link.Key);
Null_Trip_Iterator : Place_List.Iterator; -- tester dans boucle
Null_Exits_Iterator : Link_List.Iterator;
Null_Group_Iterator : Group_Index_List.Iterator;
type Object (Kind : Complement_Kind := Unknown) is
record
Group_List : Group_Index_List.Object :=
Group_Index_List.Null_Object;
Group_Iterator : Group_Index_List.Iterator := Null_Group_Iterator;
case Kind is
when Animate =>
Animate_Name : Identifier.Object := Identifier.Null_Object;
-- animate_fields : field_array.object := field_array.null_object;
Animate_Fields : Field_List.Object :=
Field_List.Null_Object;
Animate_Place : Natural := 0;
Trip : Place_List.List := Place_List.Nil;
Trip_Iterator : Place_List.Iterator := Null_Trip_Iterator;
when Place =>
Place_Name : Identifier.Object := Identifier.Null_Object;
-- place_fields : field_array.object := field_array.null_object;
Place_Fields : Field_List.Object := Field_List.Null_Object;
Exits : Link_List.Object := Link_List.Null_Object;
Exits_Iterator : Link_List.Iterator := Null_Exits_Iterator;
when Entity =>
Entity_Name : Identifier.Object := Identifier.Null_Object;
-- entity_fields : field_array.object := field_array.null_object;
Entity_Fields : Field_List.Object := Field_List.Null_Object;
Entity_Place : Natural := 0;
when Word =>
Word_Value : Identifier.Object := Identifier.Null_Object;
when Verb =>
Synonym : Identifier.Object := Identifier.Null_Object;
-- reference_Verb : Identifier.Object :=
--Identifier : identifier.Null_Object;
when Unknown =>
null;
end case;
end record;
Null_Object : constant Object :=
(
Group_List => Group_Index_List.Null_Object,
Group_Iterator => Null_Group_Iterator,
Kind => Unknown);
Animate_Object : constant Object :=
(Group_List => Group_Index_List.Null_Object,
Group_Iterator => Null_Group_Iterator,
Kind => Animate,
Animate_Name => Identifier.Null_Object,
-- animate_fields => field_array.null_object,
Animate_Fields => Field_List.Null_Object,
Animate_Place => 0,
Trip => Place_List.Nil,
Trip_Iterator => Null_Trip_Iterator);
Place_Object : constant Object :=
(Group_List => Group_Index_List.Null_Object,
Group_Iterator => Null_Group_Iterator,
Kind => Place,
Place_Name => Identifier.Null_Object,
-- place_fields => field_array.null_object,
Place_Fields => Field_List.Null_Object,
Exits => Link_List.Null_Object,
Exits_Iterator => Null_Exits_Iterator);
Entity_Object : constant Object :=
(Group_List => Group_Index_List.Null_Object,
Group_Iterator => Null_Group_Iterator,
Kind => Entity,
Entity_Name => Identifier.Null_Object,
-- entity_fields => field_array.null_object,
Entity_Fields => Field_List.Null_Object,
Entity_Place => 0);
end Complement;
nblk1=10
nid=2
hdr6=1c
[0x00] rec0=15 rec1=00 rec2=01 rec3=05a
[0x01] rec0=0e rec1=00 rec2=0f rec3=05a
[0x02] rec0=01 rec1=00 rec2=04 rec3=052
[0x03] rec0=13 rec1=00 rec2=10 rec3=03c
[0x04] rec0=11 rec1=00 rec2=06 rec3=082
[0x05] rec0=14 rec1=00 rec2=0e rec3=06e
[0x06] rec0=14 rec1=00 rec2=05 rec3=012
[0x07] rec0=13 rec1=00 rec2=08 rec3=012
[0x08] rec0=16 rec1=00 rec2=0a rec3=04e
[0x09] rec0=16 rec1=00 rec2=03 rec3=068
[0x0a] rec0=12 rec1=00 rec2=07 rec3=01c
[0x0b] rec0=17 rec1=00 rec2=0b rec3=00e
[0x0c] rec0=19 rec1=00 rec2=0c rec3=00c
[0x0d] rec0=04 rec1=00 rec2=09 rec3=000
[0x0e] rec0=00 rec1=00 rec2=00 rec3=019
[0x0f] rec0=00 rec1=00 rec2=00 rec3=000
tail 0x2174b561886548b61318d 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 0d 00 3b 80 02 74 2c 02 00 1b 20 20 20 20 20 ┆ ; t, ┆
0xd: 0000 00 00 03 fc 80 05 65 61 6e 29 3b 05 00 70 2d 2d ┆ ean); p--┆