|
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 - download
Length: 18432 (0x4800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Type_Information, pragma Module_Name 4 3577, pragma Subsystem Design_Facility, seg_001c82
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Ada_Program; package Type_Information is -- Local Renaming: subtype Declaration is Ada_Program.Declaration; subtype Name_Expression is Ada_Program.Expression; subtype Expression is Ada_Program.Expression; subtype Statement is Ada_Program.Statement; subtype Identifier_Reference is Ada_Program.Identifier_Reference; subtype Type_Definition is Ada_Program.Type_Definition; subtype Task_Specification is Type_Definition; --------------------------------------------------------------- type Type_Definition_Kinds is (A_Subtype_Indication, An_Enumeration_Type_Definition, An_Integer_Type_Definition, A_Float_Type_Definition, A_Fixed_Type_Definition, An_Array_Type_Definition, A_Record_Type_Definition, An_Access_Type_Definition, A_Derived_Type_Definition, A_Task_Type_Definition, A_Private_Type_Definition, A_Limited_Private_Type_Definition, Not_A_Type_Definition); function Kind (A_Type_Definition : Type_Definition) return Type_Definition_Kinds; function Parent_Declaration (Type_Def : Type_Definition) return Declaration; -- Returns the declaration associated with the type definition, if -- any is available. Anonymous types for example have no associated -- declaration. function Base_Type (Type_Def : Type_Definition) return Type_Definition; -- Returns the base type of the specified type definition as per LRM 3.3. -- All subtypes are constraints applied to some base type. This function -- returns that base type. function Type_Structure (Type_Def : Type_Definition) return Type_Definition; -- Returns the type structure from which the specified type definition has -- been derived. This function will unwind recursive derivations until the -- type definition derives a new representation or is no longer derived. -- This function is different from GROUND_TYPE only for enumerations or -- records that have derivations with rep specs. function Ground_Type (Type_Def : Type_Definition) return Type_Definition; -- This function recursively unwinds all type derivations and subtyping -- to arrive at a type definition which is neither a derived type or a -- subtype. function Last_Constraint (Type_Def : Type_Definition) return Type_Definition; -- This function recursively unwinds subtyping to arrive at a type -- definition which is either the base_type or imposes constraints. function Is_Predefined (Type_Def : Type_Definition) return Boolean; -- returns true if the type definition is one of: -- Boolean, Character, String, Integer, Natural, Positive, Float function Is_Universal (Type_Def : Type_Definition) return Boolean; -- returns true if the type definition is a universal integer, -- universal fixed or universal float. subtype Subtype_Indication is Type_Definition; subtype Enumeration_Type_Definition is Type_Definition; subtype Integer_Type_Definition is Type_Definition; subtype Float_Type_Definition is Type_Definition; subtype Fixed_Type_Definition is Type_Definition; subtype Array_Type_Definition is Type_Definition; subtype Record_Type_Definition is Type_Definition; subtype Access_Type_Definition is Type_Definition; subtype Derived_Type_Definition is Type_Definition; subtype Task_Type_Definition is Type_Definition; --------------------------------------------------------------- -- TYPE CONSTRAINTS: subtype Type_Constraint is Ada_Program.Element; type Type_Constraint_Kinds is (A_Simple_Range, A_Range_Attribute, A_Floating_Point_Constraint, A_Fixed_Point_Constraint, An_Index_Constraint, A_Discriminant_Constraint, Not_A_Constraint); function Constraint_Kind (A_Constraint : Type_Constraint) return Type_Constraint_Kinds; function Discrete_Ranges (Of_Index_Constraint : Type_Constraint) return Ada_Program.Element_Iterator; -- Returns the list of Discrete_Range components of an Index_Constraint function Discriminant_Associations (Of_Discriminant_Constraint : Type_Constraint) return Ada_Program.Element_Iterator; -- Returns the list of discriminant associations of -- a Discriminant_Constraint. ------------------------------------------------------------------- -- DISCRETE RANGES: subtype Discrete_Range is Ada_Program.Element; -- LRM 3.6 type Range_Kinds is (A_Simple_Range, A_Range_Attribute, A_Subtype_Indication, Not_A_Range); function Range_Kind (A_Discrete_Range : Discrete_Range) return Range_Kinds; subtype Range_Info is Ada_Program.Element; procedure Bounds (A_Range : Range_Info; Lower, Upper : out Expression); -- This procedure returns the simple expression for the -- upper and lower bounds of a range if one is present -- NIL_ELEMENTs otherwise. -- Note that range attributes are expressions and can be analyzed -- by using the attribute operations in NAMES_AND_EXPRESSIONS. --------------------------------------------------------------- -- CHOICES: subtype Choice is Ada_Program.Element; type Choice_Kinds is (A_Simple_Expression, A_Discrete_Range, Others_Choice, An_Identifier_Reference, Not_A_Choice); function Choice_Kind (A_Choice : Choice) return Choice_Kinds; function Choice_Expression (A_Choice : Choice) return Expression; function Choice_Range (A_Choice : Choice) return Discrete_Range; function Choice_Identifier (A_Choice : Choice) return Identifier_Reference; --------------------------------------------------------------- -- SUBTYPE_INDICATIONS & TYPE_MARKS - LRM 3.3.2 function Type_Mark (A_Subtype_Indication : Subtype_Indication) return Name_Expression; -- Returns the type mark of a subtype indication. -- The NAMES_AND_EXPRESSION package provides selectors to do further -- decomposition. function Constraint (A_Subtype_Indication : Subtype_Indication) return Type_Constraint; -- Returns the constraint applied to the subtype indication. A nil -- element is returned if no constraint is present. --------------------------------------------------------------- -- ENUMERATION TYPES - LRM 3.5.1 function Enumeration_Literals (Enumeration_Type : Enumeration_Type_Definition) return Ada_Program.Element_Iterator; -- Returns a list of the literals declared an enumeration type -- declaration. Each of these elements has a Name. --------------------------------------------------------------- -- INTEGER TYPES - LRM 3.5.4 function Integer_Constraint (Integer_Type : Integer_Type_Definition) return Range_Info; -- Returns the range constraint on the integer type declaration. --------------------------------------------------------------- -- REAL TYPES - LRM 3.5.6 function Digits_Accuracy_Definition (Floating_Point_Type : Float_Type_Definition) return Expression; -- Returns the digits accuracy definition of a floating point type -- definition or floating point constraint. function Floating_Point_Constraint (Floating_Point_Type : Float_Type_Definition) return Range_Info; -- Returns the range constraint of a floating point type declaration. function Delta_Accuracy_Definition (Fixed_Point_Type : Fixed_Type_Definition) return Expression; -- Returns the delta accuracy definition of a fixed point type definition -- or fixed point constraint. function Fixed_Point_Constraint (Fixed_Point_Type : Fixed_Type_Definition) return Range_Info; -- Returns the range constraint of the fixed point type definition. --------------------------------------------------------------- -- ARRAY TYPES - LRM 3.6 function Is_Constrained_Array (Array_Type : Array_Type_Definition) return Boolean; function Index_Constraints (Constrained_Array_Type : Array_Type_Definition) return Ada_Program.Element_Iterator; -- Returns a list of the discrete range constraints for an -- constrained array type declaration. function Index_Subtype_Definitions (Unconstrained_Array_Type : Array_Type_Definition) return Ada_Program.Element_Iterator; -- Returns a list of the Index_Subtypes (Type_Marks) for an -- unconstrained array type declaration. function Component_Type (Array_Type : Array_Type_Definition) return Subtype_Indication; -- Returns the specification of the array component type. --------------------------------------------------------------- -- RECORD TYPES - LRM 3.7 subtype Record_Component is Ada_Program.Element; subtype Variant is Ada_Program.Element; function Is_Discriminated (Record_Type : Record_Type_Definition) return Boolean; function Discriminants (Record_Type : Record_Type_Definition) return Ada_Program.Element_Iterator; -- Returns a list of discriminants on the record type -- declaration. These elements may then be manipulated with the -- functions provided on parameter program elements provided for -- subprograms in the package Declarations. function Record_Components (Record_Type : Record_Type_Definition) return Ada_Program.Element_Iterator; -- Returns a list of the record components of the record declaration. type Component_Kinds is (A_Null_Component, A_Variable_Component, A_Variant_Part_Component, Not_A_Component); -- A component can be a Variable, NULL or Variant_Part. -- A Null_Component is a NIL_ELEMENT. -- The operations on Variables can be used to decompose Variable_Components. function Component_Kind (Component : Record_Component) return Component_Kinds; function Associated_Discriminant (Variant_Part : Record_Component) return Identifier_Reference; function Variant_Item_List (Variant_Part : Record_Component) return Ada_Program.Element_Iterator; -- Returns a list of variants that make up the record component. function Variant_Choices (Variant_Item : Variant) return Ada_Program.Element_Iterator; -- Returns a list of the 'WHEN <choice> | <choice>' choices. -- Use the above CHOICES queries to extract further information. function Inner_Record_Components (Variant_Item : Variant) return Ada_Program.Element_Iterator; -- Returns a list of the record components of the inner record declaration. -- Use Component_Kind to analyze further. --------------------------------------------------------------- -- ACCESS TYPES - LRM 3.8 function Access_To (Access_Type : Access_Type_Definition) return Subtype_Indication; -- Returns the subtype indication associated with the access type. --------------------------------------------------------------- -- DERIVED TYPES - LRM 3.4 function Derived_From (Derived_Type : Derived_Type_Definition) return Subtype_Indication; -- Returns the subtype indication associated with the derived type. --------------------------------------------------------------- -- TASK TYPE DEFINITIONS -- LRM Chapter 9 function Task_Components (Task_Spec : Task_Specification) return Ada_Program.Element_Iterator; -- Returns a list of entry declarations, representation clauses -- and pragmas in a task specification. The list is in order of appearance. -- The operations on subprogram declarations can be used to -- decompose task entries. pragma Subsystem (Design_Facility, Closed); pragma Module_Name (4, 3577); pragma Bias_Key (109); end Type_Information;
nblk1=11 nid=0 hdr6=22 [0x00] rec0=18 rec1=00 rec2=01 rec3=030 [0x01] rec0=00 rec1=00 rec2=11 rec3=04c [0x02] rec0=13 rec1=00 rec2=02 rec3=01a [0x03] rec0=13 rec1=00 rec2=03 rec3=032 [0x04] rec0=14 rec1=00 rec2=04 rec3=02c [0x05] rec0=01 rec1=00 rec2=10 rec3=008 [0x06] rec0=15 rec1=00 rec2=05 rec3=062 [0x07] rec0=1b rec1=00 rec2=06 rec3=000 [0x08] rec0=1c rec1=00 rec2=07 rec3=02a [0x09] rec0=18 rec1=00 rec2=08 rec3=06e [0x0a] rec0=18 rec1=00 rec2=09 rec3=000 [0x0b] rec0=17 rec1=00 rec2=0a rec3=07e [0x0c] rec0=16 rec1=00 rec2=0b rec3=04c [0x0d] rec0=00 rec1=00 rec2=0f rec3=012 [0x0e] rec0=15 rec1=00 rec2=0c rec3=076 [0x0f] rec0=1a rec1=00 rec2=0d rec3=07a [0x10] rec0=0b rec1=00 rec2=0e rec3=000 tail 0x20100f7767da18dd06c6b 0x42a00088462065003