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
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)