A declaration of a packed type has the form:
TYPE T = BITS n FOR Basewhere
Base
is a type and n
is an integer-valued constant
expression. The values of type T
are the same as the values of type
Base
, but variables of type T
that occur in records, objects, or
arrays will occupy exactly n
bits and be packed adjacent to the
preceding field or element. For example, a variable of type
ARRAY [0..255] OF BITS 1 FOR BOOLEANis an array of 256 booleans, each of which occupies one bit of storage.
The values allowed for n
are implementation-dependent. An illegal
value for n
is a static error. The legality of a packed type can
depend on its context; for example, an implementation could prohibit packed
integers from spanning word boundaries.