Mark Grammar

eol

LF CRLF CR
Used by: sl_comment ws_char
References: LF CRLF CR

eof

EOF
Used by: sl_comment
References: EOF

comment

sl_comment ml_comment
Used by: ws
References: sl_comment ml_comment

sl_comment

// char_no_eol eol eof
Used by: comment
References: char_no_eol eol eof

ml_comment

/* ml_comment char_no_star * char_no_slash */
Used by: comment ml_comment
References: ml_comment char_no_star char_no_slash

char_no_eol

[#x00-#x09] [#x0B-#x0C] [#x0E-#x10FFFF]
Used by: sl_comment
References:

char_no_star

[#x00-#x29] [#x2B-#x10FFFF]
Used by: ml_comment
References:

char_no_slash

[#x20-#x2E] [#x30-#x10FFFF]
Used by: ml_comment
References:

ws_char

SP TAB eol
Used by: ws base64_binary ascii85_binary
References: SP TAB eol

ws

ws_char comment
Used by: begin_array end_array value_separator begin_object end_object separator type_name contents text Mark
References: ws_char comment

null

null
Used by: value
References:

boolean

true false
Used by: value
References:

number

+ - nan inf dec
Used by: value
References: nan inf dec

nan

NaN
Used by: number
References:

inf

Infinity
Used by: number
References:

dec

int . digit . digit exp
Used by: number
References: int digit exp

exp

e E + - digit
Used by: dec
References: digit

int

0 [1-9] digit
Used by: dec
References: digit

digit

[0-9]
Used by: dec exp int continue_identifier
References:

binary

base64_binary ascii85_binary
Used by: contents value
References: base64_binary ascii85_binary

base64_binary

[# [0-9a-zA-Z] + / ws_char = = ]
Used by: binary
References: ws_char

ascii85_binary

[#~ [#x21-u] z ws_char ~]
Used by: binary
References: ws_char

string

s_string d_string t_string identifier
Used by: key text value
References: s_string d_string t_string identifier

d_string

" char ' "
Used by: string
References: char

s_string

' char " '
Used by: string
References: char

t_string

''' triple_single ''' """ triple_double """
Used by: string
References: triple_single triple_double

tchar

[#x00-#x21] [#x23-#x26] [#x28-#x10FFFF]
Used by: triple_single triple_double
References:

triple_single

tchar " ' tchar '' tchar ' '
Used by: t_string
References: tchar

triple_double

tchar ' " tchar "" tchar " "
Used by: t_string
References: tchar

char

unescaped escaped
Used by: d_string s_string
References: unescaped escaped

unescaped

[#x00-#x21] [#x23-#x26] [#x28-#x5B] [#x5D-#x10FFFF]
Used by: char
References:

escaped

\ ' " \ / b f n r t unicode
Used by: char
References: unicode

unicode

u hex hex hex hex
Used by: escaped
References: hex

hex

[0-9a-fA-F]
Used by: unicode
References:

mark_pragma

general_pragma paired_pragma
Used by: contents value
References: general_pragma paired_pragma

general_pragma

(? char_no_qmark ?? ?)
Used by: mark_pragma
References: char_no_qmark

paired_pragma

( char_no_bracket paired_pragma )
Used by: mark_pragma paired_pragma
References: char_no_bracket paired_pragma

char_no_qmark

[#x00-#x3E] [#x40-#x10FFFF]
Used by: general_pragma
References:

char_no_bracket

[#x00-#x27] [#x2A-#x10FFFF]
Used by: paired_pragma
References:

array

begin_array value value_separator end_array
Used by: value
References: begin_array value value_separator end_array

begin_array

ws [ ws
Used by: array
References: ws

end_array

ws ] ws
Used by: array
References: ws

value_separator

ws , ws
Used by: array properties
References: ws

json_object

begin_object properties end_object
Used by: contents value
References: begin_object properties end_object

begin_object

ws { ws
Used by: json_object mark_object
References: ws

end_object

ws } ws
Used by: json_object mark_object
References: ws

properties

property value_separator
Used by: json_object mark_object
References: property value_separator

property

key separator value
Used by: properties
References: key separator value

separator

ws : ws
Used by: property
References: ws

key

string identifier
Used by: property type_name
References: string identifier

identifier

begin_identifier continue_identifier
Used by: string key
References: begin_identifier continue_identifier

begin_identifier

[a-zA-Z] _ $
Used by: identifier continue_identifier
References:

continue_identifier

begin_identifier digit - .
Used by: identifier
References: begin_identifier digit

mark_object

begin_object type_name properties contents end_object
Used by: contents value
References: begin_object type_name properties contents end_object

type_name

key ws
Used by: mark_object
References: key ws

contents

text binary json_object mark_object mark_pragma ws
Used by: mark_object
References: text binary json_object mark_object mark_pragma ws

text

string ws
Used by: contents
References: string ws

value

null boolean number string binary array json_object mark_object mark_pragma
Used by: array property Mark
References: null boolean number string binary array json_object mark_object mark_pragma

Mark

ws value ws
Used by:
References: ws value