summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3/pygram.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2017-12-22 20:18:33 (GMT)
committerGitHub <noreply@github.com>2017-12-22 20:18:33 (GMT)
commit8a5877165e993afb2633cd48da5222326d3f6e0e (patch)
tree7b526a3ae7ea485ec2f023c03a07a93cc6253363 /Lib/lib2to3/pygram.py
parent62ed6be8da5fd1142f838582ecdb338af539e85b (diff)
downloadcpython-8a5877165e993afb2633cd48da5222326d3f6e0e.zip
cpython-8a5877165e993afb2633cd48da5222326d3f6e0e.tar.gz
cpython-8a5877165e993afb2633cd48da5222326d3f6e0e.tar.bz2
bpo-24960: use pkgutil.get_data in lib2to3 to read pickled grammar files (#4977)
This is more complicated than it should be because we need to preserve the useful mtime-based regeneration feature that lib2to3.pgen2.driver.load_grammar has. We only look for the pickled grammar file with pkgutil.get_data and only if the source file does not exist.
Diffstat (limited to 'Lib/lib2to3/pygram.py')
-rw-r--r--Lib/lib2to3/pygram.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/lib2to3/pygram.py b/Lib/lib2to3/pygram.py
index 01fa108..919624e 100644
--- a/Lib/lib2to3/pygram.py
+++ b/Lib/lib2to3/pygram.py
@@ -29,12 +29,12 @@ class Symbols(object):
setattr(self, name, symbol)
-python_grammar = driver.load_grammar(_GRAMMAR_FILE)
+python_grammar = driver.load_packaged_grammar("lib2to3", _GRAMMAR_FILE)
python_symbols = Symbols(python_grammar)
python_grammar_no_print_statement = python_grammar.copy()
del python_grammar_no_print_statement.keywords["print"]
-pattern_grammar = driver.load_grammar(_PATTERN_GRAMMAR_FILE)
+pattern_grammar = driver.load_packaged_grammar("lib2to3", _PATTERN_GRAMMAR_FILE)
pattern_symbols = Symbols(pattern_grammar)