From dd3cf90b2d70129bd10bff69da486b3e6eae2e76 Mon Sep 17 00:00:00 2001 From: MegaIng1 Date: Sat, 21 Nov 2020 00:14:15 +0100 Subject: [PATCH] Moved `lark.lark` into the standard library. --- examples/lark_grammar.py | 10 +++++++--- {examples => lark/grammars}/lark.lark | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) rename {examples => lark/grammars}/lark.lark (96%) diff --git a/examples/lark_grammar.py b/examples/lark_grammar.py index f2185ee..6730db9 100644 --- a/examples/lark_grammar.py +++ b/examples/lark_grammar.py @@ -7,13 +7,13 @@ A reference implementation of the Lark grammar (using LALR(1)) import lark from pathlib import Path -parser = lark.Lark.open('lark.lark', rel_to=__file__, parser="lalr") - examples_path = Path(__file__).parent lark_path = Path(lark.__file__).parent +parser = lark.Lark.open(lark_path / 'grammars/lark.lark', rel_to=__file__, parser="lalr") + + grammar_files = [ - examples_path / 'lark.lark', examples_path / 'advanced/python2.lark', examples_path / 'advanced/python3.lark', examples_path / 'relative-imports/multiples.lark', @@ -21,7 +21,11 @@ grammar_files = [ examples_path / 'relative-imports/multiple3.lark', examples_path / 'tests/no_newline_at_end.lark', examples_path / 'tests/negative_priority.lark', + examples_path / 'standalone/json.lark', lark_path / 'grammars/common.lark', + lark_path / 'grammars/lark.lark', + lark_path / 'grammars/unicode.lark', + lark_path / 'grammars/python.lark', ] def test(): diff --git a/examples/lark.lark b/lark/grammars/lark.lark similarity index 96% rename from examples/lark.lark rename to lark/grammars/lark.lark index 474b819..c16db47 100644 --- a/examples/lark.lark +++ b/lark/grammars/lark.lark @@ -45,7 +45,7 @@ OP: /[+*]|[?](?![a-z])/ RULE: /!?[_?]?[a-z][_a-z0-9]*/ TOKEN: /_?[A-Z][_A-Z0-9]*/ STRING: _STRING "i"? -REGEXP: /\/(?!\/)(\\\/|\\\\|[^\/\n])*?\/[imslux]*/ +REGEXP: /\/(?!\/)(\\\/|\\\\|[^\/])*?\/[imslux]*/ _NL: /(\r?\n)+\s*/ %import common.ESCAPED_STRING -> _STRING