|
|
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: 11264 (0x2c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Structure_Array, seg_0462f1
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io, Structure, Generic_String_Sort_Array;
package body Structure_Array is
package S_Array is new Generic_String_Sort_Array
(Element => Structure.Object,
Max_Element_Number => Max_Element,
Null_Element => Structure.Null_Object,
Get_Key => Structure.Name,
Show_Element => Structure.Show);
The_Array : S_Array.Object := S_Array.Null_Object;
procedure Put (Old_Name : in String;
New_Name : in Identifier.Object;
Ok : out Boolean) is
New_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, New_Structure, Old_Name, Local_Ok);
if Local_Ok then
Structure.Put_Name (New_Structure, New_Name);
S_Array.Put (The_Array, New_Structure, Ok);
else
Ok := False;
end if;
end Put;
-- procedure create_number_field(structure_name: in string;item : out object;field_name: in string; ok : out boolean) is
procedure Create_Number_Field (Structure_Name : in Identifier.Object;
Field_Index : in Positive;
Ok : out Boolean) is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure,
Identifier.Image (Structure_Name), Local_Ok);
if Local_Ok then
-- structure.create_number_field(a_structure,field_name,ok);
Structure.Create_Number_Field (A_Structure, Field_Index, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Create_Number_Field;
-- procedure create_sentence_field(structure_name: in identifier.object;item : out object;field_name: in string; ok : out boolean) is
procedure Create_Sentence_Field (Structure_Name : in Identifier.Object;
Field_Index : in Positive;
Ok : out Boolean) is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure,
Identifier.Image (Structure_Name), Local_Ok);
if Local_Ok then
-- structure.create_sentence_field(a_structure,field_name,ok);
Structure.Create_Sentence_Field (A_Structure, Field_Index, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Create_Sentence_Field;
-- procedure create_enumerate_field(structure_name: in identifier.object;item : out object;field_name: in string; ok : out boolean) is
procedure Create_Enumerate_Field (Structure_Name : in Identifier.Object;
Field_Index : in Positive;
Ok : out Boolean) is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure,
Identifier.Image (Structure_Name), Local_Ok);
if Local_Ok then
-- structure.create_enumerate_field(a_structure,field_name,ok);
Structure.Create_Enumerate_Field (A_Structure, Field_Index, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Create_Enumerate_Field;
-- procedure field_Put_number(structure_name: in identifier.object;Item : in out Object;field_name: in string;number : in integer; ok : out boolean) is
procedure Field_Put_Number (Structure_Name : in Identifier.Object;
Field_Index : in Positive;
Number : in Integer;
Ok : out Boolean) is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure,
Identifier.Image (Structure_Name), Local_Ok);
if Local_Ok then
-- structure.field_put_number(a_structure,field_name,number,ok);
Structure.Field_Put_Number (A_Structure, Field_Index, Number, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Field_Put_Number;
-- procedure field_Put_sentence(structure_name: in identifier.object;Item : in out Object;field_name: in string;sentence : in string; ok : out boolean) is
procedure Field_Put_Sentence (Structure_Name : in Identifier.Object;
Field_Index : in Positive;
Sentence : in Identifier.Object;
Ok : out Boolean) is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure,
Identifier.Image (Structure_Name), Local_Ok);
if Local_Ok then
-- structure.field_put_sentence(a_structure,field_name,sentence,ok);
Structure.Field_Put_Sentence
(A_Structure, Field_Index, Sentence, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Field_Put_Sentence;
-- procedure field_Put_enumerate (structure_name: in identifier.object;Item : in out Object;field_name: in string;enumeration,literal : in positive; ok : out boolean) is
procedure Field_Put_Enumerate (Structure_Name : in Identifier.Object;
Field_Index : in Positive;
Enumeration, Literal : in Positive;
Ok : out Boolean) is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure,
Identifier.Image (Structure_Name), Local_Ok);
if Local_Ok then
-- structure.field_put_enumerate(a_structure,field_name,enumeration,literal,ok);
Structure.Field_Put_Enumerate
(A_Structure, Field_Index, Enumeration, Literal, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Field_Put_Enumerate;
procedure Get_Subject (Structure_Name : in String;
Subject : out Complement.Object;
Ok : out Boolean) is
A_Structure : Structure.Object;
begin
S_Array.Get (The_Array, A_Structure, Structure_Name, Ok);
Subject := Structure.Subject (A_Structure);
end Get_Subject;
procedure Show is
begin
Text_Io.Put_Line ("Structure Array :");
S_Array.Show (The_Array);
end Show;
function Subject (Structure_Name : in String) return Complement.Object is
A_Structure : Structure.Object;
Local_Ok : Boolean;
begin
S_Array.Get (The_Array, A_Structure, Structure_Name, Local_Ok);
if Local_Ok then
return Structure.Subject (A_Structure);
else
return Complement.Null_Object;
end if;
end Subject;
function Belong (Structure_Name : in String) return Boolean is
begin
return S_Array.Belong (The_Array, Structure_Name);
end Belong;
begin
S_Array.Put (The_Array, Structure.Animate_Object);
S_Array.Put (The_Array, Structure.Place_Object);
S_Array.Put (The_Array, Structure.Entity_Object);
end Structure_Array;
nblk1=a
nid=6
hdr6=10
[0x00] rec0=1c rec1=00 rec2=01 rec3=016
[0x01] rec0=17 rec1=00 rec2=09 rec3=016
[0x02] rec0=14 rec1=00 rec2=02 rec3=04e
[0x03] rec0=19 rec1=00 rec2=03 rec3=004
[0x04] rec0=14 rec1=00 rec2=04 rec3=062
[0x05] rec0=15 rec1=00 rec2=05 rec3=030
[0x06] rec0=20 rec1=00 rec2=08 rec3=00e
[0x07] rec0=13 rec1=00 rec2=07 rec3=000
[0x08] rec0=13 rec1=00 rec2=07 rec3=001
[0x09] rec0=0d rec1=0c rec2=76 rec3=4f7
tail 0x21540c1c8864341432dcd 0x42a00088462060003
Free Block Chain:
0x6: 0000 00 0a 00 0c 80 09 20 20 70 72 6f 63 65 64 75 09 ┆ procedu ┆
0xa: 0000 00 00 00 04 80 01 20 01 02 02 20 20 02 02 02 02 ┆ ┆