Reserved Words in Declarations
In declarations, all EQUEL keywords are reserved. Therefore, you cannot declare types or variables with the same name as those keywords. Also, the following EQUEL/C keywords, used in declarations, are reserved and cannot be used elsewhere, except in quoted string constants:
Note: Not all C compilers reserve every keyword listed. However, the EQUEL/C preprocessor does reserve all these words.
The EQUEL preprocessor does not distinguish between uppercase and lowercase in keywords. When generating C code, it converts any uppercase letters in keywords to lowercase. The following example shows that although the following declarations are initially unacceptable to the C compiler, the preprocessor converts them into legitimate C code. Lines without ## in the first two column positions pass through without case conversion.
## defINE ARRSIZE 256
## /* "defINE" is converted to "define" */
## INT numarr[ARRSIZE];
## /* "INT" is equivalent to "int" */
The rule just described is true only for keywords. The preprocessor does distinguish between case in program-defined types and variable names.
Variable and type names must be legal C identifiers beginning with an underscore or alphabetic character.