diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2017-12-29 02:05:07 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2017-12-29 02:05:07 (GMT) |
commit | 417f76a20e93044e422fb328a2d8e200fc6df295 (patch) | |
tree | 4872a4d52302863496ab4113bbd506b4d2af7512 | |
parent | c60eca06adda4900e6b469d989e6082cda3a3004 (diff) | |
download | cpython-417f76a20e93044e422fb328a2d8e200fc6df295.zip cpython-417f76a20e93044e422fb328a2d8e200fc6df295.tar.gz cpython-417f76a20e93044e422fb328a2d8e200fc6df295.tar.bz2 |
make PatternCompiler use the packaged grammar if possible (more bpo-24960) (GH-5034) (#5037)
(cherry picked from commit e5f7dccefaa8d97ab53b3051acbb4a4d49379dc4)
-rw-r--r-- | Lib/lib2to3/patcomp.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Lib/lib2to3/patcomp.py b/Lib/lib2to3/patcomp.py index d31a9da..00679b2 100644 --- a/Lib/lib2to3/patcomp.py +++ b/Lib/lib2to3/patcomp.py @@ -21,10 +21,6 @@ from .pgen2 import driver, literals, token, tokenize, parse, grammar from . import pytree from . import pygram -# The pattern grammar file -_PATTERN_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), - "PatternGrammar.txt") - class PatternSyntaxError(Exception): pass @@ -42,13 +38,17 @@ def tokenize_wrapper(input): class PatternCompiler(object): - def __init__(self, grammar_file=_PATTERN_GRAMMAR_FILE): + def __init__(self, grammar_file=None): """Initializer. Takes an optional alternative filename for the pattern grammar. """ - self.grammar = driver.load_grammar(grammar_file) - self.syms = pygram.Symbols(self.grammar) + if grammar_file is None: + self.grammar = pygram.pattern_grammar + self.syms = pygram.pattern_symbols + else: + self.grammar = driver.load_grammar(grammar_file) + self.syms = pygram.Symbols(self.grammar) self.pygrammar = pygram.python_grammar self.pysyms = pygram.python_symbols self.driver = driver.Driver(self.grammar, convert=pattern_convert) |