The Coral 66 language allows for certain machine dependences in a controlled manner. Each implementation must document all implementation-defined characteristics:
Using compile time switches, the user may select one of several language profiles.
The profiles supported are:
Official Definition Profile
XGC Profile
Custom Profile
This profile corresponds to the features of the official definition, and inlcudes all features that are described as optional. That is, the profile includes:
RECURSIVE procedures
TABLE facility
FIXED numbers
BITS, DIFFER, UNION and MASK
FLOATING numbers
COMMON Communicators
EXTERNAL Comminicators
ABSOLUTE Communicators
CODE statements
This profile includes all the features of the Official Definition Profile, and the following extensions:
The BYTE Numbertype
BYTE arrays from the Blandford Extension
LONG Numbertypes
The LIBRARY communicator
BINARY Numbers
HEX Numbers
CONSTANT Declarations
Shift operators
ANSI C compatible strings
The custom profile is reserved for users who require the language features to be the same as those of some other compiler. There is no default custom profile, and each custom profile requires chnages to the compiler to implement the necessary langauge features.