|
- #
- # This example shows how to use Lark's templates to achieve cleaner grammars
- #
-
- from lark import Lark
-
- grammar = r"""
- start: list | dict
-
- list: "[" _seperated{atom, ","} "]"
- dict: "{" _seperated{key_value, ","} "}"
- key_value: atom ":" atom
-
- _seperated{x, sep}: x (sep x)* // Define a sequence of 'x sep x sep x ...'
-
- atom: NUMBER | ESCAPED_STRING
-
- %import common (NUMBER, ESCAPED_STRING, WS)
- %ignore WS
- """
-
-
- parser = Lark(grammar)
-
- print(parser.parse('[1, "a", 2]'))
- print(parser.parse('{"a": 2, "b": 6}'))
|