|
|
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: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Representation_Clauses, pragma Module_Name 4 3575, pragma Subsystem Design_Facility, seg_028ae4
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦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;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=19 rec1=00 rec2=01 rec3=074
[0x01] rec0=16 rec1=00 rec2=02 rec3=05a
[0x02] rec0=03 rec1=00 rec2=08 rec3=014
[0x03] rec0=15 rec1=00 rec2=03 rec3=084
[0x04] rec0=1b rec1=00 rec2=04 rec3=08e
[0x05] rec0=1a rec1=00 rec2=05 rec3=04c
[0x06] rec0=1b rec1=00 rec2=06 rec3=03c
[0x07] rec0=1b rec1=00 rec2=07 rec3=001
tail 0x2172259c683c247c6bdd8 0x42a00088462065003