1 2 /* Token types */ 3 #ifndef Py_LIMITED_API 4 #ifndef Py_TOKEN_H 5 #define Py_TOKEN_H 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 #undef TILDE /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */ 11 12 #define ENDMARKER 0 13 #define NAME 1 14 #define NUMBER 2 15 #define STRING 3 16 #define NEWLINE 4 17 #define INDENT 5 18 #define DEDENT 6 19 #define LPAR 7 20 #define RPAR 8 21 #define LSQB 9 22 #define RSQB 10 23 #define COLON 11 24 #define COMMA 12 25 #define SEMI 13 26 #define PLUS 14 27 #define MINUS 15 28 #define STAR 16 29 #define SLASH 17 30 #define VBAR 18 31 #define AMPER 19 32 #define LESS 20 33 #define GREATER 21 34 #define EQUAL 22 35 #define DOT 23 36 #define PERCENT 24 37 #define LBRACE 25 38 #define RBRACE 26 39 #define EQEQUAL 27 40 #define NOTEQUAL 28 41 #define LESSEQUAL 29 42 #define GREATEREQUAL 30 43 #define TILDE 31 44 #define CIRCUMFLEX 32 45 #define LEFTSHIFT 33 46 #define RIGHTSHIFT 34 47 #define DOUBLESTAR 35 48 #define PLUSEQUAL 36 49 #define MINEQUAL 37 50 #define STAREQUAL 38 51 #define SLASHEQUAL 39 52 #define PERCENTEQUAL 40 53 #define AMPEREQUAL 41 54 #define VBAREQUAL 42 55 #define CIRCUMFLEXEQUAL 43 56 #define LEFTSHIFTEQUAL 44 57 #define RIGHTSHIFTEQUAL 45 58 #define DOUBLESTAREQUAL 46 59 #define DOUBLESLASH 47 60 #define DOUBLESLASHEQUAL 48 61 #define AT 49 62 #define ATEQUAL 50 63 #define RARROW 51 64 #define ELLIPSIS 52 65 /* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */ 66 #define OP 53 67 #define ERRORTOKEN 54 68 /* These aren't used by the C tokenizer but are needed for tokenize.py */ 69 #define COMMENT 55 70 #define NL 56 71 #define ENCODING 57 72 #define N_TOKENS 58 73 74 /* Special definitions for cooperation with parser */ 75 76 #define NT_OFFSET 256 77 78 #define ISTERMINAL(x) ((x) < NT_OFFSET) 79 #define ISNONTERMINAL(x) ((x) >= NT_OFFSET) 80 #define ISEOF(x) ((x) == ENDMARKER) 81 82 83 PyAPI_DATA(const char *) _PyParser_TokenNames[]; /* Token names */ 84 PyAPI_FUNC(int) PyToken_OneChar(int); 85 PyAPI_FUNC(int) PyToken_TwoChars(int, int); 86 PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int); 87 88 #ifdef __cplusplus 89 } 90 #endif 91 #endif /* !Py_TOKEN_H */ 92 #endif /* Py_LIMITED_API */ 93