Browse Source

Added reconstructor tests for tokens to keep ("!") and for expanded rules.

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.10.0
julienmalard 4 years ago
parent
commit
230aad94a7
1 changed files with 30 additions and 0 deletions
  1. +30
    -0
      tests/test_reconstructor.py

+ 30
- 0
tests/test_reconstructor.py View File

@@ -69,6 +69,36 @@ class TestReconstructor(TestCase):

self.assert_reconstruct(g, code)

def test_keep_tokens(self):
g = """
start: (NL | stmt)*
stmt: var op var
!op: ("+" | "-" | "*" | "/")
var: WORD
NL: /(\\r?\\n)+\s*/
""" + common

code = """
a+b
"""

self.assert_reconstruct(g, code)

@unittest.skip('Not working yet')
def test_expand_rule(self):
g = """
?start: (NL | mult_stmt)*
?mult_stmt: sum_stmt ["*" sum_stmt]
?sum_stmt: var ["+" var]
var: WORD
NL: /(\\r?\\n)+\s*/
""" + common

code = ['a', 'a*b', 'a+b', 'a*b+c', 'a+b*c', 'a+b*c+d']

for c in code:
self.assert_reconstruct(g, c)

def test_json_example(self):
test_json = '''
{


Loading…
Cancel
Save