|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 7401 (0x1ce9)
Types: TextFile
Names: »B«
└─⟦407de186f⟧ Bits:30000749 8mm tape, Rational 1000, RCFSUN
└─⟦e5cd75ab4⟧ »DATA«
└─⟦this⟧
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;