state 0 $accept: .top $end '+' shift 4 '-' shift 5 '(' shift 9 NUM shift 8 . error expr goto 2 expr1 goto 3 expr2 goto 6 expr3 goto 7 top goto 1 state 1 $accept: top.$end $end accept . error state 2 top: expr. (1) . reduce 1 (src line 41) state 3 expr: expr1. (2) expr1: expr1.'+' expr2 expr1: expr1.'-' expr2 '+' shift 10 '-' shift 11 . reduce 2 (src line 51) state 4 expr: '+'.expr '+' shift 4 '-' shift 5 '(' shift 9 NUM shift 8 . error expr goto 12 expr1 goto 3 expr2 goto 6 expr3 goto 7 state 5 expr: '-'.expr '+' shift 4 '-' shift 5 '(' shift 9 NUM shift 8 . error expr goto 13 expr1 goto 3 expr2 goto 6 expr3 goto 7 state 6 expr1: expr2. (5) expr2: expr2.'*' expr3 expr2: expr2.'/' expr3 '*' shift 14 '/' shift 15 . reduce 5 (src line 62) state 7 expr2: expr3. (8) . reduce 8 (src line 73) state 8 expr3: NUM. (11) . reduce 11 (src line 84) state 9 expr3: '('.expr ')' '+' shift 4 '-' shift 5 '(' shift 9 NUM shift 8 . error expr goto 16 expr1 goto 3 expr2 goto 6 expr3 goto 7 state 10 expr1: expr1 '+'.expr2 '(' shift 9 NUM shift 8 . error expr2 goto 17 expr3 goto 7 state 11 expr1: expr1 '-'.expr2 '(' shift 9 NUM shift 8 . error expr2 goto 18 expr3 goto 7 state 12 expr: '+' expr. (3) . reduce 3 (src line 53) state 13 expr: '-' expr. (4) . reduce 4 (src line 57) state 14 expr2: expr2 '*'.expr3 '(' shift 9 NUM shift 8 . error expr3 goto 19 state 15 expr2: expr2 '/'.expr3 '(' shift 9 NUM shift 8 . error expr3 goto 20 state 16 expr3: '(' expr.')' ')' shift 21 . error state 17 expr1: expr1 '+' expr2. (6) expr2: expr2.'*' expr3 expr2: expr2.'/' expr3 '*' shift 14 '/' shift 15 . reduce 6 (src line 64) state 18 expr1: expr1 '-' expr2. (7) expr2: expr2.'*' expr3 expr2: expr2.'/' expr3 '*' shift 14 '/' shift 15 . reduce 7 (src line 68) state 19 expr2: expr2 '*' expr3. (9) . reduce 9 (src line 75) state 20 expr2: expr2 '/' expr3. (10) . reduce 10 (src line 79) state 21 expr3: '(' expr ')'. (12) . reduce 12 (src line 86) 10 terminals, 6 nonterminals 13 grammar rules, 22/8000 states 0 shift/reduce, 0 reduce/reduce conflicts reported 55 working sets used memory: parser 22/120000 19 extra closures 33 shift entries, 1 exceptions 12 goto entries 11 entries saved by goto default Optimizer space used: output 23/120000 23 table entries, 0 zero maximum spread: 10, maximum offset: 15