pTAL Reference Manual (G06.24+, H06.09+, J06.03+)

upper-bound
is an INT constant expression (in the range -32,768 through 32,767) that specifies the
index (relative to the zeroth occurrence) of the last substructure occurrence you want
allocated. For a single-occurrence substructure, omit both bounds or specify the same value
for both bounds.
Example 87 Declaring a Referral Substructure
STRUCT temp(*); ! Template structure --
BEGIN ! no space allocated
STRING a[0:2];
INT b;
STRING c;
END;
STRUCT .ind_struct; ! Definition structure --
BEGIN ! space allocated
INT header[0:1];
STRING abyte;
STRUCT abc (temp) [0:1]; ! Declare referral substructure
END; ! Size of ind_struct.abc[0] is
! 8 bytes
Declaring Filler
A filler declaration allocates a byte or bit place holder in a structure.
FILLER
allocates the specified number of byte place holders.
BIT_FILLER
allocates the specified number of bit place holders.
constant-expression
is a positive integer constant value that specifies a number of filler units in one of the following
ranges:
0 through 32,767 bytesFILLER
0 through 255 bitsBIT_FILLER
You can declare filler bits and filler bytes, but you cannot access such filler locations.
If the structure layout must match a structure layout defined in another program, your structure
declaration need only include data items used by your program and can use filler bits or bytes for
the unused space.
The compiler allocates space for each byte or bit you specify in a filler declaration. If the alignment
of the next data item requires additional pad bytes or bits, the compiler allocates those also.
Declaring Filler 147