|
|
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: 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