State 0: input ::= * value list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * list value ::= * map CURLY_OPEN shift 1 BRACKET_OPEN shift 2 STRING shift 14 list shift 15 map shift 16 value shift 6 input accept State 1: list_contents ::= * value list_contents ::= * value COMMA list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= CURLY_OPEN * CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE list ::= CURLY_OPEN * list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * list value ::= * map CURLY_OPEN shift 1 CURLY_CLOSE shift 19 BRACKET_OPEN shift 2 STRING shift 14 list_contents shift 11 list shift 15 map shift 16 value shift 7 State 2: list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map_contents ::= * value COLON value map_contents ::= * value COLON value COMMA map_contents map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= BRACKET_OPEN * BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE map ::= BRACKET_OPEN * map_contents BRACKET_CLOSE value ::= * STRING value ::= * list value ::= * map CURLY_OPEN shift 1 BRACKET_OPEN shift 2 BRACKET_CLOSE shift 17 STRING shift 14 list shift 15 map_contents shift 10 map shift 16 value shift 8 State 3: list_contents ::= * value list_contents ::= * value COMMA list_contents list_contents ::= value COMMA * list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * list value ::= * map CURLY_OPEN shift 1 BRACKET_OPEN shift 2 STRING shift 14 list_contents shift 12 list shift 15 map shift 16 value shift 7 State 4: list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map_contents ::= * value COLON value map_contents ::= * value COLON value COMMA map_contents map_contents ::= value COLON value COMMA * map_contents map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * list value ::= * map CURLY_OPEN shift 1 BRACKET_OPEN shift 2 STRING shift 14 list shift 15 map_contents shift 13 map shift 16 value shift 8 State 5: list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE map_contents ::= value COLON * value map_contents ::= value COLON * value COMMA map_contents map ::= * BRACKET_OPEN BRACKET_CLOSE map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE value ::= * STRING value ::= * list value ::= * map CURLY_OPEN shift 1 BRACKET_OPEN shift 2 STRING shift 14 list shift 15 map shift 16 value shift 9 State 6: (0) input ::= value * $ reduce 0 State 7: (1) list_contents ::= value * list_contents ::= value * COMMA list_contents COMMA shift 3 {default} reduce 1 State 8: map_contents ::= value * COLON value map_contents ::= value * COLON value COMMA map_contents COLON shift 5 State 9: (5) map_contents ::= value COLON value * map_contents ::= value COLON value * COMMA map_contents COMMA shift 4 {default} reduce 5 State 10: map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE BRACKET_CLOSE shift 18 State 11: list ::= CURLY_OPEN list_contents * CURLY_CLOSE CURLY_CLOSE shift 20 State 12: (2) list_contents ::= value COMMA list_contents * {default} reduce 2 State 13: (6) map_contents ::= value COLON value COMMA map_contents * {default} reduce 6 State 14: (9) value ::= STRING * {default} reduce 9 State 15: (10) value ::= list * {default} reduce 10 State 16: (11) value ::= map * {default} reduce 11 State 17: (7) map ::= BRACKET_OPEN BRACKET_CLOSE * {default} reduce 7 State 18: (8) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE * {default} reduce 8 State 19: (3) list ::= CURLY_OPEN CURLY_CLOSE * {default} reduce 3 State 20: (4) list ::= CURLY_OPEN list_contents CURLY_CLOSE * {default} reduce 4 ---------------------------------------------------- Symbols: 0: $: 1: COMMA 2: CURLY_OPEN 3: CURLY_CLOSE 4: COLON 5: BRACKET_OPEN 6: BRACKET_CLOSE 7: STRING 8: error: 9: list_contents: CURLY_OPEN BRACKET_OPEN STRING 10: list: CURLY_OPEN 11: map_contents: CURLY_OPEN BRACKET_OPEN STRING 12: map: BRACKET_OPEN 13: value: CURLY_OPEN BRACKET_OPEN STRING 14: input: CURLY_OPEN BRACKET_OPEN STRING