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