Skip to content

Commit 417f76a

Browse files
miss-islingtonbenjaminp
authored andcommitted
make PatternCompiler use the packaged grammar if possible (more bpo-24960) (GH-5034) (#5037)
(cherry picked from commit e5f7dcc)
1 parent c60eca0 commit 417f76a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

Lib/lib2to3/patcomp.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@
2121
from . import pytree
2222
from . import pygram
2323

24-
# The pattern grammar file
25-
_PATTERN_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__),
26-
"PatternGrammar.txt")
27-
2824

2925
class PatternSyntaxError(Exception):
3026
pass
@@ -42,13 +38,17 @@ def tokenize_wrapper(input):
4238

4339
class PatternCompiler(object):
4440

45-
def __init__(self, grammar_file=_PATTERN_GRAMMAR_FILE):
41+
def __init__(self, grammar_file=None):
4642
"""Initializer.
4743
4844
Takes an optional alternative filename for the pattern grammar.
4945
"""
50-
self.grammar = driver.load_grammar(grammar_file)
51-
self.syms = pygram.Symbols(self.grammar)
46+
if grammar_file is None:
47+
self.grammar = pygram.pattern_grammar
48+
self.syms = pygram.pattern_symbols
49+
else:
50+
self.grammar = driver.load_grammar(grammar_file)
51+
self.syms = pygram.Symbols(self.grammar)
5252
self.pygrammar = pygram.python_grammar
5353
self.pysyms = pygram.python_symbols
5454
self.driver = driver.Driver(self.grammar, convert=pattern_convert)

0 commit comments

Comments
 (0)