@@ -112,9 +112,6 @@ class Lark: | |||||
self.source = grammar.name | self.source = grammar.name | ||||
except AttributeError: | except AttributeError: | ||||
self.source = '<string>' | self.source = '<string>' | ||||
cache_file = "larkcache_%s" % str(hash(grammar)%(2**32)) | |||||
else: | |||||
cache_file = "larkcache_%s" % os.path.basename(self.source) | |||||
# Drain file-like objects to get their contents | # Drain file-like objects to get their contents | ||||
try: | try: | ||||
@@ -528,7 +528,7 @@ def import_grammar(grammar_path, base_paths=[]): | |||||
def import_from_grammar_into_namespace(grammar, namespace, aliases): | def import_from_grammar_into_namespace(grammar, namespace, aliases): | ||||
imported_terms = dict(grammar.term_defs) | imported_terms = dict(grammar.term_defs) | ||||
imported_rules = {n:(n,t,o) for n,t,o in grammar.rule_defs} | imported_rules = {n:(n,t,o) for n,t,o in grammar.rule_defs} | ||||
term_defs = [] | term_defs = [] | ||||
rule_defs = [] | rule_defs = [] | ||||
@@ -1,7 +1,5 @@ | |||||
from .exceptions import GrammarError | from .exceptions import GrammarError | ||||
from .utils import suppress | |||||
from .lexer import Token | from .lexer import Token | ||||
from .grammar import Rule | |||||
from .tree import Tree | from .tree import Tree | ||||
from .visitors import InlineTransformer # XXX Deprecated | from .visitors import InlineTransformer # XXX Deprecated | ||||
@@ -36,7 +36,7 @@ def _compare_drv(tree1, tree2): | |||||
except AttributeError: | except AttributeError: | ||||
rule2 = None | rule2 = None | ||||
if None == rule1 == rule2: | |||||
if rule1 is None and rule2 is None: | |||||
return compare(tree1, tree2) | return compare(tree1, tree2) | ||||
elif rule1 is None: | elif rule1 is None: | ||||
return -1 | return -1 | ||||
@@ -100,10 +100,8 @@ class Reconstructor: | |||||
for origin, rule_aliases in aliases.items(): | for origin, rule_aliases in aliases.items(): | ||||
for alias in rule_aliases: | for alias in rule_aliases: | ||||
yield Rule(origin, [Terminal(alias)], MakeMatchTree(origin.name, [NonTerminal(alias)])) | yield Rule(origin, [Terminal(alias)], MakeMatchTree(origin.name, [NonTerminal(alias)])) | ||||
yield Rule(origin, [Terminal(origin.name)], MakeMatchTree(origin.name, [origin])) | |||||
yield Rule(origin, [Terminal(origin.name)], MakeMatchTree(origin.name, [origin])) | |||||
def _match(self, term, token): | def _match(self, term, token): | ||||
if isinstance(token, Tree): | if isinstance(token, Tree): | ||||
@@ -127,4 +125,3 @@ class Reconstructor: | |||||
def reconstruct(self, tree): | def reconstruct(self, tree): | ||||
return ''.join(self._reconstruct(tree)) | return ''.join(self._reconstruct(tree)) | ||||
@@ -45,9 +45,7 @@ from collections import defaultdict | |||||
import lark | import lark | ||||
from lark import Lark | from lark import Lark | ||||
from lark.parsers.lalr_analysis import Shift, Reduce | |||||
from ..grammar import Rule | |||||
from lark.parsers.lalr_analysis import Reduce | |||||
_dir = path.dirname(__file__) | _dir = path.dirname(__file__) | ||||
_larkdir = path.join(_dir, path.pardir) | _larkdir = path.join(_dir, path.pardir) | ||||