Chris@87: Chris@87: /* Token types */ Chris@87: Chris@87: #ifndef Py_TOKEN_H Chris@87: #define Py_TOKEN_H Chris@87: #ifdef __cplusplus Chris@87: extern "C" { Chris@87: #endif Chris@87: Chris@87: #undef TILDE /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */ Chris@87: Chris@87: #define ENDMARKER 0 Chris@87: #define NAME 1 Chris@87: #define NUMBER 2 Chris@87: #define STRING 3 Chris@87: #define NEWLINE 4 Chris@87: #define INDENT 5 Chris@87: #define DEDENT 6 Chris@87: #define LPAR 7 Chris@87: #define RPAR 8 Chris@87: #define LSQB 9 Chris@87: #define RSQB 10 Chris@87: #define COLON 11 Chris@87: #define COMMA 12 Chris@87: #define SEMI 13 Chris@87: #define PLUS 14 Chris@87: #define MINUS 15 Chris@87: #define STAR 16 Chris@87: #define SLASH 17 Chris@87: #define VBAR 18 Chris@87: #define AMPER 19 Chris@87: #define LESS 20 Chris@87: #define GREATER 21 Chris@87: #define EQUAL 22 Chris@87: #define DOT 23 Chris@87: #define PERCENT 24 Chris@87: #define BACKQUOTE 25 Chris@87: #define LBRACE 26 Chris@87: #define RBRACE 27 Chris@87: #define EQEQUAL 28 Chris@87: #define NOTEQUAL 29 Chris@87: #define LESSEQUAL 30 Chris@87: #define GREATEREQUAL 31 Chris@87: #define TILDE 32 Chris@87: #define CIRCUMFLEX 33 Chris@87: #define LEFTSHIFT 34 Chris@87: #define RIGHTSHIFT 35 Chris@87: #define DOUBLESTAR 36 Chris@87: #define PLUSEQUAL 37 Chris@87: #define MINEQUAL 38 Chris@87: #define STAREQUAL 39 Chris@87: #define SLASHEQUAL 40 Chris@87: #define PERCENTEQUAL 41 Chris@87: #define AMPEREQUAL 42 Chris@87: #define VBAREQUAL 43 Chris@87: #define CIRCUMFLEXEQUAL 44 Chris@87: #define LEFTSHIFTEQUAL 45 Chris@87: #define RIGHTSHIFTEQUAL 46 Chris@87: #define DOUBLESTAREQUAL 47 Chris@87: #define DOUBLESLASH 48 Chris@87: #define DOUBLESLASHEQUAL 49 Chris@87: #define AT 50 Chris@87: /* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */ Chris@87: #define OP 51 Chris@87: #define ERRORTOKEN 52 Chris@87: #define N_TOKENS 53 Chris@87: Chris@87: /* Special definitions for cooperation with parser */ Chris@87: Chris@87: #define NT_OFFSET 256 Chris@87: Chris@87: #define ISTERMINAL(x) ((x) < NT_OFFSET) Chris@87: #define ISNONTERMINAL(x) ((x) >= NT_OFFSET) Chris@87: #define ISEOF(x) ((x) == ENDMARKER) Chris@87: Chris@87: Chris@87: PyAPI_DATA(char *) _PyParser_TokenNames[]; /* Token names */ Chris@87: PyAPI_FUNC(int) PyToken_OneChar(int); Chris@87: PyAPI_FUNC(int) PyToken_TwoChars(int, int); Chris@87: PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int); Chris@87: Chris@87: #ifdef __cplusplus Chris@87: } Chris@87: #endif Chris@87: #endif /* !Py_TOKEN_H */