|
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 ┆ ┆