|
|
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_0499d0, seg_049a57
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦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 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_Index, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Create_Number_Field;
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_Index, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Create_Sentence_Field;
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_Index, Ok);
S_Array.Put (The_Array, A_Structure);
end if;
end Create_Enumerate_Field;
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_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;
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_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;
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_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=4
hdr6=e
[0x00] rec0=1c rec1=00 rec2=01 rec3=016
[0x01] rec0=1d rec1=00 rec2=09 rec3=016
[0x02] rec0=18 rec1=00 rec2=02 rec3=052
[0x03] rec0=1a rec1=00 rec2=03 rec3=084
[0x04] rec0=1a rec1=00 rec2=05 rec3=06c
[0x05] rec0=23 rec1=00 rec2=08 rec3=058
[0x06] rec0=08 rec1=00 rec2=07 rec3=000
[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 0x2174dfec2865f84b43584 0x42a00088462060003
Free Block Chain:
0x4: 0000 00 06 00 90 00 1b 20 20 20 20 20 20 20 20 4c 6f ┆ Lo┆
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 ┆ ┆