Pārlūkot izejas kodu

Oops!! Important bugfix to last commit

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.5.1
Erez Shinan pirms 7 gadiem
vecāks
revīzija
950f8817ed
3 mainītis faili ar 18 papildinājumiem un 3 dzēšanām
  1. +1
    -1
      lark/__init__.py
  2. +1
    -1
      lark/load_grammar.py
  3. +16
    -1
      tests/test_parser.py

+ 1
- 1
lark/__init__.py Parādīt failu

@@ -3,4 +3,4 @@ from .common import ParseError, GrammarError
from .lark import Lark
from .utils import inline_args

__version__ = "0.3.2"
__version__ = "0.3.3"

+ 1
- 1
lark/load_grammar.py Parādīt failu

@@ -500,7 +500,7 @@ def resolve_token_references(token_defs):
# TODO Cycles detection
# TODO Solve with transitive closure (maybe)

token_dict = dict(token_defs)
token_dict = {k:t for k, (t,_p) in token_defs}
assert len(token_dict) == len(token_defs), "Same name defined twice?"

while True:


+ 16
- 1
tests/test_parser.py Parādīt failu

@@ -690,12 +690,27 @@ def _make_parser_test(LEXER, PARSER):
| "cd"

"""
l = Lark(grammar, parser='earley', ambiguity='explicit', lexer=None)
# l = Lark(grammar, parser='earley', ambiguity='explicit', lexer=None)
l = _Lark(grammar, ambiguity='explicit')
x = l.parse('cde')
assert x.data == '_ambig'
assert len(x.children) == 2


def test_import(self):
grammar = """
start: NUMBER WORD

%import common.NUMBER
%import common.WORD
%import common.WS
%ignore WS

"""
l = _Lark(grammar)
x = l.parse('12 elephants')
self.assertEqual(x.children, ['12', 'elephants'])

@unittest.skipIf(PARSER != 'earley', "Currently only Earley supports priority in rules")
def test_earley_prioritization_sum(self):
"Tests effect of priority on result"


Notiek ielāde…
Atcelt
Saglabāt