diff --git a/lark/__init__.py b/lark/__init__.py index d91a460..92f1c78 100644 --- a/lark/__init__.py +++ b/lark/__init__.py @@ -3,4 +3,4 @@ from .common import ParseError, GrammarError from .lark import Lark from .utils import inline_args -__version__ = "0.2.8" +__version__ = "0.2.9" diff --git a/lark/parsers/earley.py b/lark/parsers/earley.py index b808ff1..3c02332 100644 --- a/lark/parsers/earley.py +++ b/lark/parsers/earley.py @@ -224,7 +224,8 @@ class ApplyCallbacks(Transformer_NoRecurse): return Tree(rule.origin, children) def _compare_rules(rule1, rule2): - assert rule1.origin == rule2.origin + if rule1.origin != rule2.origin: + return 0 c = compare( len(rule1.expansion), len(rule2.expansion)) if rule1.origin.startswith('__'): # XXX hack! We need to set priority in parser, not here c = -c