summaryrefslogtreecommitdiff
path: root/grammars/json.gbnf
diff options
context:
space:
mode:
authorOlivier Chafik <ochafik@users.noreply.github.com>2024-06-11 01:00:30 +0100
committerGitHub <noreply@github.com>2024-06-11 01:00:30 +0100
commit396b18dfec2c56846e80362db70af09b9e1d70ba (patch)
tree2081089863e80e93a906424c8fa15ac4e3fa091f /grammars/json.gbnf
parent864a99e7a01d9422d2f55618dbe62c8099a2175c (diff)
`json`: document schema conversion in GBNF readme, align manual grammar examples & converters (#7841)
* json: fix char pattern in grammar converters * json: prevent number precision & whitespace runaways in example grammars * json: add doc to grammar readme
Diffstat (limited to 'grammars/json.gbnf')
-rw-r--r--grammars/json.gbnf6
1 files changed, 3 insertions, 3 deletions
diff --git a/grammars/json.gbnf b/grammars/json.gbnf
index a8a80752..064a53f8 100644
--- a/grammars/json.gbnf
+++ b/grammars/json.gbnf
@@ -16,10 +16,10 @@ array ::=
string ::=
"\"" (
[^"\\\x7F\x00-\x1F] |
- "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
+ "\\" (["\\bfnrt] | "u" [0-9a-fA-F]{4}) # escapes
)* "\"" ws
-number ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? ws
+number ::= ("-"? ([0-9] | [1-9] [0-9]{0,15})) ("." [0-9]+)? ([eE] [-+]? [0-9] [1-9]{0,15})? ws
# Optional space: by convention, applied in this grammar after literal chars when allowed
-ws ::= ([ \t\n] ws)?
+ws ::= [ \t\n]{0,20}