6 * (C) Copyright May 7 1995, Edmond J. Breen.
8 * This code may be copied for personal, non-profit use only.
12 NUM = 350, HEX, OCTAL, STR,
19 ID,TYPENAME, FUNCTION,
26 MISC, /* dummy for EiC_lexan */
28 RELOP, /* relational operators */
43 LOGOP, /* logical operators */
46 ASSOP, /* assignment operators */
61 void EiC_initlex(char *str);
63 char EiC_nextchar(void);
67 extern unsigned short STOKEN;
68 #define retractlexan() STOKEN=token->Tok
72 /* the following is to provide EiC with
73 * N token lookahead parser
79 extern token_t EiC_TokenArray[];
80 extern token_t *token;
81 extern int EiC_TokenI, EiC_TokenP, EiC_TokenR;
82 extern char *lex_buff;
83 extern char EiC_LEXEM[];
85 #define retractlexan() do\
88 EiC_TokenR++;EiC_TokenI--;\
89 if(EiC_TokenP==0) EiC_TokenP = MAX_TOKENS;\
91 if(EiC_TokenP) token=&EiC_TokenArray[EiC_TokenP-1];\
92 else token=&EiC_TokenArray[MAX_TOKENS-1];\