The states in the grammar are:
| str_frag | str_frag -> .chars=/[^\\"]+/ | .unicode_char=/\\u ([0-9A-Fa-f]{4})/ | .backslash_char=/\\[ntbr"\/\\]/;
|
![]() | |
| string | string -> '"' str_frag* '"'; |
![]() | |
| value | value -> string | number | "true" | "false" | "null" | object | array; |
![]() | |
| object | object -> "{" (string ":" value) *(,) "}";
|
![]() | |
| array | array -> "[" value *(,) "]"; |
![]() |




The grammar's lexer has 2 IntFAs, which follow: