blob: 1ebe7e9a3de475b0f8543c03098219bd75c7f364 [file] [log] [blame]
Grammar
0 $accept: value $end
1 value: object
2 | array
3 | value_string
4 | value_number
5 | literal_true
6 | literal_false
7 | literal_null
8 object: begin_object end_object
9 | begin_object object_value_list end_object
10 object_value_list: value_string name_separator value
11 | value_string name_separator value value_separator object_value_list
12 array: begin_array end_array
13 | begin_array array_value_list end_array
14 array_value_list: value
15 | value value_separator array_value_list
Terminals, with rules where they appear
$end (0) 0
error (256)
value_number (258) 4
value_string (259) 3 10 11
begin_object (260) 8 9
end_object (261) 8 9
begin_array (262) 12 13
end_array (263) 12 13
literal_true (264) 5
literal_false (265) 6
literal_null (266) 7
name_separator (267) 10 11
value_separator (268) 11 15
Nonterminals, with rules where they appear
$accept (14)
on left: 0
value (15)
on left: 1 2 3 4 5 6 7, on right: 0 10 11 14 15
object (16)
on left: 8 9, on right: 1
object_value_list (17)
on left: 10 11, on right: 9 11
array (18)
on left: 12 13, on right: 2
array_value_list (19)
on left: 14 15, on right: 13 15
State 0
0 $accept: . value $end
1 value: . object
2 | . array
3 | . value_string
4 | . value_number
5 | . literal_true
6 | . literal_false
7 | . literal_null
8 object: . begin_object end_object
9 | . begin_object object_value_list end_object
12 array: . begin_array end_array
13 | . begin_array array_value_list end_array
value_number shift, and go to state 1
value_string shift, and go to state 2
begin_object shift, and go to state 3
begin_array shift, and go to state 4
literal_true shift, and go to state 5
literal_false shift, and go to state 6
literal_null shift, and go to state 7
value go to state 8
object go to state 9
array go to state 10
State 1
4 value: value_number .
$default reduce using rule 4 (value)
State 2
3 value: value_string .
$default reduce using rule 3 (value)
State 3
8 object: begin_object . end_object
9 | begin_object . object_value_list end_object
10 object_value_list: . value_string name_separator value
11 | . value_string name_separator value value_separator object_value_list
value_string shift, and go to state 11
end_object shift, and go to state 12
object_value_list go to state 13
State 4
1 value: . object
2 | . array
3 | . value_string
4 | . value_number
5 | . literal_true
6 | . literal_false
7 | . literal_null
8 object: . begin_object end_object
9 | . begin_object object_value_list end_object
12 array: . begin_array end_array
12 | begin_array . end_array
13 | . begin_array array_value_list end_array
13 | begin_array . array_value_list end_array
14 array_value_list: . value
15 | . value value_separator array_value_list
value_number shift, and go to state 1
value_string shift, and go to state 2
begin_object shift, and go to state 3
begin_array shift, and go to state 4
end_array shift, and go to state 14
literal_true shift, and go to state 5
literal_false shift, and go to state 6
literal_null shift, and go to state 7
value go to state 15
object go to state 9
array go to state 10
array_value_list go to state 16
State 5
5 value: literal_true .
$default reduce using rule 5 (value)
State 6
6 value: literal_false .
$default reduce using rule 6 (value)
State 7
7 value: literal_null .
$default reduce using rule 7 (value)
State 8
0 $accept: value . $end
$end shift, and go to state 17
State 9
1 value: object .
$default reduce using rule 1 (value)
State 10
2 value: array .
$default reduce using rule 2 (value)
State 11
10 object_value_list: value_string . name_separator value
11 | value_string . name_separator value value_separator object_value_list
name_separator shift, and go to state 18
State 12
8 object: begin_object end_object .
$default reduce using rule 8 (object)
State 13
9 object: begin_object object_value_list . end_object
end_object shift, and go to state 19
State 14
12 array: begin_array end_array .
$default reduce using rule 12 (array)
State 15
14 array_value_list: value . [end_array]
15 | value . value_separator array_value_list
value_separator shift, and go to state 20
$default reduce using rule 14 (array_value_list)
State 16
13 array: begin_array array_value_list . end_array
end_array shift, and go to state 21
State 17
0 $accept: value $end .
$default accept
State 18
1 value: . object
2 | . array
3 | . value_string
4 | . value_number
5 | . literal_true
6 | . literal_false
7 | . literal_null
8 object: . begin_object end_object
9 | . begin_object object_value_list end_object
10 object_value_list: value_string name_separator . value
11 | value_string name_separator . value value_separator object_value_list
12 array: . begin_array end_array
13 | . begin_array array_value_list end_array
value_number shift, and go to state 1
value_string shift, and go to state 2
begin_object shift, and go to state 3
begin_array shift, and go to state 4
literal_true shift, and go to state 5
literal_false shift, and go to state 6
literal_null shift, and go to state 7
value go to state 22
object go to state 9
array go to state 10
State 19
9 object: begin_object object_value_list end_object .
$default reduce using rule 9 (object)
State 20
1 value: . object
2 | . array
3 | . value_string
4 | . value_number
5 | . literal_true
6 | . literal_false
7 | . literal_null
8 object: . begin_object end_object
9 | . begin_object object_value_list end_object
12 array: . begin_array end_array
13 | . begin_array array_value_list end_array
14 array_value_list: . value
15 | . value value_separator array_value_list
15 | value value_separator . array_value_list
value_number shift, and go to state 1
value_string shift, and go to state 2
begin_object shift, and go to state 3
begin_array shift, and go to state 4
literal_true shift, and go to state 5
literal_false shift, and go to state 6
literal_null shift, and go to state 7
value go to state 15
object go to state 9
array go to state 10
array_value_list go to state 23
State 21
13 array: begin_array array_value_list end_array .
$default reduce using rule 13 (array)
State 22
10 object_value_list: value_string name_separator value . [end_object]
11 | value_string name_separator value . value_separator object_value_list
value_separator shift, and go to state 24
$default reduce using rule 10 (object_value_list)
State 23
15 array_value_list: value value_separator array_value_list .
$default reduce using rule 15 (array_value_list)
State 24
10 object_value_list: . value_string name_separator value
11 | . value_string name_separator value value_separator object_value_list
11 | value_string name_separator value value_separator . object_value_list
value_string shift, and go to state 11
object_value_list go to state 25
State 25
11 object_value_list: value_string name_separator value value_separator object_value_list .
$default reduce using rule 11 (object_value_list)