+++ /dev/null
-#ifndef LEXERH_\r
-#define LEXERH_\r
-\r
-/* lexer.h\r
- *\r
- * (C) Copyright May 7 1995, Edmond J. Breen.\r
- * ALL RIGHTS RESERVED.\r
- * This code may be copied for personal, non-profit use only.\r
- *\r
- */\r
-enum{\r
- NUM = 350, HEX, OCTAL, STR,\r
- CHAR,UCHAR,\r
- SHORT, USHORT,\r
- INT,UINT,\r
- LONG, ULONG,\r
- FLOAT,DOUBLE,\r
-\r
- ID,TYPENAME, FUNCTION,\r
- INC, /* ++ */\r
- DEC, /* -- */\r
- RARROW, /* -> */\r
- LSHT, /* << */\r
- RSHT, /* >> */\r
-\r
- MISC, /* dummy for lexan */\r
-\r
- RELOP, /* relational operators */\r
- LT, /* < */\r
- LE, /* <= */\r
- EQ, /* == */\r
- NE, /* != */\r
- GT, /* > */\r
- GE, /* >= */\r
-\r
- LOR, /* || */\r
- BOR, /* | */\r
- XOR, /* ^ */\r
-\r
- LAND, /* && */\r
- AND, /* & */\r
-\r
- LOGOP, /* logical operators */\r
- NOT, /* ! */\r
-\r
- ASSOP, /* assignment operators */\r
- ASS, /* = */\r
- ADDEQ, /* += */\r
- SUBEQ, /* -= */\r
- MULEQ, /* *= */\r
- DIVEQ, /* /= */\r
- MODEQ, /* %= */\r
- RSHTEQ, /* >>= */\r
- LSHTEQ, /* <<= */\r
- ANDEQ, /* &= */\r
- BOREQ, /* |= */\r
- XOREQ /* ^= */\r
-\r
-};\r
-\r
-void initlex(char *str);\r
-int lexan(void);\r
-\r
-#if 1\r
-\r
-extern unsigned short STOKEN;\r
-#define retractlexan() STOKEN=token.tok\r
-\r
-#else\r
-#define ILOOKAHEAD\r
-\r
-extern token_t TokenArray[];\r
-extern int TokenI;\r
-\r
-#define retractlexan() do\\r
-{\\r
- TokenArray[TokenI++] = token;\\r
- if(TokenI > 1) {\\r
- fprintf(stderr,"TokenI = %d line %d in %s\n",\\r
- TokenI, __LINE__,__FILE__);\\r
- exit(0);\\r
- }\\r
-}while(0)\r
-\r
-#endif\r
-\r
-#endif /* LEXERH_ */\r