diff --git a/lark/lark.py b/lark/lark.py index 6b065f8..d270456 100644 --- a/lark/lark.py +++ b/lark/lark.py @@ -112,9 +112,6 @@ class Lark: self.source = grammar.name except AttributeError: self.source = '' - 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 try: diff --git a/lark/load_grammar.py b/lark/load_grammar.py index 2f48cb1..76c9b10 100644 --- a/lark/load_grammar.py +++ b/lark/load_grammar.py @@ -528,7 +528,7 @@ def import_grammar(grammar_path, base_paths=[]): def import_from_grammar_into_namespace(grammar, namespace, aliases): imported_terms = dict(grammar.term_defs) imported_rules = {n:(n,t,o) for n,t,o in grammar.rule_defs} - + term_defs = [] rule_defs = [] diff --git a/lark/parse_tree_builder.py b/lark/parse_tree_builder.py index a6e28e5..d53b75d 100644 --- a/lark/parse_tree_builder.py +++ b/lark/parse_tree_builder.py @@ -1,7 +1,5 @@ from .exceptions import GrammarError -from .utils import suppress from .lexer import Token -from .grammar import Rule from .tree import Tree from .visitors import InlineTransformer # XXX Deprecated diff --git a/lark/parsers/resolve_ambig.py b/lark/parsers/resolve_ambig.py index 2470eb9..da81594 100644 --- a/lark/parsers/resolve_ambig.py +++ b/lark/parsers/resolve_ambig.py @@ -36,7 +36,7 @@ def _compare_drv(tree1, tree2): except AttributeError: rule2 = None - if None == rule1 == rule2: + if rule1 is None and rule2 is None: return compare(tree1, tree2) elif rule1 is None: return -1 diff --git a/lark/reconstruct.py b/lark/reconstruct.py index a21f155..1c769e8 100644 --- a/lark/reconstruct.py +++ b/lark/reconstruct.py @@ -100,10 +100,8 @@ class Reconstructor: for origin, rule_aliases in aliases.items(): for alias in rule_aliases: 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): if isinstance(token, Tree): @@ -127,4 +125,3 @@ class Reconstructor: def reconstruct(self, tree): return ''.join(self._reconstruct(tree)) - diff --git a/lark/tools/standalone.py b/lark/tools/standalone.py index 1f664b6..89ca4e0 100644 --- a/lark/tools/standalone.py +++ b/lark/tools/standalone.py @@ -45,9 +45,7 @@ from collections import defaultdict 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__) _larkdir = path.join(_dir, path.pardir)