|
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 Attribute, seg_0499b1, seg_049a42, seg_049a61
└─⟦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, Complement_Array, Enumerate_Array; package body Attribute 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; 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 Attribute_Enumeration : Natural; begin if Detail.Exist (Item.The_Detail) then Attribute_Enumeration := (Complement_Array.Field_Enumeration (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail))); if Is_An_Enumerate (Item) and (Attribute_Enumeration = Enumeration) then Complement_Array.Field_Put_Enumerate (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail), Enumeration, Literal, Ok); Ok := True; elsif (Attribute_Enumeration = Enumerate_Array.Enumeration_Index ("special") or Attribute_Enumeration = Enumerate_Array.Enumeration_Index ("normal")) and (Enumeration = Enumerate_Array.Enumeration_Index ("special") or Enumeration = Enumerate_Array.Enumeration_Index ("normal")) then Complement_Array.Field_Put_Enumerate (Objet.Complement (Item.The_Objet), Detail.Index (Item.The_Detail), Enumeration, Literal, Ok); Ok := True; else Ok := False; end if; else Ok := False; end if; end Affect; procedure Show (Item : in Object) is begin Text_Io.Put_Line ("Attribute :"); Objet.Show (Item.The_Objet); 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 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 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 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 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 Enumerate_Array.Literal (Literal (Item)); else return ""; end if; end Image; function Number (Item : in Object) return Integer is begin 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 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 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 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=a nid=4 hdr6=e [0x00] rec0=16 rec1=00 rec2=01 rec3=008 [0x01] rec0=17 rec1=00 rec2=02 rec3=030 [0x02] rec0=1a rec1=00 rec2=03 rec3=03a [0x03] rec0=1e rec1=00 rec2=0a rec3=00e [0x04] rec0=20 rec1=00 rec2=08 rec3=04e [0x05] rec0=21 rec1=00 rec2=05 rec3=05c [0x06] rec0=19 rec1=00 rec2=06 rec3=000 [0x07] rec0=1c rec1=00 rec2=06 rec3=05c [0x08] rec0=16 rec1=00 rec2=04 rec3=000 [0x09] rec0=2d rec1=0c rec2=94 rec3=41a tail 0x2174dfbb6865f7f3bee1e 0x42a00088462060003 Free Block Chain: 0x4: 0000 00 07 02 91 80 0b 54 68 65 5f 4f 62 6a 65 74 29 ┆ The_Objet)┆ 0x7: 0000 00 09 03 fc 80 03 68 65 6e 03 00 3e 20 20 20 20 ┆ hen > ┆ 0x9: 0000 00 00 00 6a 80 01 6e 01 00 3c 20 20 20 20 20 20 ┆ j n < ┆