|In this section...| Consider the case of an array of a given
component type. For each component the compiler must allocate a
storage field with a certain number of bits. There may also be
some gaps (that is, unused bit fields) between two consecutive
components. The effect of the pragma PACK is to instruct the
compiler to minimize such gaps. For example, to request a packed
representation for boolean matrices, one would write: type
BIT_MAP is array (1 .. 100, 1 .. 100) of BOOLEAN; ... pragma
PACK(BIT_MAP); On the other hand, if the component type is
itself a composite type, it may also contain internal gaps:
these gaps are unaffected by the packing specification given for
the array type. Minimization of such gaps could be achieved by a
prior packing specification given for the component type itself.
The language also provides the representation pragma OPTIMIZE,
with the argument values SPACE and TIME, to inform the compiler
about which of these two criteria is more important in a given
part of the program. f