mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	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 */
 |