{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

p1076_chap_03 - LANGUAGE REFERENCE MANUAL IEEE Std...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
IEEE LANGUAGE REFERENCE MANUAL Std P 1076a -199 9 2000/ D 3 Clause 3 33 Copyright © 2000, IEEE. All rights reserved. This is an unapproved IEEE Standards Draft, subject to change. Clause 3 Types This section clause 1 describes the various categories of types that are provided by the language as well as those specific types that are predefined. The declarations of all predefined types are contained in package STANDARD, the declaration of which appears in Section Clause 2 14. A type is characterized by a set of values and a set of operations. The set of operations of a type includes the explicitly declared subprograms that have a parameter or result of the type. The remaining operations of a type are the basic operations and the predefined operators (see 7.2). These operations are each implicitly declared for a given type declaration immediately after the type declaration and before the next explicit declaration, if any. A basic operation is an operation that is inherent in one of the following: An assignment (in assignment statements and initializations) An allocator A selected name, an indexed name, or a slice name A qualification (in a qualified expression), an explicit type conversion, a formal or actual part in the form of a type conversion, or an implicit type conversion of a value of type universal_integer or universal_real to the corresponding value of another numeric type A numeric literal (for a universal type), the literal null (for an access type), a string literal, a bit string literal, an aggregate, or a predefined attribute There are five classes of types. Scalar types are integer types, floating point types, physical types, and types de- fined by an enumeration of their values; values of these types have no elements. Composite types are array and record types; values of these types consist of element values. Access types provide access to objects of a given type. File types provide access to objects that contain a sequence of values of a given type. Protected types pro- vide atomic and exclusive access to variables accessible to multiple processes. The set of possible values for an object of a given type can be subjected to a condition that is called a constraint (the case where the constraint imposes no restriction is also included); a value is said to satisfy a constraint if it satisfies the corresponding condition. A subtype is a type together with a constraint. A value is said to belong to a subtype of a given type if it belongs to the type and satisfies the constraint; the given type is called the base type of the subtype. A type is a subtype of itself; such a subtype is said to be unconstrained (it corresponds to a con- dition that imposes no restriction). The base type of a type is the type itself.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}