- (1)
- The Valid attribute can be used to check the validity of data produced by
unchecked conversion, input, interface to foreign languages, and the like.
Static Semantics
- (2)
- For a prefix X that denotes a scalar object (after any implicit
dereference), the following attribute is defined:
- (3)
- X'Valid
Yields True if and only if the object denoted by X is normal
and has a valid representation. The value of this attribute
is of the predefined type Boolean.
-
- (4)
(19) Invalid data can be created in the following cases (not counting
erroneous or unpredictable execution):
- (5)
- an uninitialized scalar object,
- (6)
- the result of an unchecked conversion,
- (7)
- (8)
- interface to another language (including machine code),
- (9)
- (10)
- disrupting an assignment due to the failure of a language-defined
check (see 11.6), and
- (11)
- use of an object whose Address has been specified.
- (12)
(20) X'Valid is not considered to be a read of X; hence, it is not an
error to check the validity of invalid data.
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12