DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦92f55cf5d⟧ TextFile

    Length: 7401 (0x1ce9)
    Types: TextFile
    Names: »B«

Derivation

└─⟦407de186f⟧ Bits:30000749 8mm tape, Rational 1000, RCFSUN
    └─ ⟦e5cd75ab4⟧ »DATA« 
        └─⟦this⟧ 

TextFile

separate (Sparc_Unix_Alsys)
function Get_Attribute_Info return Attributes.Object is

    --
    -- This function describes all platform- and version-independent
    -- Alsys attributes.
    --

    --[SAMPLE]----------------------------------------------------------------------
    --
    -- P_Types1 : Checking.Type_Set :=
    --    Checking.Build (Enforced_Type_Restrictions =>
    --                       (Checking.No_Private_Types => True, others => False),
    --                    Valid_Structural_Types =>
    --                       (Checking.Enumeration_Type => True, others => False),
    --                    For_Target => T_Name);
    --
    --
    -- Prefix1 : Attributes.Prefix :=
    --    Attributes.Build (Valid_Types => P_Types1, For_Target => T_Name);
    --
    -- Result1 : Attributes.Result :=
    --    Attributes.Prefix_Value (For_Target => T_Name);
    --
    -- Designator1 : Attributes.Designator :=
    --    Attributes.Prefix_Designator (For_Target => T_Name);
    --
    -- Attr1 : constant Attributes.Attribute :=
    --    Attributes.Build (The_Name => "attr1",
    --                      The_Prefix => Prefix1,
    --                      The_Result => Result1,
    --                      The_Designator => Designator1,
    --                      For_Target => T_Name);
    --
    -- Attrs : constant Attributes.Attribute_Array := (1 => Attr1);
    ---------------------------------------------------------------------------------

    --
    -- This package describes all platform-independent Alsys attributes
    --
    package Sc renames Semantic_Characteristics;
    package Checking renames Sc.Checking;
    package Attributes renames Sc.Attribute_Characteristics;



    --
    -- 'RECORD_DESCRIPTOR
    --
    Record_Descriptor_P_Types : Checking.Type_Set :=
       Checking.Build (Enforced_Type_Restrictions =>
                          (Checking.No_Type_Restrictions),
                       Valid_Structural_Types =>
                          (Checking.Record_Type => True, others => False),
                       For_Target => Target_Name);

    Record_Descriptor_Prefix : Attributes.Prefix :=
       Attributes.Build (Valid_Types => Record_Descriptor_P_Types,
                         For_Target => Target_Name);

    Record_Descriptor_Result : Attributes.Result :=
       Attributes.Build_With_Type_Result (For_Target => Target_Name);


    Record_Descriptor_Attr : constant Attributes.Attribute :=
       Attributes.Build
          (The_Name => "Record_Descriptor",
           The_Prefix => Record_Descriptor_Prefix,
           The_Result => Record_Descriptor_Result, -- does not return result
           The_Designator => Attributes.Null_Designator,
           For_Target => Target_Name);

    --
    -- 'ARRAY_DESCRIPTOR
    --
    Array_Descriptor_P_Types : Checking.Type_Set :=
       Checking.Build (Enforced_Type_Restrictions =>
                          (Checking.No_Type_Restrictions),
                       Valid_Structural_Types =>
                          (Checking.Array_Type => True, others => False),
                       For_Target => Target_Name);

    Array_Descriptor_Prefix : Attributes.Prefix :=
       Attributes.Build (Valid_Types => Array_Descriptor_P_Types,
                         For_Target => Target_Name);

    Array_Descriptor_Result : Attributes.Result :=
       Attributes.Build_With_Type_Result (For_Target => Target_Name);

    Array_Descriptor_Attr : constant Attributes.Attribute :=
       Attributes.Build (The_Name => "Array_Descriptor",
                         The_Prefix => Array_Descriptor_Prefix,
                         The_Result => Array_Descriptor_Result,
                         The_Designator => Attributes.Null_Designator,
                         For_Target => Target_Name);

    --
    -- 'OFFSET
    --
    Offset_Prefix : Attributes.Prefix :=
       Attributes.Build (Valid_Types =>
                            Checking.Build (Enforced_Type_Restrictions =>
                                               Checking.No_Type_Restrictions,
                                            Valid_Structural_Types =>
                                               Checking.All_Structural_Types,
                                            For_Target => Target_Name),
                         For_Target => Target_Name);

    Offset_Result : Attributes.Result :=
       Attributes.Build_With_Value_Result ("integer", Target_Name);


    Offset_Attr : constant Attributes.Attribute :=
       Attributes.Build (The_Name => "Offset",
                         The_Prefix => Offset_Prefix,
                         The_Result => Offset_Result,
                         The_Designator => Attributes.Null_Designator,
                         For_Target => Target_Name);

    --
    -- 'RECORD_SIZE
    --

    Record_Size_Prefix : Attributes.Prefix :=
       Attributes.Build (Valid_Types =>
                            Checking.Build (Enforced_Type_Restrictions =>
                                               Checking.No_Type_Restrictions,
                                            Valid_Structural_Types =>
                                               (Checking.Record_Type => True,
                                                others => False),
                                            For_Target => Target_Name),
                         For_Target => Target_Name);

    Record_Size_Result : Attributes.Result :=
       Attributes.Build_With_Value_Result ("integer", Target_Name);

    Record_Size_Attr : constant Attributes.Attribute :=
       Attributes.Build (The_Name => "Record_Size",
                         The_Prefix => Record_Size_Prefix,
                         The_Result => Record_Size_Result,
                         The_Designator => Attributes.Null_Designator,
                         For_Target => Target_Name);

    --
    -- 'VARIANT_INDEX
    --

    Variant_Index_Prefix : Attributes.Prefix :=
       Attributes.Build (Valid_Types =>
                            Checking.Build (Enforced_Type_Restrictions =>
                                               Checking.No_Type_Restrictions,
                                            Valid_Structural_Types =>
                                               (Checking.Record_Type => True,
                                                others => False),
                                            For_Target => Target_Name),
                         For_Target => Target_Name);

    Variant_Index_Result : Attributes.Result :=
       Attributes.Build_With_Value_Result ("integer", Target_Name);


    Variant_Index_Attr : constant Attributes.Attribute :=
       Attributes.Build (The_Name => "Variant_Index",
                         The_Prefix => Variant_Index_Prefix,
                         The_Result => Variant_Index_Result,
                         The_Designator => Attributes.Null_Designator,
                         For_Target => Target_Name);

    Target_Attributes : constant Attributes.Attribute_Array :=
       (Record_Descriptor_Attr, Array_Descriptor_Attr,
        Offset_Attr, Record_Size_Attr, Variant_Index_Attr);

    function "&" (X, Y : Attributes.Attribute_Array)
                 return Attributes.Attribute_Array renames Attributes."&";


begin
    return Attributes.Build (Attribute_List => Target_Attributes,
                             For_Target => Target_Name);
end Get_Attribute_Info;