|
|
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: 43008 (0xa800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Complementgl, seg_047ea5
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io, Complement_Identifier_Array, Field_Identifier_Array;
package body Complementgl is
procedure Copy (Input_Item : in Object; Output_Item : in out Object) is
begin
Output_Item := Input_Item;
case Input_Item.Kind is
when Animate =>
--output_item := (kind =>animate,
-- animate_name =>input_item.animate_name,
-- animate_fields => field_array.null_object,
-- animate_fields => field_list.null,
-- animate_place => input_item.animate_place,
-- trip => place_list.nil,
-- trip_iterator =>null_trip_iterator);
Field_List.Free (Output_Item.Animate_Fields);
Field_List.Copy (Input_Item.Animate_Fields,
Output_Item.Animate_Fields);
when Place =>
-- output_item := (kind=>place,
-- place_name => input_item.place_name,
-- place_fields => field_array.null_object,
-- place_fields => field_list.nil,
-- exits =>link_list.nil,
-- exits_iterator =>null_exits_iterator);
Field_List.Free (Output_Item.Place_Fields);
Field_List.Copy (Input_Item.Place_Fields,
Output_Item.Place_Fields);
-- field_list.free(output_item.exist);
-- field_list.copy(input_item.exits,output_item.exits);
when Entity =>
-- output_item := (kind =>entity,
-- entity_name =>input_item.entity_name,
-- entity_fields => field_array.null_object,
-- entity_fields => field_list.nil,
-- entity_place => input_item.entity_place);
Field_List.Free (Output_Item.Entity_Fields);
Field_List.Copy (Input_Item.Entity_Fields,
Output_Item.Entity_Fields);
when Word | Verb | Unknown =>
null;
end case;
end Copy;
procedure Put_Name (Item : in out Object;
Name : in Identifier.Object;
Ok : out Boolean) is
begin
case Item.Kind is
when Animate =>
Item.Animate_Name := Name;
Group_Identifier_Array.Put (Name, Ok);
Put_Group (Item, Group_Identifier_Array.Index
(Identifier.Image (Name)), Ok);
Ok := True;
when Place =>
Item.Place_Name := Name;
Group_Identifier_Array.Put (Name, Ok);
Put_Group (Item, Group_Identifier_Array.Index
(Identifier.Image (Name)), Ok);
Ok := True;
when Entity =>
Item.Entity_Name := Name;
Group_Identifier_Array.Put (Name, Ok);
Put_Group (Item, Group_Identifier_Array.Index
(Identifier.Image (Name)), Ok);
Ok := True;
when Word | Verb | Unknown =>
Ok := False;
end case;
end Put_Name;
procedure Put_Word (Item : in out Object; A_Word : in Identifier.Object) is
Ok : Boolean;
begin
Item := (Group_List => Group_Index_List.Null_Object,
Group_Iterator => Null_Group_Iterator,
Kind => Word,
Word_Value => A_Word);
Group_Identifier_Array.Put (A_Word, Ok);
Put_Group
(Item, Group_Identifier_Array.Index (Identifier.Image (A_Word)), Ok);
end Put_Word;
procedure Put_Verb (Item : in out Object;
A_Synonym, A_Verb : in Identifier.Object) is
Ok : Boolean;
begin
Item := (Group_List => Group_Index_List.Null_Object,
Group_Iterator => Null_Group_Iterator,
Kind => Verb,
Synonym => A_Synonym);
Group_Identifier_Array.Put (A_Verb, Ok);
Put_Group
(Item, Group_Identifier_Array.Index (Identifier.Image (A_Verb)), Ok);
end Put_Verb;
--procedure get_field(item : in out object;a_field : out field.object;field_name:in string; ok : out boolean) is
--begin
-- case item.kind is
-- when animate =>
-- field_array.get(item.animate_fields,a_field,field_name,ok);
-- when place =>
-- field_array.get(item.place_fields,a_field,field_name,ok);
-- when entity=>
-- field_array.get(item.entity_fields,a_field,field_name,ok);
-- when word | verb | unknown=>
-- ok := false;
-- end case;
--end;
procedure Get_Fields (Item : in Object;
List : out Field_List.Object;
Ok : out Boolean) is
begin
Ok := True;
case Item.Kind is
when Animate =>
List := Item.Animate_Fields;
when Place =>
List := Item.Place_Fields;
when Entity =>
List := Item.Entity_Fields;
when Word | Verb | Unknown =>
Ok := False;
end case;
end Get_Fields;
--procedure get_field(item : in object;a_field : out field.object;field_name: in string; ok : out boolean) is
procedure Get_Field (Item : in Object;
A_Field : out Field.Object;
Field_Index : in Positive;
Ok : out Boolean) is
List : Field_List.Object;
Local_Ok : Boolean;
begin
Get_Fields (Item, List, Local_Ok);
if Local_Ok then
Field_List.Get (List, A_Field,
Field_Identifier_Array.Image (Field_Index), Ok);
else
Ok := False;
end if;
end Get_Field;
procedure Put_Field (Item : in out Object; A_Field : in Field.Object) is
List : Field_List.Object;
Local_Ok : Boolean;
begin
-- Get_Fields (Item, List, Local_Ok);
-- if Local_Ok then
-- Field_List.Put (List, A_Field);
-- end if;
case Item.Kind is
when Animate =>
Field_List.Put (Item.Animate_Fields, A_Field);
when Place =>
Field_List.Put (Item.Place_Fields, A_Field);
when Entity =>
Field_List.Put (Item.Entity_Fields, A_Field);
when Word | Verb | Unknown =>
null;
end case;
end Put_Field;
--procedure put_field(item : in out object;a_field : in field.object) is
--begin
-- case item.kind is
-- when animate =>
-- field_array.put(item.animate_fields,a_field);
-- when place =>
-- field_array.put(item.place_fields,a_field);
-- when entity=>
-- field_array.put(item.entity_fields,a_field);
-- when word | verb | unknown=>
-- null;
-- end case;
--end;
-- procedure create_number_field(item : out object;field_name: in string; ok : out boolean) is
procedure Create_Number_Field (Item : in out Object;
Field_Index : in Positive;
Ok : out Boolean) is
A_Field : Field.Object;
begin
-- if is_a_subject(item) and not field_exist(item,field_name) then
if Is_A_Subject (Item) and not Field_Belong (Item, Field_Index) then
-- field.create_number(a_field,field_name);
Field.Create_Number (A_Field, Field_Index);
Put_Field (Item, A_Field);
Ok := True;
else
Ok := False;
end if;
end Create_Number_Field;
-- procedure create_sentence_field(item : in out object;field_name: in string; ok : out boolean);
procedure Create_Sentence_Field (Item : in out Object;
Field_Index : in Positive;
Ok : out Boolean) is
A_Field : Field.Object;
begin
-- if is_a_subject(item) and not field_exist(item,field_name) then
if Is_A_Subject (Item) and not Field_Belong (Item, Field_Index) then
-- field.create_sentence(a_field,field_name);
Field.Create_Sentence (A_Field, Field_Index);
Put_Field (Item, A_Field);
Ok := True;
else
Ok := False;
end if;
end Create_Sentence_Field;
-- procedure create_enumerate_field(item : in out object;field_name: in string; ok : out boolean);
procedure Create_Enumerate_Field (Item : in out Object;
Field_Index : in Positive;
Ok : out Boolean) is
A_Field : Field.Object;
begin
-- if is_a_subject(item) and not field_exist(item,field_name) then
if Is_A_Subject (Item) and not Field_Belong (Item, Field_Index) then
-- field.create_enumerate(a_field,field_name);
Field.Create_Enumerate (A_Field, Field_Index);
Put_Field (Item, A_Field);
Ok := True;
else
Ok := False;
end if;
end Create_Enumerate_Field;
-- procedure field_Put_number (Item : in out Object;field_name: in string;number : in integer; ok : out boolean);
procedure Field_Put_Number (Item : in out Object;
Field_Index : in Positive;
Number : in Integer;
Ok : out Boolean) is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
Field.Put_Number (A_Field, Number, Local_Ok);
if Local_Ok then
Put_Field (Item, A_Field);
end if;
end if;
Ok := Local_Ok;
end Field_Put_Number;
-- procedure field_Put_sentence (Item : in out Object;field_name: in string;sentence : in string; ok : out boolean);
procedure Field_Put_Sentence (Item : in out Object;
Field_Index : in Positive;
Sentence : in Identifier.Object;
Ok : out Boolean) is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
Field.Put_Sentence (A_Field, Sentence, Local_Ok);
if Local_Ok then
Put_Field (Item, A_Field);
end if;
end if;
Ok := Local_Ok;
end Field_Put_Sentence;
-- procedure field_Put_enumerate (Item : in out Object;field_name: in string;enumeration,literal : in positive; ok : out boolean);
procedure Field_Put_Enumerate (Item : in out Object;
Field_Index : in Positive;
Enumeration, Literal : in Positive;
Ok : out Boolean) is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
Field.Put_Enumerate (A_Field, Enumeration, Literal, Local_Ok);
if Local_Ok then
Put_Field (Item, A_Field);
end if;
end if;
Ok := Local_Ok;
end Field_Put_Enumerate;
procedure Put_Movement (Item : in out Object; Place : in Positive) is
Place_Index : Complement_Index.Object;
Iterator : Place_List.Iterator;
Temporary_List : Place_List.List;
begin
if Item.Kind = Animate then
Place_List.Init (Iterator, Item.Trip);
while not Place_List.Done (Iterator) loop
Place_Index := Place_List.Value (Iterator);
Temporary_List := Place_List.Make (Place_Index, Temporary_List);
Place_List.Next (Iterator);
end loop;
Complement_Index.Put (Place_Index, Place);
Temporary_List := Place_List.Make (Place_Index, Temporary_List);
Place_List.Free (Item.Trip);
Place_List.Init (Iterator, Temporary_List);
while not Place_List.Done (Iterator) loop
Place_Index := Place_List.Value (Iterator);
Item.Trip := Place_List.Make (Place_Index, Item.Trip);
Place_List.Next (Iterator);
end loop;
end if;
end Put_Movement;
procedure Movement_Init (Item : in out Object) is
begin
-- if Item.Kind = Animate then
-- Place_List.Init (Item.Trip_Iterator, Item.Trip);
-- end if;
null;
end Movement_Init;
procedure Move (Item : in out Object) is
begin
if Item.Kind = Animate then
if not Place_List.Is_Empty (Item.Trip) then
if Place_List.Done (Item.Trip_Iterator) then
Place_List.Init (Item.Trip_Iterator, Item.Trip);
end if;
Item.Animate_Place :=
Complement_Index.Value
(Place_List.Value (Item.Trip_Iterator));
Place_List.Next (Item.Trip_Iterator);
end if;
end if;
end Move;
function Exit_Exist
(Item : in Object; Direction : in Positive) return Boolean is
begin
if Item.Kind = Place then
return Link_List.Belong
(Item.Exits, Complement_Identifier_Array.Image
(Direction));
else
return False;
end if;
end Exit_Exist;
function Exits_Exist (Item : in Object) return Boolean is
begin
if Item.Kind = Place then
return not Link_List.Is_Empty (Item.Exits);
else
return False;
end if;
end Exits_Exist;
procedure Put_Exit (Item : in out Object;
Name, Start_Place, Start_Direction,
Next_Place, Next_Direction : in Positive;
Ok : out Boolean) is
A_Link : Link.Object;
Local_Ok : Boolean;
begin
if Item.Kind = Place then
if not Exit_Exist (Item, Start_Direction) then
Link.Put (A_Link, Name, Start_Place, Start_Direction,
Next_Place, Next_Direction);
Link_List.Put (Item.Exits, A_Link);
Ok := True;
else
Ok := False;
end if;
end if;
end Put_Exit;
--procedure put_exit(item : in out object;name,start_place,start_direction,
--next_place,next_direction : in positive;ok : out boolean);
--a_link : link.object;
--begin
-- if item.kind = place then
-- link.put_name(a_link,name);
-- link.put_start_escape(a_link,start_place,start_direction);
-- link.put_next_escape(a_link,next_place,next_direction);
-- link_list.put(item.exits,a_link,ok);
-- else
-- ok:=false;
-- end if;
--end;
--procedure exit_put_enumerate(item : in out object;direction,numeration,literal: in positive;ok : out boolean);
--a_link : link.object;
--local_ok : boolean;
--begin
-- found_link(item,a_link,direction,local_ok);
-- if local_ok then
-- link.put_enumerate(a_link,enumeration,literal);
-- link_list.put(item.exits,a_link);
-- ok:=true;
-- else
-- ok := false;
--end if;
--end;
-- procedure Found_Link (Item : in Object;
-- A_Link : out Link.Object;
-- Direction : in Positive;
-- Ok : out Boolean) is
--
-- begin
-- if Is_A_Place (Item) then
-- Link_List.Get (Item.Exits, A_Link, Positive'Image (Direction), Ok);
-- else
-- Ok := False;
-- end if;
-- end Found_Link;
--
-- function Exit_Enumeration
-- (Item : in Object; Direction : in Positive) return Natural is
--
-- A_Link : Link.Object;
-- Local_Ok : Boolean;
--
-- begin
-- Found_Link (Item, A_Link, Direction, Local_Ok);
-- if Local_Ok then
-- return Link.Enumeration (A_Link);
-- else
-- return 0;
-- end if;
-- end Exit_Enumeration;
--
-- function Exit_Literal
-- (Item : in Object; Direction : in Positive) return Natural is
--
-- A_Link : Link.Object;
-- Local_Ok : Boolean;
--
-- begin
-- Found_Link (Item, A_Link, Direction, Local_Ok);
-- if Local_Ok then
-- return Link.Literal (A_Link);
-- else
-- return 0;
-- end if;
-- end Exit_Literal;
function Exit_Name
(Item : in Object; Direction : in Positive) return Natural is
A_Link : Link.Object;
Local_Ok : Boolean;
begin
if Item.Kind = Place then
Link_List.Get
(Item.Exits, A_Link,
Complement_Identifier_Array.Image (Direction), Local_Ok);
if Local_Ok then
return Link.Name (A_Link);
else
return 0;
end if;
return 0;
end if;
end Exit_Name;
function Next_Place
(Item : in Object; Direction : in Positive) return Natural is
A_Link : Link.Object;
Local_Ok : Boolean;
begin
if Item.Kind = Place then
Link_List.Get
(Item.Exits, A_Link,
Complement_Identifier_Array.Image (Direction), Local_Ok);
if Local_Ok then
return Link.Next_Place (A_Link);
end if;
end if;
return 0;
end Next_Place;
function Next_Direction
(Item : in Object; Direction : in Positive) return Natural is
A_Link : Link.Object;
Local_Ok : Boolean;
begin
if Item.Kind = Place then
Link_List.Get
(Item.Exits, A_Link,
Complement_Identifier_Array.Image (Direction), Local_Ok);
if Local_Ok then
return Link.Next_Direction (A_Link);
else
return 0;
end if;
end if;
end Next_Direction;
procedure Put_Place
(Item : in out Object; Place : in Natural; Ok : out Boolean) is
begin
if Item.Kind = Animate then
Item.Animate_Place := Place;
Ok := True;
elsif Item.Kind = Entity then
Item.Entity_Place := Place;
Ok := True;
else
Ok := False;
end if;
end Put_Place;
procedure Show (Item : in Object) is
Trip_Iterator : Place_List.Iterator;
begin
Text_Io.Put_Line ("Complement : Kind : " &
Complement_Kind'Image (Item.Kind));
case Item.Kind is
when Animate =>
Text_Io.Put_Line
(" Name : " & Name (Item) & " Place : " &
Complement_Identifier_Array.Image (Place (Item)));
Field_List.Show (Item.Animate_Fields);
Place_List.Init (Trip_Iterator, Item.Trip);
while not Place_List.Done (Trip_Iterator) loop Complement_Index.Show (Place_List.Value (Trip_Iterator));
Place_List.Next (Trip_Iterator);
end loop;
when Place =>
Text_Io.Put_Line (" Name : " & Name (Item));
Field_List.Show (Item.Place_Fields);
Link_List.Show (Item.Exits);
when Entity =>
Text_Io.Put_Line
(" Name : " & Name (Item) & " Place : " &
Complement_Identifier_Array.Image (Place (Item)));
Field_List.Show (Item.Entity_Fields);
when Word =>
Text_Io.Put_Line (" Name : " & Name (Item));
when Verb =>
Text_Io.Put_Line (" Name : " & Name (Item));
-- " Reference Verb : " &
-- Identifier.Image (Item.Reference_Verb));
when Unknown =>
Text_Io.New_Line;
end case;
end Show;
procedure List_Exits_Init (Item : in out Object) is
begin
if Item.Kind = Place then
Link_List.Init (Item.Exits_Iterator, Item.Exits);
end if;
end List_Exits_Init;
procedure List_Exits_Next (Item : in out Object) is
begin
if Item.Kind = Place then
Link_List.Next (Item.Exits_Iterator);
end if;
end List_Exits_Next;
function List_Exits_Direction (Item : in Object) return Natural is
begin
if Item.Kind = Place then
return Link.Start_Direction (Link_List.Value (Item.Exits_Iterator));
else
return 0;
end if;
end List_Exits_Direction;
function List_Exits_Done (Item : in Object) return Boolean is
begin
if Item.Kind = Place then
return Link_List.Done (Item.Exits_Iterator);
else
return True;
end if;
end List_Exits_Done;
procedure Put_Group (Item : in out Object;
An_Index : in Positive;
Ok : out Boolean) is
A_Group_Index : Group_Index.Object;
Local_Ok : Boolean := False;
begin
Group_Index.Put (A_Group_Index, An_Index);
Group_Index_List.Put (Item.Group_List, A_Group_Index, Ok);
end Put_Group;
procedure List_Group_Init (Item : in out Object) is
begin
Group_Index_List.Init (Item.Group_Iterator,
Item.Group_List); -- voir ordre
end List_Group_Init;
procedure List_Group_Next (Item : in out Object) is
begin
Group_Index_List.Next (Item.Group_Iterator);
end List_Group_Next;
function List_Group_Name (Item : in Object) return String is
begin
return Group_Index.Image (Group_Index_List.Value (Item.Group_Iterator));
end List_Group_Name;
function List_Group_Done (Item : in Object) return Boolean is
begin
return Group_Index_List.Done (Item.Group_Iterator);
end List_Group_Done;
--function field_is_a_number (item : in object;field_name : in string) return boolean is
function Field_Is_A_Number
(Item : in Object; Field_Index : in Positive) return Boolean is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Is_A_Number (A_Field);
else
return False;
end if;
end Field_Is_A_Number;
--function field_is_a_sentence (item : in object;field_name : in string) return boolean is
function Field_Is_A_Sentence
(Item : in Object; Field_Index : in Positive) return Boolean is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Is_A_Sentence (A_Field);
else
return False;
end if;
end Field_Is_A_Sentence;
--function field_is_an_enumerate (item : in object;field_name : in string) return boolean is
function Field_Is_An_Enumerate
(Item : in Object; Field_Index : in Positive) return Boolean is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Is_An_Enumerate (A_Field);
else
return False;
end if;
end Field_Is_An_Enumerate;
--function field_exist (item : in object;field_name : in string) return boolean is
--begin
-- case item.kind is
-- when animate =>
-- return field_array.belong(item.animate_fields,field_name);
-- when place =>
-- return field_array.belong(item.place_fields,field_name);
-- when entity=>
-- return field_array.belong(item.entity_fields,field_name);
-- when word | unknown=>
-- return false;
-- end case;
--end;
--function field_exist (item : in object;field_name : in string) return boolean is
function Field_Belong
(Item : in Object; Field_Index : in Positive) return Boolean is
List : Field_List.Object;
Local_Ok : Boolean;
begin
Get_Fields (Item, List, Local_Ok);
if Local_Ok then
-- return field_list.belong(list,field_name);
return Field_List.Belong
(List, Field_Identifier_Array.Image (Field_Index));
else
return False;
end if;
end Field_Belong;
function Is_A_Subject (Item : in Object) return Boolean is
begin
return Item.Kind = Animate or Item.Kind = Place or Item.Kind = Entity;
end Is_A_Subject;
function Is_An_Animate (Item : in Object) return Boolean is
begin
return Item.Kind = Animate;
end Is_An_Animate;
function Is_A_Place (Item : in Object) return Boolean is
begin
return Item.Kind = Place;
end Is_A_Place;
function Is_An_Entity (Item : in Object) return Boolean is
begin
return Item.Kind = Entity;
end Is_An_Entity;
function Is_A_Word (Item : in Object) return Boolean is
begin
return Item.Kind = Word;
end Is_A_Word;
function Is_A_Verb (Item : in Object) return Boolean is
begin
return Item.Kind = Verb;
end Is_A_Verb;
function Name (Item : in Object) return String is
begin
case Item.Kind is
when Animate =>
return Identifier.Image (Item.Animate_Name);
when Place =>
return Identifier.Image (Item.Place_Name);
when Entity =>
return Identifier.Image (Item.Entity_Name);
when Word =>
return Identifier.Image (Item.Word_Value);
when Verb =>
return Identifier.Image (Item.Synonym);
when Unknown =>
return "";
end case;
end Name;
function Place (Item : in Object) return Natural is
begin
case Item.Kind is
when Animate =>
return Item.Animate_Place;
when Entity =>
return Item.Entity_Place;
when Place | Word | Verb | Unknown =>
return 0;
end case;
end Place;
--function field_number (Item : in Object,field_name:in string) return Integer is
function Field_Number
(Item : in Object; Field_Index : in Positive) return Integer is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Number (A_Field);
else
return 0;
end if;
end Field_Number;
--function field_sentence (Item : in Object,field_name:in string) return String is
function Field_Sentence
(Item : in Object; Field_Index : in Positive) return String is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Sentence (A_Field);
else
return "";
end if;
end Field_Sentence;
--function field_Enumeration (Item : in Object,field_name:in string) return Natural is
function Field_Enumeration
(Item : in Object; Field_Index : in Positive) return Natural is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Enumeration (A_Field);
else
return 0;
end if;
end Field_Enumeration;
--function field_Literal (Item : in Object,field_name:in string) return Natural is
function Field_Literal
(Item : in Object; Field_Index : in Positive) return Natural is
A_Field : Field.Object;
Local_Ok : Boolean;
begin
-- get_field(item,a_field,field_name,local_ok);
Get_Field (Item, A_Field, Field_Index, Local_Ok);
if Local_Ok then
return Field.Literal (A_Field);
else
return 0;
end if;
end Field_Literal;
-- function Synonym (Item : in Object) return Natural is
-- begin
-- if Item.Kind = Verb then
-- return Complement_Identifier_Array.Index
-- (Identifier.Image (Item.Reference_Verb));
-- else
-- return 0;
-- end if;
-- end Synonym;
-- begin
--
-- --create_sentence (animate_object,"nom",local_ok);
-- --put_sentence(animate_object,"nom","anime",local_ok);
--
-- Field_Identifier_Array.Put ("description");
--
-- Create_Sentence_Field
-- (Animate_Object,
-- Field_Identifier_Array.Index ("description"), Global_Ok);
-- Field_Put_Sentence (Animate_Object,
-- Field_Identifier_Array.Index ("description"),
-- "Ca bouge !", Global_Ok);
--
-- --create_sentence (place_object,"nom",local_ok);
-- --put_sentence(place_object,"nom","lieu",local_ok);
-- Create_Sentence_Field
-- (Place_Object, Field_Identifier_Array.Index ("description"), Global_Ok);
-- Field_Put_Sentence (Place_Object,
-- Field_Identifier_Array.Index ("description"),
-- "C'est une piece !", Global_Ok);
--
-- --create_sentence (entity_object,"nom",local_ok);
-- --put_sentence(entity_object,"nom","entite",local_ok);
-- Create_Sentence_Field
-- (Entity_Object, Field_Identifier_Array.Index ("description"), Global_Ok);
-- Field_Put_Sentence (Entity_Object,
-- Field_Identifier_Array.Index ("description"),
-- "C'est un objet !", Global_Ok);
end Complementgl;
nblk1=29
nid=29
hdr6=50
[0x00] rec0=1d rec1=00 rec2=01 rec3=028
[0x01] rec0=00 rec1=00 rec2=25 rec3=004
[0x02] rec0=1e rec1=00 rec2=10 rec3=02c
[0x03] rec0=18 rec1=00 rec2=0b rec3=028
[0x04] rec0=1d rec1=00 rec2=19 rec3=052
[0x05] rec0=1f rec1=00 rec2=02 rec3=038
[0x06] rec0=06 rec1=00 rec2=22 rec3=054
[0x07] rec0=20 rec1=00 rec2=23 rec3=030
[0x08] rec0=02 rec1=00 rec2=06 rec3=010
[0x09] rec0=1f rec1=00 rec2=09 rec3=054
[0x0a] rec0=19 rec1=00 rec2=07 rec3=006
[0x0b] rec0=18 rec1=00 rec2=08 rec3=03c
[0x0c] rec0=18 rec1=00 rec2=15 rec3=05e
[0x0d] rec0=0e rec1=00 rec2=04 rec3=00c
[0x0e] rec0=1b rec1=00 rec2=0d rec3=014
[0x0f] rec0=15 rec1=00 rec2=24 rec3=01e
[0x10] rec0=23 rec1=00 rec2=1d rec3=026
[0x11] rec0=03 rec1=00 rec2=0a rec3=040
[0x12] rec0=21 rec1=00 rec2=1b rec3=018
[0x13] rec0=25 rec1=00 rec2=21 rec3=01a
[0x14] rec0=01 rec1=00 rec2=0c rec3=00e
[0x15] rec0=1e rec1=00 rec2=03 rec3=024
[0x16] rec0=23 rec1=00 rec2=20 rec3=034
[0x17] rec0=23 rec1=00 rec2=0e rec3=02e
[0x18] rec0=1d rec1=00 rec2=0f rec3=002
[0x19] rec0=17 rec1=00 rec2=17 rec3=00e
[0x1a] rec0=00 rec1=00 rec2=1f rec3=014
[0x1b] rec0=25 rec1=00 rec2=11 rec3=044
[0x1c] rec0=21 rec1=00 rec2=26 rec3=00e
[0x1d] rec0=1a rec1=00 rec2=27 rec3=06a
[0x1e] rec0=20 rec1=00 rec2=12 rec3=04c
[0x1f] rec0=21 rec1=00 rec2=1e rec3=004
[0x20] rec0=00 rec1=00 rec2=14 rec3=04e
[0x21] rec0=29 rec1=00 rec2=13 rec3=04e
[0x22] rec0=1d rec1=00 rec2=05 rec3=07a
[0x23] rec0=00 rec1=00 rec2=16 rec3=01e
[0x24] rec0=21 rec1=00 rec2=18 rec3=032
[0x25] rec0=21 rec1=00 rec2=1a rec3=02e
[0x26] rec0=1d rec1=00 rec2=1c rec3=094
[0x27] rec0=0e rec1=00 rec2=28 rec3=000
[0x28] rec0=5c rec1=31 rec2=a1 rec3=530
tail 0x2174bc5dc86577e6de71e 0x42a00088462060003
Free Block Chain:
0x29: 0000 00 00 01 1a 80 07 62 2c 20 4f 6b 29 3b 07 00 18 ┆ b, Ok); ┆