|
|
@@ -741,15 +741,6 @@ def _make_parser_test(LEXER, PARSER): |
|
|
|
""") |
|
|
|
x = g.parse(r'\a') |
|
|
|
|
|
|
|
def test_special_chars(self): |
|
|
|
g = _Lark(r"""start: "\n" |
|
|
|
""") |
|
|
|
x = g.parse('\n') |
|
|
|
|
|
|
|
g = _Lark(r"""start: /\n/ |
|
|
|
""") |
|
|
|
x = g.parse('\n') |
|
|
|
|
|
|
|
|
|
|
|
def test_backslash2(self): |
|
|
|
g = _Lark(r"""start: "\"" "-" |
|
|
@@ -760,6 +751,18 @@ def _make_parser_test(LEXER, PARSER): |
|
|
|
""") |
|
|
|
x = g.parse('/-') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_special_chars(self): |
|
|
|
g = _Lark(r"""start: "\n" |
|
|
|
""") |
|
|
|
x = g.parse('\n') |
|
|
|
|
|
|
|
g = _Lark(r"""start: /\n/ |
|
|
|
""") |
|
|
|
x = g.parse('\n') |
|
|
|
|
|
|
|
|
|
|
|
# def test_token_recurse(self): |
|
|
|
# g = _Lark("""start: A |
|
|
|
# A: B |
|
|
@@ -1322,6 +1325,20 @@ def _make_parser_test(LEXER, PARSER): |
|
|
|
self.assertEqual(p.parse("cbbbb").children, [None, 'c', 'b', 'b', 'b', 'b', None, None]) |
|
|
|
|
|
|
|
|
|
|
|
def test_escaped_string(self): |
|
|
|
"Tests common.ESCAPED_STRING" |
|
|
|
grammar = r""" |
|
|
|
start: ESCAPED_STRING+ |
|
|
|
|
|
|
|
%import common (WS_INLINE, ESCAPED_STRING) |
|
|
|
%ignore WS_INLINE |
|
|
|
""" |
|
|
|
|
|
|
|
parser = _Lark(grammar) |
|
|
|
parser.parse(r'"\\" "b" "c"') |
|
|
|
|
|
|
|
parser.parse(r'"That" "And a \"b"') |
|
|
|
|
|
|
|
|
|
|
|
_NAME = "Test" + PARSER.capitalize() + LEXER.capitalize() |
|
|
|
_TestParser.__name__ = _NAME |
|
|
|