DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦582a88473⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Attribute_Old, seg_0453ab

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io, Complement_Array, Enumeration_Array;
package body Attribute_Old 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

    begin
        Item.An_Objet := An_Objet;
        Item.Field_Index := Field_Index;
    end Put;

    procedure Affect (Item : in Object; Number : Integer; Ok : out Boolean) is

    begin
        if Is_A_Number (Item) then
--      complement_array.field_Put_number (objet.complement(item.an_objet),identifier.image(item.field_name),number,ok);
            Complement_Array.Field_Put_Number
               (Objet.Complement (Item.An_Objet), Item.Field_Index, 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) then
--      complement_array.field_Put_enumerate(objet.complement(item.an_objet),identifier.image(item.field_name),enumeration,literal,ok);
            Complement_Array.Field_Put_Enumerate
               (Objet.Complement (Item.An_Objet),
                Item.Field_Index, 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.An_Objet);
--  text_io.put("Field : " & identifer.image(item.field_name));
        Text_Io.Put ("Field : " & Natural'Image (Item.Field_Index));
        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));
        return Complement_Array.Field_Is_A_Number
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    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));
        return Complement_Array.Field_Is_A_Sentence
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    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));
        return Complement_Array.Field_Is_An_Enumerate
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    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);
        return Complement_Array.Field_Exist
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    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.number(objet.complement(item.an_objet),
--identifier.image(item.field_name));
        return Complement_Array.Field_Number
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    end Number;

    function Sentence (Item : in Object) return String is

    begin
--return complement_array.sentence(objet.complement(item.an_objet),
--identifier.image(item.field_name));
        return Complement_Array.Field_Sentence
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    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));
        return Complement_Array.Field_Enumeration
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    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));
        return Complement_Array.Field_Literal
                  (Objet.Complement (Item.An_Objet), Item.Field_Index);
    end Literal;

end Attribute_Old;


E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=21 rec1=00 rec2=01 rec3=010
        [0x01] rec0=00 rec1=00 rec2=07 rec3=008
        [0x02] rec0=19 rec1=00 rec2=05 rec3=02c
        [0x03] rec0=1c rec1=00 rec2=04 rec3=006
        [0x04] rec0=1a rec1=00 rec2=03 rec3=01a
        [0x05] rec0=1c rec1=00 rec2=02 rec3=088
        [0x06] rec0=0e rec1=00 rec2=06 rec3=001
    tail 0x21746d57a864a349cad35 0x42a00088462060003