|
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: 9216 (0x2400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Attribute, seg_04634d
└─⟦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_Array, Enumeration_Array; package body Attribute is --procedure put(item : out object;an_objet : in objet.object;field_name : in string) is --begin -- item.an_objet := an_objet; -- identifier.put(item.field_name,field_name); --end; --procedure put(item : out object;an_objet : in objet.object;field_index : in natural) is procedure Put (Item : out Object; An_Objet : in Objet.Object; A_Detail : in Detail.Object) is begin Item.The_Objet := An_Objet; Item.The_Detail := A_Detail; -- item.field_index:=field_index; end Put; procedure Affect (Item : in Object; Number : Integer; Ok : out Boolean) is begin if Is_A_Number (Item) and Detail.Exist (Item.The_Detail) then Complement_Array.Field_Put_Number (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail), Number, Ok); else Ok := False; end if; end Affect; procedure Affect (Item : in Object; Enumeration, Literal : in Positive; Ok : out Boolean) is begin if Is_An_Enumerate (Item) and Detail.Exist (Item.The_Detail) then Complement_Array.Field_Put_Enumerate (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail), Enumeration, Literal, Ok); else Ok := False; end if; end Affect; procedure Show (Item : in Object) is begin Text_Io.Put_Line ("Attribute :"); Objet.Show (Item.The_Objet); -- text_io.put("Field : " & identifer.image(item.field_name)); --text_io.put("Field : " & natural'image(item.field_index)); Detail.Show (Item.The_Detail); if Is_A_Number (Item) then Text_Io.Put_Line ("Number : " & Image (Item)); elsif Is_A_Sentence (Item) then Text_Io.Put_Line ("Sentence : " & Image (Item)); elsif Is_An_Enumerate (Item) then Text_Io.Put_Line ("Enumerate : " & Image (Item)); else Text_Io.New_Line; end if; end Show; function Is_A_Number (Item : in Object) return Boolean is begin --return complement_array.field_is_a_number(objet.complement(item.an_objet), --identifier.image(item.field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Is_A_Number (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return False; end if; end Is_A_Number; function Is_A_Sentence (Item : in Object) return Boolean is begin --return complement_array.field_is_a_sentence(objet.complement(item.an_objet), --identifier.image(item.field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Is_A_Sentence (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return False; end if; end Is_A_Sentence; function Is_An_Enumerate (Item : in Object) return Boolean is begin --return complement_array.field_is_an_enumerate(objet.complement(item.an_objet), --identifier.image(field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Is_An_Enumerate (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return False; end if; end Is_An_Enumerate; function Exist (Item : in Object) return Boolean is begin -- return complement_array.field_exist(objet.complement(item.an_objet),field_name); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Belong (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return False; end if; end Exist; function Image (Item : in Object) return String is begin if Is_A_Number (Item) then return Integer'Image (Number (Item)); elsif Is_A_Sentence (Item) then return Sentence (Item); elsif Is_An_Enumerate (Item) then return Enumeration_Array.Literal_Image (Enumeration (Item), Literal (Item)); else return ""; end if; end Image; function Number (Item : in Object) return Integer is begin --return complement_array.field_number(objet.complement(item.an_objet), --identifier.image(item.field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Number (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return 0; end if; end Number; function Sentence (Item : in Object) return String is begin --return complement_array.field_sentence(objet.complement(item.an_objet), --identifier.image(item.field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Sentence (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return ""; end if; end Sentence; function Enumeration (Item : in Object) return Natural is begin --return complement_array.enumeration(objet.complement(item.an_objet), --identifier.image(item.field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Enumeration (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return 0; end if; end Enumeration; function Literal (Item : in Object) return Natural is begin --return complement_array.literal(objet.complement(item.an_objet), --identifier.image(item.field_name)); if Detail.Exist (Item.The_Detail) then return Complement_Array.Field_Literal (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail)); else return 0; end if; end Literal; end Attribute;
nblk1=8 nid=0 hdr6=10 [0x00] rec0=1f rec1=00 rec2=01 rec3=008 [0x01] rec0=1c rec1=00 rec2=02 rec3=044 [0x02] rec0=00 rec1=00 rec2=03 rec3=004 [0x03] rec0=1c rec1=00 rec2=07 rec3=054 [0x04] rec0=1c rec1=00 rec2=08 rec3=022 [0x05] rec0=1e rec1=00 rec2=05 rec3=01c [0x06] rec0=1c rec1=00 rec2=06 rec3=05c [0x07] rec0=16 rec1=00 rec2=04 rec3=001 tail 0x21748b3908650451357a5 0x42a00088462060003