State 0: input ::= * STRING input ::= * list list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE STRING shift 4 CURLY_OPEN shift 1 list shift 5 input accept State 1: list_contents ::= * STRING list_contents ::= * list list_contents ::= * STRING COMMA list_contents list_contents ::= * list 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 STRING shift 6 CURLY_OPEN shift 1 CURLY_CLOSE shift 11 list_contents shift 8 list shift 7 State 2: list_contents ::= * STRING list_contents ::= * list list_contents ::= * STRING COMMA list_contents list_contents ::= STRING COMMA * list_contents list_contents ::= * list COMMA list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE STRING shift 6 CURLY_OPEN shift 1 list_contents shift 10 list shift 7 State 3: list_contents ::= * STRING list_contents ::= * list list_contents ::= * STRING COMMA list_contents list_contents ::= * list COMMA list_contents list_contents ::= list COMMA * list_contents list ::= * CURLY_OPEN CURLY_CLOSE list ::= * CURLY_OPEN list_contents CURLY_CLOSE STRING shift 6 CURLY_OPEN shift 1 list_contents shift 9 list shift 7 State 4: (0) input ::= STRING * $ reduce 0 State 5: (1) input ::= list * $ reduce 1 State 6: (2) list_contents ::= STRING * list_contents ::= STRING * COMMA list_contents COMMA shift 2 {default} reduce 2 State 7: (3) list_contents ::= list * list_contents ::= list * COMMA list_contents COMMA shift 3 {default} reduce 3 State 8: list ::= CURLY_OPEN list_contents * CURLY_CLOSE CURLY_CLOSE shift 12 State 9: (5) list_contents ::= list COMMA list_contents * {default} reduce 5 State 10: (4) list_contents ::= STRING COMMA list_contents * {default} reduce 4 State 11: (6) list ::= CURLY_OPEN CURLY_CLOSE * {default} reduce 6 State 12: (7) list ::= CURLY_OPEN list_contents CURLY_CLOSE * {default} reduce 7 ---------------------------------------------------- Symbols: 0: $: 1: STRING 2: COMMA 3: CURLY_OPEN 4: CURLY_CLOSE 5: error: 6: list_contents: STRING CURLY_OPEN 7: list: CURLY_OPEN 8: input: STRING CURLY_OPEN