1*da17a642Schristos 0 $accept : yyyAugNonterm $end 2*da17a642Schristos 3*da17a642Schristos 1 $$1 : 4*da17a642Schristos 5*da17a642Schristos 2 yyyAugNonterm : $$1 s 6*da17a642Schristos 7*da17a642Schristos 3 s : expr 8*da17a642Schristos 9*da17a642Schristos 4 expr : expr '*' expr 10*da17a642Schristos 5 | expr '+' expr 11*da17a642Schristos 6 | expr '/' expr 12*da17a642Schristos 7 | expr '-' expr 13*da17a642Schristos 8 | '(' expr ')' 14*da17a642Schristos 9 | ID 15*da17a642Schristos 10 | CONST 16*da17a642Schristos 17*da17a642Schristosstate 0 18*da17a642Schristos $accept : . yyyAugNonterm $end (0) 19*da17a642Schristos $$1 : . (1) 20*da17a642Schristos 21*da17a642Schristos . reduce 1 22*da17a642Schristos 23*da17a642Schristos yyyAugNonterm goto 1 24*da17a642Schristos $$1 goto 2 25*da17a642Schristos 26*da17a642Schristos 27*da17a642Schristosstate 1 28*da17a642Schristos $accept : yyyAugNonterm . $end (0) 29*da17a642Schristos 30*da17a642Schristos $end accept 31*da17a642Schristos 32*da17a642Schristos 33*da17a642Schristosstate 2 34*da17a642Schristos yyyAugNonterm : $$1 . s (2) 35*da17a642Schristos 36*da17a642Schristos ID shift 3 37*da17a642Schristos CONST shift 4 38*da17a642Schristos '(' shift 5 39*da17a642Schristos . error 40*da17a642Schristos 41*da17a642Schristos s goto 6 42*da17a642Schristos expr goto 7 43*da17a642Schristos 44*da17a642Schristos 45*da17a642Schristosstate 3 46*da17a642Schristos expr : ID . (9) 47*da17a642Schristos 48*da17a642Schristos . reduce 9 49*da17a642Schristos 50*da17a642Schristos 51*da17a642Schristosstate 4 52*da17a642Schristos expr : CONST . (10) 53*da17a642Schristos 54*da17a642Schristos . reduce 10 55*da17a642Schristos 56*da17a642Schristos 57*da17a642Schristosstate 5 58*da17a642Schristos expr : '(' . expr ')' (8) 59*da17a642Schristos 60*da17a642Schristos ID shift 3 61*da17a642Schristos CONST shift 4 62*da17a642Schristos '(' shift 5 63*da17a642Schristos . error 64*da17a642Schristos 65*da17a642Schristos expr goto 8 66*da17a642Schristos 67*da17a642Schristos 68*da17a642Schristosstate 6 69*da17a642Schristos yyyAugNonterm : $$1 s . (2) 70*da17a642Schristos 71*da17a642Schristos . reduce 2 72*da17a642Schristos 73*da17a642Schristos 74*da17a642Schristosstate 7 75*da17a642Schristos s : expr . (3) 76*da17a642Schristos expr : expr . '*' expr (4) 77*da17a642Schristos expr : expr . '+' expr (5) 78*da17a642Schristos expr : expr . '/' expr (6) 79*da17a642Schristos expr : expr . '-' expr (7) 80*da17a642Schristos 81*da17a642Schristos '+' shift 9 82*da17a642Schristos '-' shift 10 83*da17a642Schristos '*' shift 11 84*da17a642Schristos '/' shift 12 85*da17a642Schristos $end reduce 3 86*da17a642Schristos 87*da17a642Schristos 88*da17a642Schristosstate 8 89*da17a642Schristos expr : expr . '*' expr (4) 90*da17a642Schristos expr : expr . '+' expr (5) 91*da17a642Schristos expr : expr . '/' expr (6) 92*da17a642Schristos expr : expr . '-' expr (7) 93*da17a642Schristos expr : '(' expr . ')' (8) 94*da17a642Schristos 95*da17a642Schristos '+' shift 9 96*da17a642Schristos '-' shift 10 97*da17a642Schristos '*' shift 11 98*da17a642Schristos '/' shift 12 99*da17a642Schristos ')' shift 13 100*da17a642Schristos . error 101*da17a642Schristos 102*da17a642Schristos 103*da17a642Schristosstate 9 104*da17a642Schristos expr : expr '+' . expr (5) 105*da17a642Schristos 106*da17a642Schristos ID shift 3 107*da17a642Schristos CONST shift 4 108*da17a642Schristos '(' shift 5 109*da17a642Schristos . error 110*da17a642Schristos 111*da17a642Schristos expr goto 14 112*da17a642Schristos 113*da17a642Schristos 114*da17a642Schristosstate 10 115*da17a642Schristos expr : expr '-' . expr (7) 116*da17a642Schristos 117*da17a642Schristos ID shift 3 118*da17a642Schristos CONST shift 4 119*da17a642Schristos '(' shift 5 120*da17a642Schristos . error 121*da17a642Schristos 122*da17a642Schristos expr goto 15 123*da17a642Schristos 124*da17a642Schristos 125*da17a642Schristosstate 11 126*da17a642Schristos expr : expr '*' . expr (4) 127*da17a642Schristos 128*da17a642Schristos ID shift 3 129*da17a642Schristos CONST shift 4 130*da17a642Schristos '(' shift 5 131*da17a642Schristos . error 132*da17a642Schristos 133*da17a642Schristos expr goto 16 134*da17a642Schristos 135*da17a642Schristos 136*da17a642Schristosstate 12 137*da17a642Schristos expr : expr '/' . expr (6) 138*da17a642Schristos 139*da17a642Schristos ID shift 3 140*da17a642Schristos CONST shift 4 141*da17a642Schristos '(' shift 5 142*da17a642Schristos . error 143*da17a642Schristos 144*da17a642Schristos expr goto 17 145*da17a642Schristos 146*da17a642Schristos 147*da17a642Schristosstate 13 148*da17a642Schristos expr : '(' expr ')' . (8) 149*da17a642Schristos 150*da17a642Schristos . reduce 8 151*da17a642Schristos 152*da17a642Schristos 153*da17a642Schristosstate 14 154*da17a642Schristos expr : expr . '*' expr (4) 155*da17a642Schristos expr : expr . '+' expr (5) 156*da17a642Schristos expr : expr '+' expr . (5) 157*da17a642Schristos expr : expr . '/' expr (6) 158*da17a642Schristos expr : expr . '-' expr (7) 159*da17a642Schristos 160*da17a642Schristos '*' shift 11 161*da17a642Schristos '/' shift 12 162*da17a642Schristos $end reduce 5 163*da17a642Schristos '+' reduce 5 164*da17a642Schristos '-' reduce 5 165*da17a642Schristos ')' reduce 5 166*da17a642Schristos 167*da17a642Schristos 168*da17a642Schristosstate 15 169*da17a642Schristos expr : expr . '*' expr (4) 170*da17a642Schristos expr : expr . '+' expr (5) 171*da17a642Schristos expr : expr . '/' expr (6) 172*da17a642Schristos expr : expr . '-' expr (7) 173*da17a642Schristos expr : expr '-' expr . (7) 174*da17a642Schristos 175*da17a642Schristos '*' shift 11 176*da17a642Schristos '/' shift 12 177*da17a642Schristos $end reduce 7 178*da17a642Schristos '+' reduce 7 179*da17a642Schristos '-' reduce 7 180*da17a642Schristos ')' reduce 7 181*da17a642Schristos 182*da17a642Schristos 183*da17a642Schristosstate 16 184*da17a642Schristos expr : expr . '*' expr (4) 185*da17a642Schristos expr : expr '*' expr . (4) 186*da17a642Schristos expr : expr . '+' expr (5) 187*da17a642Schristos expr : expr . '/' expr (6) 188*da17a642Schristos expr : expr . '-' expr (7) 189*da17a642Schristos 190*da17a642Schristos . reduce 4 191*da17a642Schristos 192*da17a642Schristos 193*da17a642Schristosstate 17 194*da17a642Schristos expr : expr . '*' expr (4) 195*da17a642Schristos expr : expr . '+' expr (5) 196*da17a642Schristos expr : expr . '/' expr (6) 197*da17a642Schristos expr : expr '/' expr . (6) 198*da17a642Schristos expr : expr . '-' expr (7) 199*da17a642Schristos 200*da17a642Schristos '*' shift 11 201*da17a642Schristos $end reduce 6 202*da17a642Schristos '+' reduce 6 203*da17a642Schristos '-' reduce 6 204*da17a642Schristos '/' reduce 6 205*da17a642Schristos ')' reduce 6 206*da17a642Schristos 207*da17a642Schristos 208*da17a642Schristos10 terminals, 5 nonterminals 209*da17a642Schristos11 grammar rules, 18 states 210*da17a642Schristos 211*da17a642Schristosgrammar parser grammar 212*da17a642Schristossymbol# value# symbol 213*da17a642Schristos 0 0 $end 214*da17a642Schristos 1 256 error 215*da17a642Schristos 2 257 ID 216*da17a642Schristos 3 258 CONST 217*da17a642Schristos 4 43 '+' 218*da17a642Schristos 5 45 '-' 219*da17a642Schristos 6 42 '*' 220*da17a642Schristos 7 47 '/' 221*da17a642Schristos 8 40 '(' 222*da17a642Schristos 9 41 ')' 223*da17a642Schristos 10 259 $accept 224*da17a642Schristos 11 260 yyyAugNonterm 225*da17a642Schristos 12 261 s 226*da17a642Schristos 13 262 $$1 227*da17a642Schristos 14 263 expr 228