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)