|
|
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: T V
Length: 6641 (0x19f1)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦c84a2ac9b⟧
└─⟦this⟧
with Ada_Program;
package Representation_Clauses is
--
-- The use of this system is subject to the software license terms and
-- conditions agreed upon between Rational and the Customer.
--
-- Copyright 1987, 1988, 1989, 1990 by Rational.
--
-- RESTRICTED RIGHTS LEGEND
--
-- Use, duplication, or disclosure by the Government is subject to
-- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
-- Technical Data and Computer Software clause at 52.227-7013.
--
--
-- Rational
-- 3320 Scott Boulevard
-- Santa Clara, California 95054
--
-- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
-- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
-- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS
-- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
-- 1976. CREATED 1987, 1988, 1989, 1990. ALL RIGHTS RESERVED.
--
-- LRM Chapter 13
-- Local Renamings:
subtype Declaration is Ada_Program.Declaration;
subtype Expression is Ada_Program.Expression;
subtype Identifier_Definition is Ada_Program.Identifier_Definition;
subtype Representation_Clause is Ada_Program.Representation_Clause;
subtype Type_Definition is Ada_Program.Element;
-------------------------------------------------------------------
type Representation_Clause_Kinds is (A_Length_Clause,
An_Enumeration_Representation_Clause,
A_Record_Representation_Clause,
An_Address_Clause,
Not_A_Representation_Clause);
function Kind (Clause : Representation_Clause)
return Representation_Clause_Kinds;
function Associated_Type
(Clause : Representation_Clause) return Type_Definition;
-- Returns the definition of the type specified in the length clause,
-- enumeration representation clause or record representation clause.
function Associated_Size (For_Type : Type_Definition) return Expression;
-- Returns the expression that describes the size associated with a type
-- definition if there is a rep spec associated with this type,
-- NIL_ELEMENT otherwise.
function Associated_Storage_Size
(For_Type : Type_Definition) return Expression;
-- Returns the expression that describes the size associated with a type
-- definition. Valid for access and task types and their derived types.
function Associated_Enumeration_Representation
(For_Enumeration_Literal : Identifier_Definition)
return Expression;
-- Returns the expression that describes the representation of
-- enumeration literal.
function Associated_Enumeration_Representation
(For_Enumeration_Literal : Identifier_Definition)
return Long_Integer;
-- Returns the representation value associated with
-- FOR_ENUMERATION_LITERAL.
function Associated_Record_Representation
(Record_Or_Component : Ada_Program.Element)
return Representation_Clause;
-- Returns the representation spec associated with the element.
function Associated_Address
(For_Element : Ada_Program.Element) return Ada_Program.Element;
-- Returns the element that defines the address value of FOR_ELEMENT,
-- valid for VARs, CONSTANTs, PACKAGEs, ENTRYs and TASK SPECs (or
-- their associated IDs).
-- For all the above routines, if no associated element exists
-- a NIL_ELEMENT is returned.
-------------------------------------------------------------------
-- LRM 13.2
type Length_Clause_Attribute_Kinds is (Size,
Collection_Storage_Size,
Task_Storage_Size,
Small);
function Attribute_Kind (A_Length_Clause : Representation_Clause)
return Length_Clause_Attribute_Kinds;
-------------------------------------------------------------------
-- LRM 13.3
function Representation_Aggregate
(Enumeration_Clause : Representation_Clause) return Expression;
-- Returns the aggregate of the representation clause.
-------------------------------------------------------------------
-- LRM 13.4
function Alignment_Expression
(Record_Clause : Representation_Clause) return Expression;
-- Returns the alignment expression for the representation clause.
-- If an alignment expression is not present, a nil element is
-- returned.
subtype A_Range is Ada_Program.Element;
subtype Record_Component_Clause is Ada_Program.Element;
subtype Record_Component_Clause_Or_Pragma_Iterator is
Ada_Program.Element_Iterator;
function Clause_Components
(Record_Clause : Representation_Clause)
return Record_Component_Clause_Or_Pragma_Iterator;
-- Returns a list of the components of the record clause in order
-- of appearance.
function Valid_Component
(Component_Clause : Record_Component_Clause) return Boolean;
-- Some components can be PRAGMAs, this return true if this component
-- is NOT a pragma.
function Component_Name
(Component_Clause : Record_Component_Clause) return String;
-- Returns the name of the component.
function Component_Offset
(Component_Clause : Record_Component_Clause) return Expression;
-- Returns the offset expression for the component.
function Component_Range
(Component_Clause : Record_Component_Clause) return A_Range;
-- Returns the range constraint for the component.
-------------------------------------------------------------------
-- LRM 13.5
function Addressed_Declaration
(Address_Clause : Representation_Clause) return Declaration;
-- Returns the declaration of the object, subprogram or entry
-- whose address is being specified.
function Address_Expression
(Address_Clause : Representation_Clause) return Expression;
-- Returns the expression for the address of the declaration.
pragma Subsystem (Design_Facility, Closed);
pragma Module_Name (4, 3575);
pragma Bias_Key (27);
end Representation_Clauses;