State 0: program ::= * expr expr ::= * expr MINUS expr expr ::= * expr PLUS expr expr ::= * expr TIMES expr expr ::= * expr DIVIDE expr expr ::= * INTEGER INTEGER shift-reduce 5 expr ::= INTEGER program accept expr shift 5 State 1: expr ::= * expr MINUS expr expr ::= * expr PLUS expr expr ::= * expr TIMES expr expr ::= * expr DIVIDE expr expr ::= expr DIVIDE * expr expr ::= * INTEGER INTEGER shift-reduce 5 expr ::= INTEGER expr shift-reduce 4 expr ::= expr DIVIDE expr State 2: expr ::= * expr MINUS expr expr ::= * expr PLUS expr expr ::= * expr TIMES expr expr ::= expr TIMES * expr expr ::= * expr DIVIDE expr expr ::= * INTEGER INTEGER shift-reduce 5 expr ::= INTEGER expr shift-reduce 3 expr ::= expr TIMES expr State 3: expr ::= * expr MINUS expr expr ::= * expr PLUS expr expr ::= expr PLUS * expr expr ::= * expr TIMES expr expr ::= * expr DIVIDE expr expr ::= * INTEGER INTEGER shift-reduce 5 expr ::= INTEGER expr shift 6 State 4: expr ::= * expr MINUS expr expr ::= expr MINUS * expr expr ::= * expr PLUS expr expr ::= * expr TIMES expr expr ::= * expr DIVIDE expr expr ::= * INTEGER INTEGER shift-reduce 5 expr ::= INTEGER expr shift 7 State 5: (0) program ::= expr * expr ::= expr * MINUS expr expr ::= expr * PLUS expr expr ::= expr * TIMES expr expr ::= expr * DIVIDE expr $ reduce 0 program ::= expr PLUS shift 3 MINUS shift 4 DIVIDE shift 1 TIMES shift 2 State 6: expr ::= expr * MINUS expr expr ::= expr * PLUS expr (2) expr ::= expr PLUS expr * expr ::= expr * TIMES expr expr ::= expr * DIVIDE expr DIVIDE shift 1 TIMES shift 2 {default} reduce 2 expr ::= expr PLUS expr State 7: expr ::= expr * MINUS expr (1) expr ::= expr MINUS expr * expr ::= expr * PLUS expr expr ::= expr * TIMES expr expr ::= expr * DIVIDE expr DIVIDE shift 1 TIMES shift 2 {default} reduce 1 expr ::= expr MINUS expr ---------------------------------------------------- Symbols: 0: $: 1: PLUS 2: MINUS 3: DIVIDE 4: TIMES 5: INTEGER 6: error: 7: program: INTEGER 8: expr: INTEGER