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 datetime_separator hex_binary base64_binary
References: SP TAB eol

ws

ws_char comment
Used by: begin_array end_array value_separator begin_list end_list begin_map end_map separator text Mark
References: ws_char comment

null

null
Used by: value
References:

boolean

true false
Used by: value
References:

number

+ - nan inf integer float decimal
Used by: value
References: nan inf integer float decimal

nan

nan
Used by: number
References:

inf

inf
Used by: number
References:

integer

int
Used by: number
References: int

float

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

decimal

float n N
Used by: number
References: float

exp

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

int

0 [1-9] digit
Used by: integer float
References: digit

digit

[0-9]
Used by: float exp int year day hour minute second millisecond continue_ident
References:

datetime

t' datetime_content '
Used by: value
References: datetime_content

datetime_content

date_only time_only date_and_time
Used by: datetime
References: date_only time_only date_and_time

date_only

year - month - day
Used by: datetime_content date_and_time
References: year month day

time_only

time timezone
Used by: datetime_content
References: time timezone

date_and_time

date_only datetime_separator time timezone
Used by: datetime_content
References: date_only datetime_separator time timezone

datetime_separator

T t ws_char
Used by: date_and_time
References: ws_char

year

digit digit digit digit
Used by: date_only
References: digit

month

0 [1-9] 1 [0-2]
Used by: date_only
References:

day

0 [1-9] [12] digit 3 [01]
Used by: date_only
References: digit

time

hour : minute : second . millisecond
Used by: time_only date_and_time
References: hour minute second millisecond

hour

[01] digit 2 [0-3]
Used by: time timezone
References: digit

minute

[0-5] digit
Used by: time timezone
References: digit

second

[0-5] digit
Used by: time
References: digit

millisecond

digit digit digit
Used by: time
References: digit

timezone

Z z + - hour : minute
Used by: time_only date_and_time
References: hour minute

binary

hex_binary base64_binary
Used by: value
References: hex_binary base64_binary

hex_binary

b' \\x hex_char ws_char '
Used by: binary
References: hex_char ws_char

base64_binary

b' \\64 base64_char ws_char = = '
Used by: binary
References: base64_char ws_char

hex_char

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

base64_char

[0-9a-zA-Z] + /
Used by: base64_binary
References:

string

" char ' "
Used by: key text value
References: char

char

unescaped escaped
Used by: string _symbol
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:

symbol

_symbol identifier
Used by: key name value
References: _symbol identifier

_symbol

' char " '
Used by: symbol
References: char

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 list properties
References: ws

list

begin_list value value_separator end_list
Used by: value
References: begin_list value value_separator end_list

begin_list

ws ( ws
Used by: list
References: ws

end_list

ws ) ws
Used by: list
References: ws

map

begin_map properties end_map
Used by: value
References: begin_map properties end_map

begin_map

ws { ws
Used by: map
References: ws

end_map

ws } ws
Used by: map
References: ws

properties

property value_separator
Used by: map element
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 symbol
Used by: property
References: string symbol

identifier

begin_ident continue_ident
Used by: symbol
References: begin_ident continue_ident

begin_ident

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

continue_ident

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

element

begin_element name properties contents end_elment
Used by: value
References: begin_element name properties contents end_elment

name

symbol
Used by: element
References: symbol

contents

value ; LF CRLF
Used by: element Mark
References: value LF CRLF

text

string ws
Used by:
References: string ws

value

null boolean number string symbol binary datetime list array map element
Used by: array list property contents
References: null boolean number string symbol binary datetime list array map element

Mark

ws contents ws
Used by:
References: ws contents