X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c891c65b6b2de7c257244cc409276b485130c275..b73ec93fa71ae8980d0743555a9f49f46528e6e1:/blib2to3/pygram.py?ds=inline diff --git a/blib2to3/pygram.py b/blib2to3/pygram.py index 725fb69..7614af7 100644 --- a/blib2to3/pygram.py +++ b/blib2to3/pygram.py @@ -9,16 +9,13 @@ import os # Local imports from .pgen2 import token from .pgen2 import driver -from . import pytree # The grammar file _GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), "Grammar.txt") -_PATTERN_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), - "PatternGrammar.txt") +_PATTERN_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), "PatternGrammar.txt") class Symbols(object): - def __init__(self, grammar): """Initializer. @@ -33,13 +30,13 @@ def initialize(cache_dir=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_symbols global pattern_grammar global pattern_symbols # Python 2 - python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE, - cache_dir) + python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE, cache_dir) python_symbols = Symbols(python_grammar) @@ -47,11 +44,20 @@ def initialize(cache_dir=None): python_grammar_no_print_statement = python_grammar.copy() del python_grammar_no_print_statement.keywords["print"] - # Python 3 + # Python 3.0-3.6 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"] - pattern_grammar = driver.load_packaged_grammar("blib2to3", _PATTERN_GRAMMAR_FILE, - cache_dir) + # Python 3.7+ + 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 + ) + + pattern_grammar = driver.load_packaged_grammar( + "blib2to3", _PATTERN_GRAMMAR_FILE, cache_dir + ) pattern_symbols = Symbols(pattern_grammar)