mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +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
		
			
				
	
	
		
			67 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
ENDMARKER
 | 
						|
NAME
 | 
						|
NUMBER
 | 
						|
STRING
 | 
						|
NEWLINE
 | 
						|
INDENT
 | 
						|
DEDENT
 | 
						|
 | 
						|
LPAR                    '('
 | 
						|
RPAR                    ')'
 | 
						|
LSQB                    '['
 | 
						|
RSQB                    ']'
 | 
						|
COLON                   ':'
 | 
						|
COMMA                   ','
 | 
						|
SEMI                    ';'
 | 
						|
PLUS                    '+'
 | 
						|
MINUS                   '-'
 | 
						|
STAR                    '*'
 | 
						|
SLASH                   '/'
 | 
						|
VBAR                    '|'
 | 
						|
AMPER                   '&'
 | 
						|
LESS                    '<'
 | 
						|
GREATER                 '>'
 | 
						|
EQUAL                   '='
 | 
						|
DOT                     '.'
 | 
						|
PERCENT                 '%'
 | 
						|
LBRACE                  '{'
 | 
						|
RBRACE                  '}'
 | 
						|
EQEQUAL                 '=='
 | 
						|
NOTEQUAL                '!='
 | 
						|
LESSEQUAL               '<='
 | 
						|
GREATEREQUAL            '>='
 | 
						|
TILDE                   '~'
 | 
						|
CIRCUMFLEX              '^'
 | 
						|
LEFTSHIFT               '<<'
 | 
						|
RIGHTSHIFT              '>>'
 | 
						|
DOUBLESTAR              '**'
 | 
						|
PLUSEQUAL               '+='
 | 
						|
MINEQUAL                '-='
 | 
						|
STAREQUAL               '*='
 | 
						|
SLASHEQUAL              '/='
 | 
						|
PERCENTEQUAL            '%='
 | 
						|
AMPEREQUAL              '&='
 | 
						|
VBAREQUAL               '|='
 | 
						|
CIRCUMFLEXEQUAL         '^='
 | 
						|
LEFTSHIFTEQUAL          '<<='
 | 
						|
RIGHTSHIFTEQUAL         '>>='
 | 
						|
DOUBLESTAREQUAL         '**='
 | 
						|
DOUBLESLASH             '//'
 | 
						|
DOUBLESLASHEQUAL        '//='
 | 
						|
AT                      '@'
 | 
						|
ATEQUAL                 '@='
 | 
						|
RARROW                  '->'
 | 
						|
ELLIPSIS                '...'
 | 
						|
COLONEQUAL              ':='
 | 
						|
 | 
						|
OP
 | 
						|
AWAIT
 | 
						|
ASYNC
 | 
						|
TYPE_IGNORE
 | 
						|
TYPE_COMMENT
 | 
						|
ERRORTOKEN
 | 
						|
 | 
						|
# These aren't used by the C tokenizer but are needed for tokenize.py
 | 
						|
COMMENT
 | 
						|
NL
 | 
						|
ENCODING
 |