X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/6316e293ac30a2837ec20eba289fd28a2a18cf89..36d3c516d3c09fc5f05c420900dd6b854e3c8bbd:/blib2to3/pygram.py?ds=sidebyside diff --git a/blib2to3/pygram.py b/blib2to3/pygram.py index bf55ab4..725fb69 100644 --- a/blib2to3/pygram.py +++ b/blib2to3/pygram.py @@ -29,19 +29,29 @@ class Symbols(object): setattr(self, name, symbol) -python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE) - -python_symbols = Symbols(python_grammar) - -python_grammar_no_print_statement = python_grammar.copy() -del python_grammar_no_print_statement.keywords["print"] - -python_grammar_no_exec_statement = python_grammar.copy() -del python_grammar_no_exec_statement.keywords["exec"] - -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) +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_symbols + global pattern_grammar + global pattern_symbols + + # Python 2 + python_grammar = driver.load_packaged_grammar("blib2to3", _GRAMMAR_FILE, + cache_dir) + + python_symbols = Symbols(python_grammar) + + # Python 2 + from __future__ import print_function + python_grammar_no_print_statement = python_grammar.copy() + del python_grammar_no_print_statement.keywords["print"] + + # Python 3 + 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) + pattern_symbols = Symbols(pattern_grammar)