0 $accept : %entry% $end 1 start : expr EOF 2 expr : IDENT 3 | INT 4 | NOT expr 5 | SUB expr 6 | expr ADD expr 7 | expr SUB expr 8 | expr MUL expr 9 | LPAREN expr RPAREN 10 %entry% : '\001' start state 0 $accept : . %entry% $end (0) '\001' shift 1 . error %entry% goto 2 state 1 %entry% : '\001' . start (10) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error start goto 8 expr goto 9 state 2 $accept : %entry% . $end (0) $end accept state 3 expr : INT . (3) . reduce 3 state 4 expr : IDENT . (2) . reduce 2 state 5 expr : SUB . expr (5) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error expr goto 10 state 6 expr : NOT . expr (4) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error expr goto 11 state 7 expr : LPAREN . expr RPAREN (9) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error expr goto 12 state 8 %entry% : '\001' start . (10) . reduce 10 state 9 start : expr . EOF (1) expr : expr . ADD expr (6) expr : expr . SUB expr (7) expr : expr . MUL expr (8) EOF shift 13 ADD shift 14 SUB shift 15 MUL shift 16 . error state 10 expr : SUB expr . (5) expr : expr . ADD expr (6) expr : expr . SUB expr (7) expr : expr . MUL expr (8) MUL shift 16 EOF reduce 5 ADD reduce 5 SUB reduce 5 RPAREN reduce 5 11: shift/reduce conflict (shift 14, reduce 4) on ADD 11: shift/reduce conflict (shift 15, reduce 4) on SUB 11: shift/reduce conflict (shift 16, reduce 4) on MUL state 11 expr : NOT expr . (4) expr : expr . ADD expr (6) expr : expr . SUB expr (7) expr : expr . MUL expr (8) ADD shift 14 SUB shift 15 MUL shift 16 EOF reduce 4 RPAREN reduce 4 state 12 expr : expr . ADD expr (6) expr : expr . SUB expr (7) expr : expr . MUL expr (8) expr : LPAREN expr . RPAREN (9) ADD shift 14 SUB shift 15 MUL shift 16 RPAREN shift 17 . error state 13 start : expr EOF . (1) . reduce 1 state 14 expr : expr ADD . expr (6) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error expr goto 18 state 15 expr : expr SUB . expr (7) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error expr goto 19 state 16 expr : expr MUL . expr (8) INT shift 3 IDENT shift 4 SUB shift 5 NOT shift 6 LPAREN shift 7 . error expr goto 20 state 17 expr : LPAREN expr RPAREN . (9) . reduce 9 state 18 expr : expr . ADD expr (6) expr : expr ADD expr . (6) expr : expr . SUB expr (7) expr : expr . MUL expr (8) MUL shift 16 EOF reduce 6 ADD reduce 6 SUB reduce 6 RPAREN reduce 6 state 19 expr : expr . ADD expr (6) expr : expr . SUB expr (7) expr : expr SUB expr . (7) expr : expr . MUL expr (8) MUL shift 16 EOF reduce 7 ADD reduce 7 SUB reduce 7 RPAREN reduce 7 state 20 expr : expr . ADD expr (6) expr : expr . SUB expr (7) expr : expr . MUL expr (8) expr : expr MUL expr . (8) . reduce 8 State 11 contains 3 shift/reduce conflicts. 13 terminals, 4 nonterminals 11 grammar rules, 21 states