2. Embedded QUEL for C : C Variables and Data Types : Variable and Type Declarations : Reserved Words in Declarations
 
Share this page                  
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:
auto
char
define
double
enum
extern
float
globaldef
globalref
int
long
register
short
static
struct
typedef
union
unsigned
varchar
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.