?value: dict | list | string | SIGNED_NUMBER -> number | "true" -> true | "false" -> false | "null" -> null list: "[" [value ("," value)*] "]" dict: "{" [pair ("," pair)*] "}" pair: string ":" value string: ESCAPED_STRING %import common.ESCAPED_STRING %import common.SIGNED_NUMBER %import common.WS %ignore WS