1 0 $accept : list $end 2 3 1 list : 4 2 | list stat '\n' 5 3 | list error '\n' 6 7 4 stat : expr 8 5 | LETTER '=' expr 9 10 6 expr : '(' expr ')' 11 7 | expr "ADD" expr 12 8 | expr "SUB" expr 13 9 | expr "MUL" expr 14 10 | expr "DIV" expr 15 11 | expr "MOD" expr 16 12 | expr "AND" expr 17 13 | expr '|' expr 18 14 | "SUB" expr 19 15 | LETTER 20 16 | number 21 22 17 number : DIGIT 23 18 | number DIGIT 24 25state 0 26 $accept : . list $end (0) 27 list : . (1) 28 29 . reduce 1 30 31 list goto 1 32 33 34state 1 35 $accept : list . $end (0) 36 list : list . stat '\n' (2) 37 list : list . error '\n' (3) 38 39 $end accept 40 error shift 2 41 "SUB" shift 3 42 DIGIT shift 4 43 LETTER shift 5 44 '(' shift 6 45 . error 46 47 stat goto 7 48 expr goto 8 49 number goto 9 50 51 52state 2 53 list : list error . '\n' (3) 54 55 '\n' shift 10 56 . error 57 58 59state 3 60 expr : "SUB" . expr (14) 61 62 "SUB" shift 3 63 DIGIT shift 4 64 LETTER shift 11 65 '(' shift 6 66 . error 67 68 expr goto 12 69 number goto 9 70 71 72state 4 73 number : DIGIT . (17) 74 75 . reduce 17 76 77 78state 5 79 stat : LETTER . '=' expr (5) 80 expr : LETTER . (15) 81 82 '=' shift 13 83 "ADD" reduce 15 84 "SUB" reduce 15 85 "MUL" reduce 15 86 "DIV" reduce 15 87 "MOD" reduce 15 88 "AND" reduce 15 89 '|' reduce 15 90 '\n' reduce 15 91 92 93state 6 94 expr : '(' . expr ')' (6) 95 96 "SUB" shift 3 97 DIGIT shift 4 98 LETTER shift 11 99 '(' shift 6 100 . error 101 102 expr goto 14 103 number goto 9 104 105 106state 7 107 list : list stat . '\n' (2) 108 109 '\n' shift 15 110 . error 111 112 113state 8 114 stat : expr . (4) 115 expr : expr . "ADD" expr (7) 116 expr : expr . "SUB" expr (8) 117 expr : expr . "MUL" expr (9) 118 expr : expr . "DIV" expr (10) 119 expr : expr . "MOD" expr (11) 120 expr : expr . "AND" expr (12) 121 expr : expr . '|' expr (13) 122 123 "ADD" shift 16 124 "SUB" shift 17 125 "MUL" shift 18 126 "DIV" shift 19 127 "MOD" shift 20 128 "AND" shift 21 129 '|' shift 22 130 '\n' reduce 4 131 132 133state 9 134 expr : number . (16) 135 number : number . DIGIT (18) 136 137 DIGIT shift 23 138 "ADD" reduce 16 139 "SUB" reduce 16 140 "MUL" reduce 16 141 "DIV" reduce 16 142 "MOD" reduce 16 143 "AND" reduce 16 144 '|' reduce 16 145 '\n' reduce 16 146 ')' reduce 16 147 148 149state 10 150 list : list error '\n' . (3) 151 152 . reduce 3 153 154 155state 11 156 expr : LETTER . (15) 157 158 . reduce 15 159 160 16112: shift/reduce conflict (shift 16, reduce 14) on "ADD" 16212: shift/reduce conflict (shift 17, reduce 14) on "SUB" 16312: shift/reduce conflict (shift 18, reduce 14) on "MUL" 16412: shift/reduce conflict (shift 19, reduce 14) on "DIV" 16512: shift/reduce conflict (shift 20, reduce 14) on "MOD" 16612: shift/reduce conflict (shift 21, reduce 14) on "AND" 167state 12 168 expr : expr . "ADD" expr (7) 169 expr : expr . "SUB" expr (8) 170 expr : expr . "MUL" expr (9) 171 expr : expr . "DIV" expr (10) 172 expr : expr . "MOD" expr (11) 173 expr : expr . "AND" expr (12) 174 expr : expr . '|' expr (13) 175 expr : "SUB" expr . (14) 176 177 "ADD" shift 16 178 "SUB" shift 17 179 "MUL" shift 18 180 "DIV" shift 19 181 "MOD" shift 20 182 "AND" shift 21 183 '|' reduce 14 184 '\n' reduce 14 185 ')' reduce 14 186 187 188state 13 189 stat : LETTER '=' . expr (5) 190 191 "SUB" shift 3 192 DIGIT shift 4 193 LETTER shift 11 194 '(' shift 6 195 . error 196 197 expr goto 24 198 number goto 9 199 200 201state 14 202 expr : '(' expr . ')' (6) 203 expr : expr . "ADD" expr (7) 204 expr : expr . "SUB" expr (8) 205 expr : expr . "MUL" expr (9) 206 expr : expr . "DIV" expr (10) 207 expr : expr . "MOD" expr (11) 208 expr : expr . "AND" expr (12) 209 expr : expr . '|' expr (13) 210 211 "ADD" shift 16 212 "SUB" shift 17 213 "MUL" shift 18 214 "DIV" shift 19 215 "MOD" shift 20 216 "AND" shift 21 217 '|' shift 22 218 ')' shift 25 219 . error 220 221 222state 15 223 list : list stat '\n' . (2) 224 225 . reduce 2 226 227 228state 16 229 expr : expr "ADD" . expr (7) 230 231 "SUB" shift 3 232 DIGIT shift 4 233 LETTER shift 11 234 '(' shift 6 235 . error 236 237 expr goto 26 238 number goto 9 239 240 241state 17 242 expr : expr "SUB" . expr (8) 243 244 "SUB" shift 3 245 DIGIT shift 4 246 LETTER shift 11 247 '(' shift 6 248 . error 249 250 expr goto 27 251 number goto 9 252 253 254state 18 255 expr : expr "MUL" . expr (9) 256 257 "SUB" shift 3 258 DIGIT shift 4 259 LETTER shift 11 260 '(' shift 6 261 . error 262 263 expr goto 28 264 number goto 9 265 266 267state 19 268 expr : expr "DIV" . expr (10) 269 270 "SUB" shift 3 271 DIGIT shift 4 272 LETTER shift 11 273 '(' shift 6 274 . error 275 276 expr goto 29 277 number goto 9 278 279 280state 20 281 expr : expr "MOD" . expr (11) 282 283 "SUB" shift 3 284 DIGIT shift 4 285 LETTER shift 11 286 '(' shift 6 287 . error 288 289 expr goto 30 290 number goto 9 291 292 293state 21 294 expr : expr "AND" . expr (12) 295 296 "SUB" shift 3 297 DIGIT shift 4 298 LETTER shift 11 299 '(' shift 6 300 . error 301 302 expr goto 31 303 number goto 9 304 305 306state 22 307 expr : expr '|' . expr (13) 308 309 "SUB" shift 3 310 DIGIT shift 4 311 LETTER shift 11 312 '(' shift 6 313 . error 314 315 expr goto 32 316 number goto 9 317 318 319state 23 320 number : number DIGIT . (18) 321 322 . reduce 18 323 324 325state 24 326 stat : LETTER '=' expr . (5) 327 expr : expr . "ADD" expr (7) 328 expr : expr . "SUB" expr (8) 329 expr : expr . "MUL" expr (9) 330 expr : expr . "DIV" expr (10) 331 expr : expr . "MOD" expr (11) 332 expr : expr . "AND" expr (12) 333 expr : expr . '|' expr (13) 334 335 "ADD" shift 16 336 "SUB" shift 17 337 "MUL" shift 18 338 "DIV" shift 19 339 "MOD" shift 20 340 "AND" shift 21 341 '|' shift 22 342 '\n' reduce 5 343 344 345state 25 346 expr : '(' expr ')' . (6) 347 348 . reduce 6 349 350 35126: shift/reduce conflict (shift 16, reduce 7) on "ADD" 35226: shift/reduce conflict (shift 17, reduce 7) on "SUB" 35326: shift/reduce conflict (shift 18, reduce 7) on "MUL" 35426: shift/reduce conflict (shift 19, reduce 7) on "DIV" 35526: shift/reduce conflict (shift 20, reduce 7) on "MOD" 35626: shift/reduce conflict (shift 21, reduce 7) on "AND" 35726: shift/reduce conflict (shift 22, reduce 7) on '|' 358state 26 359 expr : expr . "ADD" expr (7) 360 expr : expr "ADD" expr . (7) 361 expr : expr . "SUB" expr (8) 362 expr : expr . "MUL" expr (9) 363 expr : expr . "DIV" expr (10) 364 expr : expr . "MOD" expr (11) 365 expr : expr . "AND" expr (12) 366 expr : expr . '|' expr (13) 367 368 "ADD" shift 16 369 "SUB" shift 17 370 "MUL" shift 18 371 "DIV" shift 19 372 "MOD" shift 20 373 "AND" shift 21 374 '|' shift 22 375 '\n' reduce 7 376 ')' reduce 7 377 378 37927: shift/reduce conflict (shift 16, reduce 8) on "ADD" 38027: shift/reduce conflict (shift 17, reduce 8) on "SUB" 38127: shift/reduce conflict (shift 18, reduce 8) on "MUL" 38227: shift/reduce conflict (shift 19, reduce 8) on "DIV" 38327: shift/reduce conflict (shift 20, reduce 8) on "MOD" 38427: shift/reduce conflict (shift 21, reduce 8) on "AND" 38527: shift/reduce conflict (shift 22, reduce 8) on '|' 386state 27 387 expr : expr . "ADD" expr (7) 388 expr : expr . "SUB" expr (8) 389 expr : expr "SUB" expr . (8) 390 expr : expr . "MUL" expr (9) 391 expr : expr . "DIV" expr (10) 392 expr : expr . "MOD" expr (11) 393 expr : expr . "AND" expr (12) 394 expr : expr . '|' expr (13) 395 396 "ADD" shift 16 397 "SUB" shift 17 398 "MUL" shift 18 399 "DIV" shift 19 400 "MOD" shift 20 401 "AND" shift 21 402 '|' shift 22 403 '\n' reduce 8 404 ')' reduce 8 405 406 40728: shift/reduce conflict (shift 16, reduce 9) on "ADD" 40828: shift/reduce conflict (shift 17, reduce 9) on "SUB" 40928: shift/reduce conflict (shift 18, reduce 9) on "MUL" 41028: shift/reduce conflict (shift 19, reduce 9) on "DIV" 41128: shift/reduce conflict (shift 20, reduce 9) on "MOD" 41228: shift/reduce conflict (shift 21, reduce 9) on "AND" 41328: shift/reduce conflict (shift 22, reduce 9) on '|' 414state 28 415 expr : expr . "ADD" expr (7) 416 expr : expr . "SUB" expr (8) 417 expr : expr . "MUL" expr (9) 418 expr : expr "MUL" expr . (9) 419 expr : expr . "DIV" expr (10) 420 expr : expr . "MOD" expr (11) 421 expr : expr . "AND" expr (12) 422 expr : expr . '|' expr (13) 423 424 "ADD" shift 16 425 "SUB" shift 17 426 "MUL" shift 18 427 "DIV" shift 19 428 "MOD" shift 20 429 "AND" shift 21 430 '|' shift 22 431 '\n' reduce 9 432 ')' reduce 9 433 434 43529: shift/reduce conflict (shift 16, reduce 10) on "ADD" 43629: shift/reduce conflict (shift 17, reduce 10) on "SUB" 43729: shift/reduce conflict (shift 18, reduce 10) on "MUL" 43829: shift/reduce conflict (shift 19, reduce 10) on "DIV" 43929: shift/reduce conflict (shift 20, reduce 10) on "MOD" 44029: shift/reduce conflict (shift 21, reduce 10) on "AND" 44129: shift/reduce conflict (shift 22, reduce 10) on '|' 442state 29 443 expr : expr . "ADD" expr (7) 444 expr : expr . "SUB" expr (8) 445 expr : expr . "MUL" expr (9) 446 expr : expr . "DIV" expr (10) 447 expr : expr "DIV" expr . (10) 448 expr : expr . "MOD" expr (11) 449 expr : expr . "AND" expr (12) 450 expr : expr . '|' expr (13) 451 452 "ADD" shift 16 453 "SUB" shift 17 454 "MUL" shift 18 455 "DIV" shift 19 456 "MOD" shift 20 457 "AND" shift 21 458 '|' shift 22 459 '\n' reduce 10 460 ')' reduce 10 461 462 46330: shift/reduce conflict (shift 16, reduce 11) on "ADD" 46430: shift/reduce conflict (shift 17, reduce 11) on "SUB" 46530: shift/reduce conflict (shift 18, reduce 11) on "MUL" 46630: shift/reduce conflict (shift 19, reduce 11) on "DIV" 46730: shift/reduce conflict (shift 20, reduce 11) on "MOD" 46830: shift/reduce conflict (shift 21, reduce 11) on "AND" 46930: shift/reduce conflict (shift 22, reduce 11) on '|' 470state 30 471 expr : expr . "ADD" expr (7) 472 expr : expr . "SUB" expr (8) 473 expr : expr . "MUL" expr (9) 474 expr : expr . "DIV" expr (10) 475 expr : expr . "MOD" expr (11) 476 expr : expr "MOD" expr . (11) 477 expr : expr . "AND" expr (12) 478 expr : expr . '|' expr (13) 479 480 "ADD" shift 16 481 "SUB" shift 17 482 "MUL" shift 18 483 "DIV" shift 19 484 "MOD" shift 20 485 "AND" shift 21 486 '|' shift 22 487 '\n' reduce 11 488 ')' reduce 11 489 490 49131: shift/reduce conflict (shift 16, reduce 12) on "ADD" 49231: shift/reduce conflict (shift 17, reduce 12) on "SUB" 49331: shift/reduce conflict (shift 18, reduce 12) on "MUL" 49431: shift/reduce conflict (shift 19, reduce 12) on "DIV" 49531: shift/reduce conflict (shift 20, reduce 12) on "MOD" 49631: shift/reduce conflict (shift 21, reduce 12) on "AND" 49731: shift/reduce conflict (shift 22, reduce 12) on '|' 498state 31 499 expr : expr . "ADD" expr (7) 500 expr : expr . "SUB" expr (8) 501 expr : expr . "MUL" expr (9) 502 expr : expr . "DIV" expr (10) 503 expr : expr . "MOD" expr (11) 504 expr : expr . "AND" expr (12) 505 expr : expr "AND" expr . (12) 506 expr : expr . '|' expr (13) 507 508 "ADD" shift 16 509 "SUB" shift 17 510 "MUL" shift 18 511 "DIV" shift 19 512 "MOD" shift 20 513 "AND" shift 21 514 '|' shift 22 515 '\n' reduce 12 516 ')' reduce 12 517 518 51932: shift/reduce conflict (shift 16, reduce 13) on "ADD" 52032: shift/reduce conflict (shift 17, reduce 13) on "SUB" 52132: shift/reduce conflict (shift 18, reduce 13) on "MUL" 52232: shift/reduce conflict (shift 19, reduce 13) on "DIV" 52332: shift/reduce conflict (shift 20, reduce 13) on "MOD" 52432: shift/reduce conflict (shift 21, reduce 13) on "AND" 525state 32 526 expr : expr . "ADD" expr (7) 527 expr : expr . "SUB" expr (8) 528 expr : expr . "MUL" expr (9) 529 expr : expr . "DIV" expr (10) 530 expr : expr . "MOD" expr (11) 531 expr : expr . "AND" expr (12) 532 expr : expr . '|' expr (13) 533 expr : expr '|' expr . (13) 534 535 "ADD" shift 16 536 "SUB" shift 17 537 "MUL" shift 18 538 "DIV" shift 19 539 "MOD" shift 20 540 "AND" shift 21 541 '|' reduce 13 542 '\n' reduce 13 543 ')' reduce 13 544 545 546State 12 contains 6 shift/reduce conflicts. 547State 26 contains 7 shift/reduce conflicts. 548State 27 contains 7 shift/reduce conflicts. 549State 28 contains 7 shift/reduce conflicts. 550State 29 contains 7 shift/reduce conflicts. 551State 30 contains 7 shift/reduce conflicts. 552State 31 contains 7 shift/reduce conflicts. 553State 32 contains 6 shift/reduce conflicts. 554 555 55628 terminals, 5 nonterminals 55719 grammar rules, 33 states 558