1*428aa3b9Schristos 0 $accept : list $end 2*428aa3b9Schristos 3*428aa3b9Schristos 1 list : 4*428aa3b9Schristos 2 | list stat '\n' 5*428aa3b9Schristos 3 | list error '\n' 6*428aa3b9Schristos 7*428aa3b9Schristos 4 stat : expr 8*428aa3b9Schristos 5 | LETTER '=' expr 9*428aa3b9Schristos 10*428aa3b9Schristos 6 expr : '(' expr ')' 11*428aa3b9Schristos 7 | expr '+' expr 12*428aa3b9Schristos 8 | expr '-' expr 13*428aa3b9Schristos 9 | expr '*' expr 14*428aa3b9Schristos 10 | expr '/' expr 15*428aa3b9Schristos 11 | expr '%' expr 16*428aa3b9Schristos 12 | expr '&' expr 17*428aa3b9Schristos 13 | expr '|' expr 18*428aa3b9Schristos 14 | '-' expr 19*428aa3b9Schristos 15 | LETTER 20*428aa3b9Schristos 16 | number 21*428aa3b9Schristos 22*428aa3b9Schristos 17 number : DIGIT 23*428aa3b9Schristos 18 | number DIGIT 24*428aa3b9Schristos 25*428aa3b9Schristosstate 0 26*428aa3b9Schristos $accept : . list $end (0) 27*428aa3b9Schristos list : . (1) 28*428aa3b9Schristos 29*428aa3b9Schristos . reduce 1 30*428aa3b9Schristos 31*428aa3b9Schristos list goto 1 32*428aa3b9Schristos 33*428aa3b9Schristos 34*428aa3b9Schristosstate 1 35*428aa3b9Schristos $accept : list . $end (0) 36*428aa3b9Schristos list : list . stat '\n' (2) 37*428aa3b9Schristos list : list . error '\n' (3) 38*428aa3b9Schristos 39*428aa3b9Schristos $end accept 40*428aa3b9Schristos error shift 2 41*428aa3b9Schristos DIGIT shift 3 42*428aa3b9Schristos LETTER shift 4 43*428aa3b9Schristos '-' shift 5 44*428aa3b9Schristos '(' shift 6 45*428aa3b9Schristos . error 46*428aa3b9Schristos 47*428aa3b9Schristos stat goto 7 48*428aa3b9Schristos expr goto 8 49*428aa3b9Schristos number goto 9 50*428aa3b9Schristos 51*428aa3b9Schristos 52*428aa3b9Schristosstate 2 53*428aa3b9Schristos list : list error . '\n' (3) 54*428aa3b9Schristos 55*428aa3b9Schristos '\n' shift 10 56*428aa3b9Schristos . error 57*428aa3b9Schristos 58*428aa3b9Schristos 59*428aa3b9Schristosstate 3 60*428aa3b9Schristos number : DIGIT . (17) 61*428aa3b9Schristos 62*428aa3b9Schristos . reduce 17 63*428aa3b9Schristos 64*428aa3b9Schristos 65*428aa3b9Schristosstate 4 66*428aa3b9Schristos stat : LETTER . '=' expr (5) 67*428aa3b9Schristos expr : LETTER . (15) 68*428aa3b9Schristos 69*428aa3b9Schristos '=' shift 11 70*428aa3b9Schristos '|' reduce 15 71*428aa3b9Schristos '&' reduce 15 72*428aa3b9Schristos '+' reduce 15 73*428aa3b9Schristos '-' reduce 15 74*428aa3b9Schristos '*' reduce 15 75*428aa3b9Schristos '/' reduce 15 76*428aa3b9Schristos '%' reduce 15 77*428aa3b9Schristos '\n' reduce 15 78*428aa3b9Schristos 79*428aa3b9Schristos 80*428aa3b9Schristosstate 5 81*428aa3b9Schristos expr : '-' . expr (14) 82*428aa3b9Schristos 83*428aa3b9Schristos DIGIT shift 3 84*428aa3b9Schristos LETTER shift 12 85*428aa3b9Schristos '-' shift 5 86*428aa3b9Schristos '(' shift 6 87*428aa3b9Schristos . error 88*428aa3b9Schristos 89*428aa3b9Schristos expr goto 13 90*428aa3b9Schristos number goto 9 91*428aa3b9Schristos 92*428aa3b9Schristos 93*428aa3b9Schristosstate 6 94*428aa3b9Schristos expr : '(' . expr ')' (6) 95*428aa3b9Schristos 96*428aa3b9Schristos DIGIT shift 3 97*428aa3b9Schristos LETTER shift 12 98*428aa3b9Schristos '-' shift 5 99*428aa3b9Schristos '(' shift 6 100*428aa3b9Schristos . error 101*428aa3b9Schristos 102*428aa3b9Schristos expr goto 14 103*428aa3b9Schristos number goto 9 104*428aa3b9Schristos 105*428aa3b9Schristos 106*428aa3b9Schristosstate 7 107*428aa3b9Schristos list : list stat . '\n' (2) 108*428aa3b9Schristos 109*428aa3b9Schristos '\n' shift 15 110*428aa3b9Schristos . error 111*428aa3b9Schristos 112*428aa3b9Schristos 113*428aa3b9Schristosstate 8 114*428aa3b9Schristos stat : expr . (4) 115*428aa3b9Schristos expr : expr . '+' expr (7) 116*428aa3b9Schristos expr : expr . '-' expr (8) 117*428aa3b9Schristos expr : expr . '*' expr (9) 118*428aa3b9Schristos expr : expr . '/' expr (10) 119*428aa3b9Schristos expr : expr . '%' expr (11) 120*428aa3b9Schristos expr : expr . '&' expr (12) 121*428aa3b9Schristos expr : expr . '|' expr (13) 122*428aa3b9Schristos 123*428aa3b9Schristos '|' shift 16 124*428aa3b9Schristos '&' shift 17 125*428aa3b9Schristos '+' shift 18 126*428aa3b9Schristos '-' shift 19 127*428aa3b9Schristos '*' shift 20 128*428aa3b9Schristos '/' shift 21 129*428aa3b9Schristos '%' shift 22 130*428aa3b9Schristos '\n' reduce 4 131*428aa3b9Schristos 132*428aa3b9Schristos 133*428aa3b9Schristosstate 9 134*428aa3b9Schristos expr : number . (16) 135*428aa3b9Schristos number : number . DIGIT (18) 136*428aa3b9Schristos 137*428aa3b9Schristos DIGIT shift 23 138*428aa3b9Schristos '|' reduce 16 139*428aa3b9Schristos '&' reduce 16 140*428aa3b9Schristos '+' reduce 16 141*428aa3b9Schristos '-' reduce 16 142*428aa3b9Schristos '*' reduce 16 143*428aa3b9Schristos '/' reduce 16 144*428aa3b9Schristos '%' reduce 16 145*428aa3b9Schristos '\n' reduce 16 146*428aa3b9Schristos ')' reduce 16 147*428aa3b9Schristos 148*428aa3b9Schristos 149*428aa3b9Schristosstate 10 150*428aa3b9Schristos list : list error '\n' . (3) 151*428aa3b9Schristos 152*428aa3b9Schristos . reduce 3 153*428aa3b9Schristos 154*428aa3b9Schristos 155*428aa3b9Schristosstate 11 156*428aa3b9Schristos stat : LETTER '=' . expr (5) 157*428aa3b9Schristos 158*428aa3b9Schristos DIGIT shift 3 159*428aa3b9Schristos LETTER shift 12 160*428aa3b9Schristos '-' shift 5 161*428aa3b9Schristos '(' shift 6 162*428aa3b9Schristos . error 163*428aa3b9Schristos 164*428aa3b9Schristos expr goto 24 165*428aa3b9Schristos number goto 9 166*428aa3b9Schristos 167*428aa3b9Schristos 168*428aa3b9Schristosstate 12 169*428aa3b9Schristos expr : LETTER . (15) 170*428aa3b9Schristos 171*428aa3b9Schristos . reduce 15 172*428aa3b9Schristos 173*428aa3b9Schristos 174*428aa3b9Schristosstate 13 175*428aa3b9Schristos expr : expr . '+' expr (7) 176*428aa3b9Schristos expr : expr . '-' expr (8) 177*428aa3b9Schristos expr : expr . '*' expr (9) 178*428aa3b9Schristos expr : expr . '/' expr (10) 179*428aa3b9Schristos expr : expr . '%' expr (11) 180*428aa3b9Schristos expr : expr . '&' expr (12) 181*428aa3b9Schristos expr : expr . '|' expr (13) 182*428aa3b9Schristos expr : '-' expr . (14) 183*428aa3b9Schristos 184*428aa3b9Schristos . reduce 14 185*428aa3b9Schristos 186*428aa3b9Schristos 187*428aa3b9Schristosstate 14 188*428aa3b9Schristos expr : '(' expr . ')' (6) 189*428aa3b9Schristos expr : expr . '+' expr (7) 190*428aa3b9Schristos expr : expr . '-' expr (8) 191*428aa3b9Schristos expr : expr . '*' expr (9) 192*428aa3b9Schristos expr : expr . '/' expr (10) 193*428aa3b9Schristos expr : expr . '%' expr (11) 194*428aa3b9Schristos expr : expr . '&' expr (12) 195*428aa3b9Schristos expr : expr . '|' expr (13) 196*428aa3b9Schristos 197*428aa3b9Schristos '|' shift 16 198*428aa3b9Schristos '&' shift 17 199*428aa3b9Schristos '+' shift 18 200*428aa3b9Schristos '-' shift 19 201*428aa3b9Schristos '*' shift 20 202*428aa3b9Schristos '/' shift 21 203*428aa3b9Schristos '%' shift 22 204*428aa3b9Schristos ')' shift 25 205*428aa3b9Schristos . error 206*428aa3b9Schristos 207*428aa3b9Schristos 208*428aa3b9Schristosstate 15 209*428aa3b9Schristos list : list stat '\n' . (2) 210*428aa3b9Schristos 211*428aa3b9Schristos . reduce 2 212*428aa3b9Schristos 213*428aa3b9Schristos 214*428aa3b9Schristosstate 16 215*428aa3b9Schristos expr : expr '|' . expr (13) 216*428aa3b9Schristos 217*428aa3b9Schristos DIGIT shift 3 218*428aa3b9Schristos LETTER shift 12 219*428aa3b9Schristos '-' shift 5 220*428aa3b9Schristos '(' shift 6 221*428aa3b9Schristos . error 222*428aa3b9Schristos 223*428aa3b9Schristos expr goto 26 224*428aa3b9Schristos number goto 9 225*428aa3b9Schristos 226*428aa3b9Schristos 227*428aa3b9Schristosstate 17 228*428aa3b9Schristos expr : expr '&' . expr (12) 229*428aa3b9Schristos 230*428aa3b9Schristos DIGIT shift 3 231*428aa3b9Schristos LETTER shift 12 232*428aa3b9Schristos '-' shift 5 233*428aa3b9Schristos '(' shift 6 234*428aa3b9Schristos . error 235*428aa3b9Schristos 236*428aa3b9Schristos expr goto 27 237*428aa3b9Schristos number goto 9 238*428aa3b9Schristos 239*428aa3b9Schristos 240*428aa3b9Schristosstate 18 241*428aa3b9Schristos expr : expr '+' . expr (7) 242*428aa3b9Schristos 243*428aa3b9Schristos DIGIT shift 3 244*428aa3b9Schristos LETTER shift 12 245*428aa3b9Schristos '-' shift 5 246*428aa3b9Schristos '(' shift 6 247*428aa3b9Schristos . error 248*428aa3b9Schristos 249*428aa3b9Schristos expr goto 28 250*428aa3b9Schristos number goto 9 251*428aa3b9Schristos 252*428aa3b9Schristos 253*428aa3b9Schristosstate 19 254*428aa3b9Schristos expr : expr '-' . expr (8) 255*428aa3b9Schristos 256*428aa3b9Schristos DIGIT shift 3 257*428aa3b9Schristos LETTER shift 12 258*428aa3b9Schristos '-' shift 5 259*428aa3b9Schristos '(' shift 6 260*428aa3b9Schristos . error 261*428aa3b9Schristos 262*428aa3b9Schristos expr goto 29 263*428aa3b9Schristos number goto 9 264*428aa3b9Schristos 265*428aa3b9Schristos 266*428aa3b9Schristosstate 20 267*428aa3b9Schristos expr : expr '*' . expr (9) 268*428aa3b9Schristos 269*428aa3b9Schristos DIGIT shift 3 270*428aa3b9Schristos LETTER shift 12 271*428aa3b9Schristos '-' shift 5 272*428aa3b9Schristos '(' shift 6 273*428aa3b9Schristos . error 274*428aa3b9Schristos 275*428aa3b9Schristos expr goto 30 276*428aa3b9Schristos number goto 9 277*428aa3b9Schristos 278*428aa3b9Schristos 279*428aa3b9Schristosstate 21 280*428aa3b9Schristos expr : expr '/' . expr (10) 281*428aa3b9Schristos 282*428aa3b9Schristos DIGIT shift 3 283*428aa3b9Schristos LETTER shift 12 284*428aa3b9Schristos '-' shift 5 285*428aa3b9Schristos '(' shift 6 286*428aa3b9Schristos . error 287*428aa3b9Schristos 288*428aa3b9Schristos expr goto 31 289*428aa3b9Schristos number goto 9 290*428aa3b9Schristos 291*428aa3b9Schristos 292*428aa3b9Schristosstate 22 293*428aa3b9Schristos expr : expr '%' . expr (11) 294*428aa3b9Schristos 295*428aa3b9Schristos DIGIT shift 3 296*428aa3b9Schristos LETTER shift 12 297*428aa3b9Schristos '-' shift 5 298*428aa3b9Schristos '(' shift 6 299*428aa3b9Schristos . error 300*428aa3b9Schristos 301*428aa3b9Schristos expr goto 32 302*428aa3b9Schristos number goto 9 303*428aa3b9Schristos 304*428aa3b9Schristos 305*428aa3b9Schristosstate 23 306*428aa3b9Schristos number : number DIGIT . (18) 307*428aa3b9Schristos 308*428aa3b9Schristos . reduce 18 309*428aa3b9Schristos 310*428aa3b9Schristos 311*428aa3b9Schristosstate 24 312*428aa3b9Schristos stat : LETTER '=' expr . (5) 313*428aa3b9Schristos expr : expr . '+' expr (7) 314*428aa3b9Schristos expr : expr . '-' expr (8) 315*428aa3b9Schristos expr : expr . '*' expr (9) 316*428aa3b9Schristos expr : expr . '/' expr (10) 317*428aa3b9Schristos expr : expr . '%' expr (11) 318*428aa3b9Schristos expr : expr . '&' expr (12) 319*428aa3b9Schristos expr : expr . '|' expr (13) 320*428aa3b9Schristos 321*428aa3b9Schristos '|' shift 16 322*428aa3b9Schristos '&' shift 17 323*428aa3b9Schristos '+' shift 18 324*428aa3b9Schristos '-' shift 19 325*428aa3b9Schristos '*' shift 20 326*428aa3b9Schristos '/' shift 21 327*428aa3b9Schristos '%' shift 22 328*428aa3b9Schristos '\n' reduce 5 329*428aa3b9Schristos 330*428aa3b9Schristos 331*428aa3b9Schristosstate 25 332*428aa3b9Schristos expr : '(' expr ')' . (6) 333*428aa3b9Schristos 334*428aa3b9Schristos . reduce 6 335*428aa3b9Schristos 336*428aa3b9Schristos 337*428aa3b9Schristosstate 26 338*428aa3b9Schristos expr : expr . '+' expr (7) 339*428aa3b9Schristos expr : expr . '-' expr (8) 340*428aa3b9Schristos expr : expr . '*' expr (9) 341*428aa3b9Schristos expr : expr . '/' expr (10) 342*428aa3b9Schristos expr : expr . '%' expr (11) 343*428aa3b9Schristos expr : expr . '&' expr (12) 344*428aa3b9Schristos expr : expr . '|' expr (13) 345*428aa3b9Schristos expr : expr '|' expr . (13) 346*428aa3b9Schristos 347*428aa3b9Schristos '&' shift 17 348*428aa3b9Schristos '+' shift 18 349*428aa3b9Schristos '-' shift 19 350*428aa3b9Schristos '*' shift 20 351*428aa3b9Schristos '/' shift 21 352*428aa3b9Schristos '%' shift 22 353*428aa3b9Schristos '|' reduce 13 354*428aa3b9Schristos '\n' reduce 13 355*428aa3b9Schristos ')' reduce 13 356*428aa3b9Schristos 357*428aa3b9Schristos 358*428aa3b9Schristosstate 27 359*428aa3b9Schristos expr : expr . '+' expr (7) 360*428aa3b9Schristos expr : expr . '-' expr (8) 361*428aa3b9Schristos expr : expr . '*' expr (9) 362*428aa3b9Schristos expr : expr . '/' expr (10) 363*428aa3b9Schristos expr : expr . '%' expr (11) 364*428aa3b9Schristos expr : expr . '&' expr (12) 365*428aa3b9Schristos expr : expr '&' expr . (12) 366*428aa3b9Schristos expr : expr . '|' expr (13) 367*428aa3b9Schristos 368*428aa3b9Schristos '+' shift 18 369*428aa3b9Schristos '-' shift 19 370*428aa3b9Schristos '*' shift 20 371*428aa3b9Schristos '/' shift 21 372*428aa3b9Schristos '%' shift 22 373*428aa3b9Schristos '|' reduce 12 374*428aa3b9Schristos '&' reduce 12 375*428aa3b9Schristos '\n' reduce 12 376*428aa3b9Schristos ')' reduce 12 377*428aa3b9Schristos 378*428aa3b9Schristos 379*428aa3b9Schristosstate 28 380*428aa3b9Schristos expr : expr . '+' expr (7) 381*428aa3b9Schristos expr : expr '+' expr . (7) 382*428aa3b9Schristos expr : expr . '-' expr (8) 383*428aa3b9Schristos expr : expr . '*' expr (9) 384*428aa3b9Schristos expr : expr . '/' expr (10) 385*428aa3b9Schristos expr : expr . '%' expr (11) 386*428aa3b9Schristos expr : expr . '&' expr (12) 387*428aa3b9Schristos expr : expr . '|' expr (13) 388*428aa3b9Schristos 389*428aa3b9Schristos '*' shift 20 390*428aa3b9Schristos '/' shift 21 391*428aa3b9Schristos '%' shift 22 392*428aa3b9Schristos '|' reduce 7 393*428aa3b9Schristos '&' reduce 7 394*428aa3b9Schristos '+' reduce 7 395*428aa3b9Schristos '-' reduce 7 396*428aa3b9Schristos '\n' reduce 7 397*428aa3b9Schristos ')' reduce 7 398*428aa3b9Schristos 399*428aa3b9Schristos 400*428aa3b9Schristosstate 29 401*428aa3b9Schristos expr : expr . '+' expr (7) 402*428aa3b9Schristos expr : expr . '-' expr (8) 403*428aa3b9Schristos expr : expr '-' expr . (8) 404*428aa3b9Schristos expr : expr . '*' expr (9) 405*428aa3b9Schristos expr : expr . '/' expr (10) 406*428aa3b9Schristos expr : expr . '%' expr (11) 407*428aa3b9Schristos expr : expr . '&' expr (12) 408*428aa3b9Schristos expr : expr . '|' expr (13) 409*428aa3b9Schristos 410*428aa3b9Schristos '*' shift 20 411*428aa3b9Schristos '/' shift 21 412*428aa3b9Schristos '%' shift 22 413*428aa3b9Schristos '|' reduce 8 414*428aa3b9Schristos '&' reduce 8 415*428aa3b9Schristos '+' reduce 8 416*428aa3b9Schristos '-' reduce 8 417*428aa3b9Schristos '\n' reduce 8 418*428aa3b9Schristos ')' reduce 8 419*428aa3b9Schristos 420*428aa3b9Schristos 421*428aa3b9Schristosstate 30 422*428aa3b9Schristos expr : expr . '+' expr (7) 423*428aa3b9Schristos expr : expr . '-' expr (8) 424*428aa3b9Schristos expr : expr . '*' expr (9) 425*428aa3b9Schristos expr : expr '*' expr . (9) 426*428aa3b9Schristos expr : expr . '/' expr (10) 427*428aa3b9Schristos expr : expr . '%' expr (11) 428*428aa3b9Schristos expr : expr . '&' expr (12) 429*428aa3b9Schristos expr : expr . '|' expr (13) 430*428aa3b9Schristos 431*428aa3b9Schristos . reduce 9 432*428aa3b9Schristos 433*428aa3b9Schristos 434*428aa3b9Schristosstate 31 435*428aa3b9Schristos expr : expr . '+' expr (7) 436*428aa3b9Schristos expr : expr . '-' expr (8) 437*428aa3b9Schristos expr : expr . '*' expr (9) 438*428aa3b9Schristos expr : expr . '/' expr (10) 439*428aa3b9Schristos expr : expr '/' expr . (10) 440*428aa3b9Schristos expr : expr . '%' expr (11) 441*428aa3b9Schristos expr : expr . '&' expr (12) 442*428aa3b9Schristos expr : expr . '|' expr (13) 443*428aa3b9Schristos 444*428aa3b9Schristos . reduce 10 445*428aa3b9Schristos 446*428aa3b9Schristos 447*428aa3b9Schristosstate 32 448*428aa3b9Schristos expr : expr . '+' expr (7) 449*428aa3b9Schristos expr : expr . '-' expr (8) 450*428aa3b9Schristos expr : expr . '*' expr (9) 451*428aa3b9Schristos expr : expr . '/' expr (10) 452*428aa3b9Schristos expr : expr . '%' expr (11) 453*428aa3b9Schristos expr : expr '%' expr . (11) 454*428aa3b9Schristos expr : expr . '&' expr (12) 455*428aa3b9Schristos expr : expr . '|' expr (13) 456*428aa3b9Schristos 457*428aa3b9Schristos . reduce 11 458*428aa3b9Schristos 459*428aa3b9Schristos 460*428aa3b9Schristos16 terminals, 5 nonterminals 461*428aa3b9Schristos19 grammar rules, 33 states 462