Files
llama.cpp/grammars/json.gbnf
T

26 lines
601 B
Plaintext
Raw Normal View History

root ::= object
value ::= object | array | string | number | ("true" | "false" | "null") ws
2023-07-23 23:58:10 -04:00
object ::=
"{" ws (
string ":" ws value
("," ws string ":" ws value)*
)? "}" ws
2023-07-23 23:58:10 -04:00
array ::=
"[" ws (
value
("," ws value)*
)? "]" ws
2023-07-23 23:58:10 -04:00
string ::=
2023-07-23 23:58:10 -04:00
"\"" (
[^"\\\x7F\x00-\x1F] |
"\\" (["\\bfnrt] | "u" [0-9a-fA-F]{4}) # escapes
2023-07-23 23:58:10 -04:00
)* "\"" ws
number ::= ("-"? ([0-9] | [1-9] [0-9]{0,15})) ("." [0-9]+)? ([eE] [-+]? [0-9] [1-9]{0,15})? ws
2023-07-23 23:58:10 -04:00
# Optional space: by convention, applied in this grammar after literal chars when allowed
ws ::= | " " | "\n" [ \t]{0,20}