Move the sources to trunk
[opencv] / apps / Hawk / CVEiCL / EiC / src / ppc403 / include / lexer.h
1 #ifndef LEXERH_\r
2 #define LEXERH_\r
3 \r
4 /* lexer.h\r
5  *\r
6  *      (C) Copyright May  7 1995, Edmond J. Breen.\r
7  *                 ALL RIGHTS RESERVED.\r
8  * This code may be copied for personal, non-profit use only.\r
9  *\r
10  */\r
11 enum{\r
12   NUM = 350, HEX, OCTAL, STR,\r
13   CHAR,UCHAR,\r
14   SHORT, USHORT,\r
15   INT,UINT,\r
16   LONG, ULONG,\r
17   FLOAT,DOUBLE,\r
18 \r
19   ID,TYPENAME, FUNCTION,\r
20   INC,          /* ++ */\r
21   DEC,          /* -- */\r
22   RARROW,       /* -> */\r
23   LSHT,         /* << */\r
24   RSHT,         /* >> */\r
25 \r
26   MISC, /* dummy for lexan */\r
27 \r
28   RELOP,  /* relational operators */\r
29   LT,   /* < */\r
30   LE,   /* <= */\r
31   EQ,   /* == */\r
32   NE,   /* != */\r
33   GT,   /* >  */\r
34   GE,   /* >= */\r
35 \r
36   LOR,  /* || */\r
37   BOR,  /* | */\r
38   XOR,  /* ^ */\r
39 \r
40   LAND, /* && */\r
41   AND,  /* & */\r
42 \r
43   LOGOP,        /* logical operators */\r
44   NOT,          /* ! */\r
45 \r
46   ASSOP,        /* assignment operators */\r
47   ASS,          /* =  */\r
48   ADDEQ,        /* += */\r
49   SUBEQ,        /* -= */\r
50   MULEQ,        /* *= */\r
51   DIVEQ,        /* /= */\r
52   MODEQ,        /* %= */\r
53   RSHTEQ,       /* >>= */\r
54   LSHTEQ,       /* <<= */\r
55   ANDEQ,        /* &= */\r
56   BOREQ,        /* |= */\r
57   XOREQ /* ^= */\r
58 \r
59 };\r
60 \r
61 void initlex(char *str);\r
62 int lexan(void);\r
63 \r
64 #if 1\r
65 \r
66 extern unsigned short STOKEN;\r
67 #define retractlexan()  STOKEN=token.tok\r
68 \r
69 #else\r
70 #define ILOOKAHEAD\r
71 \r
72 extern token_t TokenArray[];\r
73 extern int TokenI;\r
74 \r
75 #define retractlexan()   do\\r
76 {\\r
77      TokenArray[TokenI++] = token;\\r
78      if(TokenI > 1) {\\r
79        fprintf(stderr,"TokenI = %d line %d in %s\n",\\r
80                TokenI, __LINE__,__FILE__);\\r
81        exit(0);\\r
82      }\\r
83 }while(0)\r
84 \r
85 #endif\r
86 \r
87 #endif  /* LEXERH_ */\r