Data Definition Language (DDL) Reference Manual
Definition Attributes
Data Definition Language (DDL) Reference Manual—529431-004
6-55
Specifying TYPE data-type
•
pTAL or TAL
ENUM is translated to an INT with the level-89 items preceding the INT as literals.
If you do not want to use an INT for a single-field definition, then use the
NOTALALLOCATE command to generate the definition as a TAL DEFINE. For
information about the NOTALALLOCATE command, see TALALLOCATE on
page 9-108.
LOGICAL
For Pascal (on D-series systems), type LOGICAL 1 is translated to BOOLEAN. Types
LOGICAL 2 and LOGICAL 4 are translated to INT16 and INT32, respectively.
BIT
A bit field inside a group structure that follows a nonbit field starts on a new 16-bit
word. If you specify bit fields consecutively inside the group structure, the DDL
compiler allocates the same 16-bit word for all contiguous bit fields that can fit in one
16-bit word. For the next bit field that cannot fit in the same 16-bit word, the DDL
compiler allocates the next word.
Consecutive bit fields that occupy the same word have the same byte offset but
different bit offset values in their records in the DICTOBL dictionary file.
A field that follows a bit field and has another data type starts on the next word.
A substructure containing only bit fields always starts and ends on a word boundary,
padded with implicit bit fillers when necessary. Such a substructure is always an even
number of bytes long, which is consistent with the way the C, Pascal (on D-series
systems), and TAL compilers allocate spaces for structures containing bit maps.
TAL and Pascal support bit maps outside group structures; however, these bit maps
are packed in pTAL or TAL and unpacked in Pascal. To ensure that bit maps outside
group structures are compatible between languages, the DDL compiler generates 16-
bit integer items for bit fields declared as field definitions, with warning messages in all
language outputs except Pascal.
In languages that do not support bit maps, including COBOL, FORTRAN, and TACL,
the DDL compiler generates a FILLER item for a bit map outside a group structure.
The FILLER item has a number of words equivalent to the number of words required
for such a bit field specified inside a group structure.
You can specify a bit map as a filler explicitly, the same way you specify a byte filler.
Unlike a byte filler, a bit filler always starts at a new word if the bit filler follows a nonbit
item.
Note. A variable declared as a simple bit field can be a different size than an elementary item
that is a bit field inside a structure (bit fields are packed within structures, but might or might
not be in a simple bit field). Avoid variables of simple bit fields in COBOL, FORTRAN, or TACL
(which do not support bit maps), or be certain you know what you are doing in handling such
variables.