]>
git.madduck.net Git - etc/vim.git/blobdiff - 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:
setattr(self, name, symbol)
setattr(self, name, symbol)
-python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE)
+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_symbols = Symbols(python_grammar)
+ # Python 2
+ python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE,
+ cache_dir)
-python_grammar_no_print_statement = python_grammar.copy()
-del python_grammar_no_print_statement.keywords["print"]
+ python_symbols = Symbols(python_grammar)
-python_grammar_no_exec_statement = python_grammar.copy()
-del python_grammar_no_exec_statement.keywords["exec"]
+ # Python 2 + from __future__ import print_function
+ python_grammar_no_print_statement = python_grammar.copy()
+ del python_grammar_no_print_statement.keywords["print"]
-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 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)
-pattern_symbols = Symbols(pattern_grammar)
+ # 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)