diff options
Diffstat (limited to 'llama.cpp/grammars/json.gbnf')
| -rw-r--r-- | llama.cpp/grammars/json.gbnf | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/llama.cpp/grammars/json.gbnf b/llama.cpp/grammars/json.gbnf new file mode 100644 index 0000000..b6448c8 --- /dev/null +++ b/llama.cpp/grammars/json.gbnf @@ -0,0 +1,25 @@ +root ::= object +value ::= object | array | string | number | ("true" | "false" | "null") ws + +object ::= + "{" ws ( + string ":" ws value + ("," ws string ":" ws value)* + )? "}" ws + +array ::= + "[" ws ( + value + ("," ws value)* + )? "]" ws + +string ::= + "\"" ( + [^"\\\x7F\x00-\x1F] | + "\\" (["\\bfnrt] | "u" [0-9a-fA-F]{4}) # escapes + )* "\"" 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 ::= | " " | "\n" [ \t]{0,20} |
