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 substructure occurrence) of the last substructure occurrence you
want allocated.
To declare a single-occurrence substructure, omit both bounds or specify the same value
for both bounds.
previous-identifier
is the identifier of a simple variable, array, substructure, or pointer previously declared in the
same structure. No index is allowed with this identifier.
If the previous item is a substructure and you omit the bounds or if either bound is 0, the new
substructure and the previous substructure occupy the same space and have the same offset from
the beginning of the structure.
Example 98 Referral Substructure Redefinition
STRUCT temp(*); ! Template structure
BEGIN
STRING a[0:2];
INT b;
STRING c;
END;
STRUCT .ind_struct; ! Definition structure
BEGIN
INT header[0:1];
STRING abyte;
STRUCT abc (temp) [0:1];
STRUCT xyz (temp) [0:1] = abc; ! Redefine abc as xyz
END;
Simple Pointer
A simple pointer redefinition associates a new simple pointer with a previous item at the same
BEGIN-END level of a structure.
VOLATILE
specifies that the value of this variable must be maintained in memory, not in a register. Each
reference to a VOLATILE data item causes the data item to be read or written to memory even
when code is optimized. Based on the order of reads and writes in the source code, VOLATILE
also causes that precise order of memory references to be preserved, again, when code is
optimized.
158 Structures