16 int LastToken, LastTokenLen;
20 int NextToken, NextTokenLen;
31 int GetToken(tParser *File);
32 void PutBack(tParser *File);
33 int LookAhead(tParser *File);
78 TOK_LOGICAND, TOK_LOGICOR, TOK_LOGICXOR,
79 TOK_AND, TOK_OR, TOK_XOR,
91 #define TOKEN_GROUP_TYPES TOK_RWD_VOID:\
94 case TOK_RWD_INTEGER:\
97 #define TOKEN_GROUP_TYPES_STR "TOK_RWD_VOID, TOK_RWD_OBJECT, TOK_RWD_OPAQUE, TOK_RWD_INTEGER, TOK_RWD_STRING or TOK_RWD_REAL"
99 #define TOKEN_GET_DATATYPE(_type, _tok) do { switch(_tok) {\
100 case TOK_RWD_VOID: _type = SS_DATATYPE_UNDEF; break;\
101 case TOK_RWD_INTEGER:_type = SS_DATATYPE_INTEGER; break;\
102 case TOK_RWD_OPAQUE: _type = SS_DATATYPE_OPAQUE; break;\
103 case TOK_RWD_OBJECT: _type = SS_DATATYPE_OBJECT; break;\
104 case TOK_RWD_REAL: _type = SS_DATATYPE_REAL; break;\
105 case TOK_RWD_STRING: _type = SS_DATATYPE_STRING; break;\
106 default:fprintf(stderr,\
107 "ERROR: Unexpected %s, expected "TOKEN_GROUP_TYPES_STR"\n",csaTOKEN_NAMES[Parser->Token]);\
111 # if WANT_TOKEN_STRINGS
112 const char * const csaTOKEN_NAMES[] = {
150 "TOK_DIV", "TOK_MUL",
151 "TOK_PLUS", "TOK_MINUS",
152 "TOK_SHL", "TOK_SHR",
153 "TOK_LOGICAND", "TOK_LOGICOR", "TOK_LOGICXOR",
154 "TOK_AND", "TOK_OR", "TOK_XOR",