XGC CORAL 66: Language Reference Manual | ||
---|---|---|
Prev | Appendix D. Implementation-Defined Characteristics | Next |
XGC Coral supports 16, 32 and 64 bit integer types, 16, 32 and 64 bit fixed point types, and 32 and 64 bit floating point types. The implementation defined keyword LONG is used to form LONG INTEGER, LONG FIXED and LONG FLOATING.
XGC Coral allows table elements to extend over more than one word. Word-position always refers to the word in which the least significant bit is located.
In XGC Coral 66, a code statement follows the practice established for other programming languages. Each line of the code statement is an assembly language instruction, where the operands are references to Coral source objects. A full description will be found in Section 7.5.
COMMON Communicators are implemented as recommended. They are the primary means by which program segments communicate. Where the source text for a program is located across many files, it is usual for the COMMON Communicators to have their own files, which are then compiled along with the program segments by giving the file name on the compiler command line. Note: there is no include feature in Coral 66.
In XGC Coral, the library communicator is used to include a Coral source file that contains an external communicator that defines the data and procedures in a program library. It is typically used with standard libraries (an I-O library for example), but may be used with user-defined libraries too. The communicator is written LIBRARY ("filename"). The convention is for files used in this way to have the suffix ".h66" to indicate that they are Coral 66 files. For example, the file for the math library is called "math.h66", and is included by the statement LIBRARY ("math.h66").
The EXTERNAL Communicator is supported as recommended. The form is similar to that of the COMMON communicator, but using the keyword EXTERNAL rather than COMMON. As an implementation-defined extension, the syntactic form Id / String is permitted so that linkage may be made to external symbols that are not acceptable as Coral identifiers.
ABSOLUTE Communicators are implemented as recommended. The syntactic form Id / Integer gives the address of the object identified by Id. On a byte-addressed computer, this is a byte address.
XGC Coral permits identifiers of any length up to the length of a line. A compile-time option is provided to specify whether just the first twelve or all the characters are significant.
Integers and floating point numbers may also be given in binary notation. The implementation defined keyword BINARY is used as a prefix, as in the following example: BINARY (1.0001). Note: binary floating point numbers cannot have an exponent.
Integers and floating point numbers may also be given in hexadecimal notation. The additional digits that represent values 10 to 15 are represented using the letters 'a' to 'f', in lower case or in upper case. The implementation defined keyword HEX is used as a prefix, as in the following example: HEX (fff.8). Note: neither the octal nor hexadecimal number formats permit an exponent.
The numeric representation of characters in the LITERAL form, is determined by the host computer, and is assumed to be 7-bit ASCII. Non-printing characters, with the exception of the space character, are not accepted as literals. Note also the only one character is permitted between the parentheses.
The first character of each string contains the length of the string. The maximum length of a string is 255 characters.
Macros are supported as described in Section 11.2. The macro body may be written over as many lines as necessary, and there is no limit on its size.