]>
git.madduck.net Git - etc/vim.git/blobdiff - src/blib2to3/pygram.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
# Python imports
import os
# Python imports
import os
from typing import Union
# Local imports
from typing import Union
# Local imports
-from .pgen2 import token
from .pgen2 import driver
from .pgen2 import driver
from .pgen2.grammar import Grammar
# Moved into initialize because mypyc can't handle __file__ (XXX bug)
from .pgen2.grammar import Grammar
# Moved into initialize because mypyc can't handle __file__ (XXX bug)
def __init__(self, grammar: Grammar) -> None:
"""Initializer.
def __init__(self, grammar: Grammar) -> None:
"""Initializer.
arglist: int
argument: int
arith_expr: int
arglist: int
argument: int
arith_expr: int
assert_stmt: int
async_funcdef: int
async_stmt: int
atom: int
augassign: int
break_stmt: int
assert_stmt: int
async_funcdef: int
async_stmt: int
atom: int
augassign: int
break_stmt: int
classdef: int
comp_for: int
comp_if: int
classdef: int
comp_for: int
comp_if: int
encoding_decl: int
eval_input: int
except_clause: int
encoding_decl: int
eval_input: int
except_clause: int
expr: int
expr_stmt: int
exprlist: int
expr: int
expr_stmt: int
exprlist: int
for_stmt: int
funcdef: int
global_stmt: int
for_stmt: int
funcdef: int
global_stmt: int
if_stmt: int
import_as_name: int
import_as_names: int
if_stmt: int
import_as_name: int
import_as_names: int
import_stmt: int
lambdef: int
listmaker: int
import_stmt: int
lambdef: int
listmaker: int
namedexpr_test: int
not_test: int
old_comp_for: int
namedexpr_test: int
not_test: int
old_comp_for: int
old_test: int
or_test: int
parameters: int
old_test: int
or_test: int
parameters: int
+ pattern: int
+ patterns: int
raise_stmt: int
return_stmt: int
shift_expr: int
raise_stmt: int
return_stmt: int
shift_expr: int
single_input: int
sliceop: int
small_stmt: int
single_input: int
sliceop: int
small_stmt: int
star_expr: int
stmt: int
subscript: int
star_expr: int
stmt: int
subscript: int
tfpdef: int
tfplist: int
tname: int
tfpdef: int
tfplist: int
tname: int
trailer: int
try_stmt: int
trailer: int
try_stmt: int
+ typeparam: int
+ typeparams: int
+ typevar: int
+ typevartuple: int
varargslist: int
vfpdef: int
vfplist: int
vname: int
while_stmt: int
varargslist: int
vfpdef: int
vfplist: int
vname: int
while_stmt: int
xor_expr: int
yield_arg: int
yield_expr: int
xor_expr: int
yield_arg: int
yield_expr: int
-python_grammar_no_print_statement: Grammar
-python_grammar_no_print_statement_no_exec_statement: Grammar
-python_grammar_no_print_statement_no_exec_statement_async_keywords: Grammar
-python_grammar_no_exec_statement: Grammar
+python_grammar_async_keywords: Grammar
+python_grammar_soft_keywords: Grammar
python_symbols: _python_symbols
pattern_symbols: _pattern_symbols
def initialize(cache_dir: Union[str, "os.PathLike[str]", None] = None) -> None:
global python_grammar
python_symbols: _python_symbols
pattern_symbols: _pattern_symbols
def initialize(cache_dir: Union[str, "os.PathLike[str]", None] = None) -> None:
global python_grammar
- global python_grammar_no_print_statement
- global python_grammar_no_print_statement_no_exec_statement
- global python_grammar_no_print_statement_no_exec_statement_async_keywords
+ global python_grammar_async_keywords
+ global python_grammar_soft_keywords
global python_symbols
global pattern_grammar
global pattern_symbols
global python_symbols
global pattern_grammar
global pattern_symbols
os.path.dirname(__file__), "PatternGrammar.txt"
)
os.path.dirname(__file__), "PatternGrammar.txt"
)
python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE, cache_dir)
python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE, cache_dir)
+ assert "print" not in python_grammar.keywords
+ assert "exec" not in python_grammar.keywords
- python_symbols = _python_symbols(python_grammar)
+ soft_keywords = python_grammar.soft_keywords.copy()
+ python_grammar.soft_keywords.clear()
- # Python 2 + from __future__ import print_function
- python_grammar_no_print_statement = python_grammar.copy()
- del python_grammar_no_print_statement.keywords["print"]
+ python_symbols = _python_symbols(python_grammar)
- python_grammar_no_print_statement_no_exec_statement = python_grammar.copy()
- del python_grammar_no_print_statement_no_exec_statement.keywords["print"]
- del python_grammar_no_print_statement_no_exec_statement.keywords["exec"]
+ python_grammar.version = (3, 0)
- python_grammar_no_print_statement_no_exec_statement_async_keywords = (
- python_grammar_no_print_statement_no_exec_statement.copy()
- )
- python_grammar_no_print_statement_no_exec_statement_async_keywords.async_keywords = (
- True
- )
+ python_grammar_async_keywords = python_grammar.copy()
+ python_grammar_async_keywords.async_keywords = True
+ python_grammar_async_keywords.version = (3, 7)
+
+ # Python 3.10+
+ python_grammar_soft_keywords = python_grammar_async_keywords.copy()
+ python_grammar_soft_keywords.soft_keywords = soft_keywords
+ python_grammar_soft_keywords.version = (3, 10)
pattern_grammar = driver.load_packaged_grammar(
"blib2to3", _PATTERN_GRAMMAR_FILE, cache_dir
pattern_grammar = driver.load_packaged_grammar(
"blib2to3", _PATTERN_GRAMMAR_FILE, cache_dir