mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	 495da29225
			
		
	
	
		495da29225
		
	
	
	
	
		
			
			This adds a `feature_version` flag to `ast.parse()` (documented) and `compile()` (hidden) that allow tweaking the parser to support older versions of the grammar. In particular if `feature_version` is 5 or 6, the hacks for the `async` and `await` keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather than `NAME` tokens that the parser driver recognizes.) https://bugs.python.org/issue35975
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
| /* Auto-generated by Tools/scripts/generate_token.py */
 | |
| 
 | |
| /* Token types */
 | |
| #ifndef Py_LIMITED_API
 | |
| #ifndef Py_TOKEN_H
 | |
| #define Py_TOKEN_H
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #undef TILDE   /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */
 | |
| 
 | |
| #define ENDMARKER       0
 | |
| #define NAME            1
 | |
| #define NUMBER          2
 | |
| #define STRING          3
 | |
| #define NEWLINE         4
 | |
| #define INDENT          5
 | |
| #define DEDENT          6
 | |
| #define LPAR            7
 | |
| #define RPAR            8
 | |
| #define LSQB            9
 | |
| #define RSQB            10
 | |
| #define COLON           11
 | |
| #define COMMA           12
 | |
| #define SEMI            13
 | |
| #define PLUS            14
 | |
| #define MINUS           15
 | |
| #define STAR            16
 | |
| #define SLASH           17
 | |
| #define VBAR            18
 | |
| #define AMPER           19
 | |
| #define LESS            20
 | |
| #define GREATER         21
 | |
| #define EQUAL           22
 | |
| #define DOT             23
 | |
| #define PERCENT         24
 | |
| #define LBRACE          25
 | |
| #define RBRACE          26
 | |
| #define EQEQUAL         27
 | |
| #define NOTEQUAL        28
 | |
| #define LESSEQUAL       29
 | |
| #define GREATEREQUAL    30
 | |
| #define TILDE           31
 | |
| #define CIRCUMFLEX      32
 | |
| #define LEFTSHIFT       33
 | |
| #define RIGHTSHIFT      34
 | |
| #define DOUBLESTAR      35
 | |
| #define PLUSEQUAL       36
 | |
| #define MINEQUAL        37
 | |
| #define STAREQUAL       38
 | |
| #define SLASHEQUAL      39
 | |
| #define PERCENTEQUAL    40
 | |
| #define AMPEREQUAL      41
 | |
| #define VBAREQUAL       42
 | |
| #define CIRCUMFLEXEQUAL 43
 | |
| #define LEFTSHIFTEQUAL  44
 | |
| #define RIGHTSHIFTEQUAL 45
 | |
| #define DOUBLESTAREQUAL 46
 | |
| #define DOUBLESLASH     47
 | |
| #define DOUBLESLASHEQUAL 48
 | |
| #define AT              49
 | |
| #define ATEQUAL         50
 | |
| #define RARROW          51
 | |
| #define ELLIPSIS        52
 | |
| #define COLONEQUAL      53
 | |
| #define OP              54
 | |
| #define AWAIT           55
 | |
| #define ASYNC           56
 | |
| #define TYPE_IGNORE     57
 | |
| #define TYPE_COMMENT    58
 | |
| #define ERRORTOKEN      59
 | |
| #define N_TOKENS        63
 | |
| #define NT_OFFSET       256
 | |
| 
 | |
| /* Special definitions for cooperation with parser */
 | |
| 
 | |
| #define ISTERMINAL(x)           ((x) < NT_OFFSET)
 | |
| #define ISNONTERMINAL(x)        ((x) >= NT_OFFSET)
 | |
| #define ISEOF(x)                ((x) == ENDMARKER)
 | |
| 
 | |
| 
 | |
| PyAPI_DATA(const char * const) _PyParser_TokenNames[]; /* Token names */
 | |
| PyAPI_FUNC(int) PyToken_OneChar(int);
 | |
| PyAPI_FUNC(int) PyToken_TwoChars(int, int);
 | |
| PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| #endif /* !Py_TOKEN_H */
 | |
| #endif /* Py_LIMITED_API */
 |