1Terminals unused in grammar 2 3 COMMA_FINAL 4 PLACEHOLDER 5 6 7Grammar 8 9 0 $accept: input $end 10 11 1 input: /* empty */ 12 2 | input line 13 14 3 line: control_line 15 4 | text_line 16 5 | expanded_line 17 6 | HASH non_directive 18 19 7 expanded_line: IF_EXPANDED expression NEWLINE 20 8 | ELIF_EXPANDED expression NEWLINE 21 9 | LINE_EXPANDED integer_constant NEWLINE 22 10 | LINE_EXPANDED integer_constant integer_constant NEWLINE 23 24 11 control_line: HASH_DEFINE OBJ_IDENTIFIER replacement_list NEWLINE 25 12 | HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE 26 13 | HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE 27 14 | HASH_UNDEF IDENTIFIER NEWLINE 28 15 | HASH_LINE pp_tokens NEWLINE 29 16 | HASH_IF conditional_tokens NEWLINE 30 17 | HASH_IF NEWLINE 31 18 | HASH_IFDEF IDENTIFIER junk NEWLINE 32 19 | HASH_IFNDEF IDENTIFIER junk NEWLINE 33 20 | HASH_ELIF conditional_tokens NEWLINE 34 21 | HASH_ELIF NEWLINE 35 36 22 $@1: /* empty */ 37 38 23 control_line: HASH_ELSE $@1 NEWLINE 39 40 24 $@2: /* empty */ 41 42 25 control_line: HASH_ENDIF $@2 NEWLINE 43 26 | HASH_VERSION integer_constant NEWLINE 44 27 | HASH NEWLINE 45 46 28 integer_constant: INTEGER_STRING 47 29 | INTEGER 48 49 30 expression: integer_constant 50 31 | IDENTIFIER 51 32 | expression OR expression 52 33 | expression AND expression 53 34 | expression '|' expression 54 35 | expression '^' expression 55 36 | expression '&' expression 56 37 | expression NOT_EQUAL expression 57 38 | expression EQUAL expression 58 39 | expression GREATER_OR_EQUAL expression 59 40 | expression LESS_OR_EQUAL expression 60 41 | expression '>' expression 61 42 | expression '<' expression 62 43 | expression RIGHT_SHIFT expression 63 44 | expression LEFT_SHIFT expression 64 45 | expression '-' expression 65 46 | expression '+' expression 66 47 | expression '%' expression 67 48 | expression '/' expression 68 49 | expression '*' expression 69 50 | '!' expression 70 51 | '~' expression 71 52 | '-' expression 72 53 | '+' expression 73 54 | '(' expression ')' 74 75 55 identifier_list: IDENTIFIER 76 56 | identifier_list ',' IDENTIFIER 77 78 57 text_line: NEWLINE 79 58 | pp_tokens NEWLINE 80 81 59 non_directive: pp_tokens NEWLINE 82 83 60 replacement_list: /* empty */ 84 61 | pp_tokens 85 86 62 junk: /* empty */ 87 63 | pp_tokens 88 89 64 conditional_token: DEFINED IDENTIFIER 90 65 | DEFINED '(' IDENTIFIER ')' 91 66 | preprocessing_token 92 93 67 conditional_tokens: conditional_token 94 68 | conditional_tokens conditional_token 95 96 69 pp_tokens: preprocessing_token 97 70 | pp_tokens preprocessing_token 98 99 71 preprocessing_token: IDENTIFIER 100 72 | INTEGER_STRING 101 73 | operator 102 74 | OTHER 103 75 | SPACE 104 105 76 operator: '[' 106 77 | ']' 107 78 | '(' 108 79 | ')' 109 80 | '{' 110 81 | '}' 111 82 | '.' 112 83 | '&' 113 84 | '*' 114 85 | '+' 115 86 | '-' 116 87 | '~' 117 88 | '!' 118 89 | '/' 119 90 | '%' 120 91 | LEFT_SHIFT 121 92 | RIGHT_SHIFT 122 93 | '<' 123 94 | '>' 124 95 | LESS_OR_EQUAL 125 96 | GREATER_OR_EQUAL 126 97 | EQUAL 127 98 | NOT_EQUAL 128 99 | '^' 129 100 | '|' 130 101 | AND 131 102 | OR 132 103 | ';' 133 104 | ',' 134 105 | '=' 135 106 | PASTE 136 137 138Terminals, with rules where they appear 139 140$end (0) 0 141'!' (33) 50 88 142'%' (37) 47 90 143'&' (38) 36 83 144'(' (40) 12 13 54 65 78 145')' (41) 12 13 54 65 79 146'*' (42) 49 84 147'+' (43) 46 53 85 148',' (44) 56 104 149'-' (45) 45 52 86 150'.' (46) 82 151'/' (47) 48 89 152';' (59) 103 153'<' (60) 42 93 154'=' (61) 105 155'>' (62) 41 94 156'[' (91) 76 157']' (93) 77 158'^' (94) 35 99 159'{' (123) 80 160'|' (124) 34 100 161'}' (125) 81 162'~' (126) 51 87 163error (256) 164COMMA_FINAL (258) 165DEFINED (259) 64 65 166ELIF_EXPANDED (260) 8 167HASH (261) 6 27 168HASH_DEFINE (262) 11 12 13 169FUNC_IDENTIFIER (263) 12 13 170OBJ_IDENTIFIER (264) 11 171HASH_ELIF (265) 20 21 172HASH_ELSE (266) 23 173HASH_ENDIF (267) 25 174HASH_IF (268) 16 17 175HASH_IFDEF (269) 18 176HASH_IFNDEF (270) 19 177HASH_LINE (271) 15 178HASH_UNDEF (272) 14 179HASH_VERSION (273) 26 180IDENTIFIER (274) 14 18 19 31 55 56 64 65 71 181IF_EXPANDED (275) 7 182INTEGER (276) 29 183INTEGER_STRING (277) 28 72 184LINE_EXPANDED (278) 9 10 185NEWLINE (279) 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27 186 57 58 59 187OTHER (280) 74 188PLACEHOLDER (281) 189SPACE (282) 75 190PASTE (283) 106 191OR (284) 32 102 192AND (285) 33 101 193NOT_EQUAL (286) 37 98 194EQUAL (287) 38 97 195GREATER_OR_EQUAL (288) 39 96 196LESS_OR_EQUAL (289) 40 95 197RIGHT_SHIFT (290) 43 92 198LEFT_SHIFT (291) 44 91 199UNARY (292) 200 201 202Nonterminals, with rules where they appear 203 204$accept (60) 205 on left: 0 206input (61) 207 on left: 1 2, on right: 0 2 208line (62) 209 on left: 3 4 5 6, on right: 2 210expanded_line (63) 211 on left: 7 8 9 10, on right: 5 212control_line (64) 213 on left: 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27, on right: 214 3 215$@1 (65) 216 on left: 22, on right: 23 217$@2 (66) 218 on left: 24, on right: 25 219integer_constant (67) 220 on left: 28 29, on right: 9 10 26 30 221expression (68) 222 on left: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 223 48 49 50 51 52 53 54, on right: 7 8 32 33 34 35 36 37 38 39 40 224 41 42 43 44 45 46 47 48 49 50 51 52 53 54 225identifier_list (69) 226 on left: 55 56, on right: 13 56 227text_line (70) 228 on left: 57 58, on right: 4 229non_directive (71) 230 on left: 59, on right: 6 231replacement_list (72) 232 on left: 60 61, on right: 11 12 13 233junk (73) 234 on left: 62 63, on right: 18 19 235conditional_token (74) 236 on left: 64 65 66, on right: 67 68 237conditional_tokens (75) 238 on left: 67 68, on right: 16 20 68 239pp_tokens (76) 240 on left: 69 70, on right: 15 58 59 61 63 70 241preprocessing_token (77) 242 on left: 71 72 73 74 75, on right: 66 69 70 243operator (78) 244 on left: 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 245 94 95 96 97 98 99 100 101 102 103 104 105 106, on right: 73 246 247 248state 0 249 250 0 $accept: . input $end 251 252 $default reduce using rule 1 (input) 253 254 input go to state 1 255 256 257state 1 258 259 0 $accept: input . $end 260 2 input: input . line 261 262 $end shift, and go to state 2 263 ELIF_EXPANDED shift, and go to state 3 264 HASH shift, and go to state 4 265 HASH_DEFINE shift, and go to state 5 266 HASH_ELIF shift, and go to state 6 267 HASH_ELSE shift, and go to state 7 268 HASH_ENDIF shift, and go to state 8 269 HASH_IF shift, and go to state 9 270 HASH_IFDEF shift, and go to state 10 271 HASH_IFNDEF shift, and go to state 11 272 HASH_LINE shift, and go to state 12 273 HASH_UNDEF shift, and go to state 13 274 HASH_VERSION shift, and go to state 14 275 IDENTIFIER shift, and go to state 15 276 IF_EXPANDED shift, and go to state 16 277 INTEGER_STRING shift, and go to state 17 278 LINE_EXPANDED shift, and go to state 18 279 NEWLINE shift, and go to state 19 280 OTHER shift, and go to state 20 281 SPACE shift, and go to state 21 282 PASTE shift, and go to state 22 283 OR shift, and go to state 23 284 AND shift, and go to state 24 285 '|' shift, and go to state 25 286 '^' shift, and go to state 26 287 '&' shift, and go to state 27 288 NOT_EQUAL shift, and go to state 28 289 EQUAL shift, and go to state 29 290 '<' shift, and go to state 30 291 '>' shift, and go to state 31 292 GREATER_OR_EQUAL shift, and go to state 32 293 LESS_OR_EQUAL shift, and go to state 33 294 RIGHT_SHIFT shift, and go to state 34 295 LEFT_SHIFT shift, and go to state 35 296 '+' shift, and go to state 36 297 '-' shift, and go to state 37 298 '*' shift, and go to state 38 299 '/' shift, and go to state 39 300 '%' shift, and go to state 40 301 '(' shift, and go to state 41 302 ')' shift, and go to state 42 303 '!' shift, and go to state 43 304 '~' shift, and go to state 44 305 ',' shift, and go to state 45 306 '[' shift, and go to state 46 307 ']' shift, and go to state 47 308 '{' shift, and go to state 48 309 '}' shift, and go to state 49 310 '.' shift, and go to state 50 311 ';' shift, and go to state 51 312 '=' shift, and go to state 52 313 314 line go to state 53 315 expanded_line go to state 54 316 control_line go to state 55 317 text_line go to state 56 318 pp_tokens go to state 57 319 preprocessing_token go to state 58 320 operator go to state 59 321 322 323state 2 324 325 0 $accept: input $end . 326 327 $default accept 328 329 330state 3 331 332 8 expanded_line: ELIF_EXPANDED . expression NEWLINE 333 334 IDENTIFIER shift, and go to state 60 335 INTEGER shift, and go to state 61 336 INTEGER_STRING shift, and go to state 62 337 '+' shift, and go to state 63 338 '-' shift, and go to state 64 339 '(' shift, and go to state 65 340 '!' shift, and go to state 66 341 '~' shift, and go to state 67 342 343 integer_constant go to state 68 344 expression go to state 69 345 346 347state 4 348 349 6 line: HASH . non_directive 350 27 control_line: HASH . NEWLINE 351 352 IDENTIFIER shift, and go to state 15 353 INTEGER_STRING shift, and go to state 17 354 NEWLINE shift, and go to state 70 355 OTHER shift, and go to state 20 356 SPACE shift, and go to state 21 357 PASTE shift, and go to state 22 358 OR shift, and go to state 23 359 AND shift, and go to state 24 360 '|' shift, and go to state 25 361 '^' shift, and go to state 26 362 '&' shift, and go to state 27 363 NOT_EQUAL shift, and go to state 28 364 EQUAL shift, and go to state 29 365 '<' shift, and go to state 30 366 '>' shift, and go to state 31 367 GREATER_OR_EQUAL shift, and go to state 32 368 LESS_OR_EQUAL shift, and go to state 33 369 RIGHT_SHIFT shift, and go to state 34 370 LEFT_SHIFT shift, and go to state 35 371 '+' shift, and go to state 36 372 '-' shift, and go to state 37 373 '*' shift, and go to state 38 374 '/' shift, and go to state 39 375 '%' shift, and go to state 40 376 '(' shift, and go to state 41 377 ')' shift, and go to state 42 378 '!' shift, and go to state 43 379 '~' shift, and go to state 44 380 ',' shift, and go to state 45 381 '[' shift, and go to state 46 382 ']' shift, and go to state 47 383 '{' shift, and go to state 48 384 '}' shift, and go to state 49 385 '.' shift, and go to state 50 386 ';' shift, and go to state 51 387 '=' shift, and go to state 52 388 389 non_directive go to state 71 390 pp_tokens go to state 72 391 preprocessing_token go to state 58 392 operator go to state 59 393 394 395state 5 396 397 11 control_line: HASH_DEFINE . OBJ_IDENTIFIER replacement_list NEWLINE 398 12 | HASH_DEFINE . FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE 399 13 | HASH_DEFINE . FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE 400 401 FUNC_IDENTIFIER shift, and go to state 73 402 OBJ_IDENTIFIER shift, and go to state 74 403 404 405state 6 406 407 20 control_line: HASH_ELIF . conditional_tokens NEWLINE 408 21 | HASH_ELIF . NEWLINE 409 410 DEFINED shift, and go to state 75 411 IDENTIFIER shift, and go to state 15 412 INTEGER_STRING shift, and go to state 17 413 NEWLINE shift, and go to state 76 414 OTHER shift, and go to state 20 415 SPACE shift, and go to state 21 416 PASTE shift, and go to state 22 417 OR shift, and go to state 23 418 AND shift, and go to state 24 419 '|' shift, and go to state 25 420 '^' shift, and go to state 26 421 '&' shift, and go to state 27 422 NOT_EQUAL shift, and go to state 28 423 EQUAL shift, and go to state 29 424 '<' shift, and go to state 30 425 '>' shift, and go to state 31 426 GREATER_OR_EQUAL shift, and go to state 32 427 LESS_OR_EQUAL shift, and go to state 33 428 RIGHT_SHIFT shift, and go to state 34 429 LEFT_SHIFT shift, and go to state 35 430 '+' shift, and go to state 36 431 '-' shift, and go to state 37 432 '*' shift, and go to state 38 433 '/' shift, and go to state 39 434 '%' shift, and go to state 40 435 '(' shift, and go to state 41 436 ')' shift, and go to state 42 437 '!' shift, and go to state 43 438 '~' shift, and go to state 44 439 ',' shift, and go to state 45 440 '[' shift, and go to state 46 441 ']' shift, and go to state 47 442 '{' shift, and go to state 48 443 '}' shift, and go to state 49 444 '.' shift, and go to state 50 445 ';' shift, and go to state 51 446 '=' shift, and go to state 52 447 448 conditional_token go to state 77 449 conditional_tokens go to state 78 450 preprocessing_token go to state 79 451 operator go to state 59 452 453 454state 7 455 456 23 control_line: HASH_ELSE . $@1 NEWLINE 457 458 $default reduce using rule 22 ($@1) 459 460 $@1 go to state 80 461 462 463state 8 464 465 25 control_line: HASH_ENDIF . $@2 NEWLINE 466 467 $default reduce using rule 24 ($@2) 468 469 $@2 go to state 81 470 471 472state 9 473 474 16 control_line: HASH_IF . conditional_tokens NEWLINE 475 17 | HASH_IF . NEWLINE 476 477 DEFINED shift, and go to state 75 478 IDENTIFIER shift, and go to state 15 479 INTEGER_STRING shift, and go to state 17 480 NEWLINE shift, and go to state 82 481 OTHER shift, and go to state 20 482 SPACE shift, and go to state 21 483 PASTE shift, and go to state 22 484 OR shift, and go to state 23 485 AND shift, and go to state 24 486 '|' shift, and go to state 25 487 '^' shift, and go to state 26 488 '&' shift, and go to state 27 489 NOT_EQUAL shift, and go to state 28 490 EQUAL shift, and go to state 29 491 '<' shift, and go to state 30 492 '>' shift, and go to state 31 493 GREATER_OR_EQUAL shift, and go to state 32 494 LESS_OR_EQUAL shift, and go to state 33 495 RIGHT_SHIFT shift, and go to state 34 496 LEFT_SHIFT shift, and go to state 35 497 '+' shift, and go to state 36 498 '-' shift, and go to state 37 499 '*' shift, and go to state 38 500 '/' shift, and go to state 39 501 '%' shift, and go to state 40 502 '(' shift, and go to state 41 503 ')' shift, and go to state 42 504 '!' shift, and go to state 43 505 '~' shift, and go to state 44 506 ',' shift, and go to state 45 507 '[' shift, and go to state 46 508 ']' shift, and go to state 47 509 '{' shift, and go to state 48 510 '}' shift, and go to state 49 511 '.' shift, and go to state 50 512 ';' shift, and go to state 51 513 '=' shift, and go to state 52 514 515 conditional_token go to state 77 516 conditional_tokens go to state 83 517 preprocessing_token go to state 79 518 operator go to state 59 519 520 521state 10 522 523 18 control_line: HASH_IFDEF . IDENTIFIER junk NEWLINE 524 525 IDENTIFIER shift, and go to state 84 526 527 528state 11 529 530 19 control_line: HASH_IFNDEF . IDENTIFIER junk NEWLINE 531 532 IDENTIFIER shift, and go to state 85 533 534 535state 12 536 537 15 control_line: HASH_LINE . pp_tokens NEWLINE 538 539 IDENTIFIER shift, and go to state 15 540 INTEGER_STRING shift, and go to state 17 541 OTHER shift, and go to state 20 542 SPACE shift, and go to state 21 543 PASTE shift, and go to state 22 544 OR shift, and go to state 23 545 AND shift, and go to state 24 546 '|' shift, and go to state 25 547 '^' shift, and go to state 26 548 '&' shift, and go to state 27 549 NOT_EQUAL shift, and go to state 28 550 EQUAL shift, and go to state 29 551 '<' shift, and go to state 30 552 '>' shift, and go to state 31 553 GREATER_OR_EQUAL shift, and go to state 32 554 LESS_OR_EQUAL shift, and go to state 33 555 RIGHT_SHIFT shift, and go to state 34 556 LEFT_SHIFT shift, and go to state 35 557 '+' shift, and go to state 36 558 '-' shift, and go to state 37 559 '*' shift, and go to state 38 560 '/' shift, and go to state 39 561 '%' shift, and go to state 40 562 '(' shift, and go to state 41 563 ')' shift, and go to state 42 564 '!' shift, and go to state 43 565 '~' shift, and go to state 44 566 ',' shift, and go to state 45 567 '[' shift, and go to state 46 568 ']' shift, and go to state 47 569 '{' shift, and go to state 48 570 '}' shift, and go to state 49 571 '.' shift, and go to state 50 572 ';' shift, and go to state 51 573 '=' shift, and go to state 52 574 575 pp_tokens go to state 86 576 preprocessing_token go to state 58 577 operator go to state 59 578 579 580state 13 581 582 14 control_line: HASH_UNDEF . IDENTIFIER NEWLINE 583 584 IDENTIFIER shift, and go to state 87 585 586 587state 14 588 589 26 control_line: HASH_VERSION . integer_constant NEWLINE 590 591 INTEGER shift, and go to state 61 592 INTEGER_STRING shift, and go to state 62 593 594 integer_constant go to state 88 595 596 597state 15 598 599 71 preprocessing_token: IDENTIFIER . 600 601 $default reduce using rule 71 (preprocessing_token) 602 603 604state 16 605 606 7 expanded_line: IF_EXPANDED . expression NEWLINE 607 608 IDENTIFIER shift, and go to state 60 609 INTEGER shift, and go to state 61 610 INTEGER_STRING shift, and go to state 62 611 '+' shift, and go to state 63 612 '-' shift, and go to state 64 613 '(' shift, and go to state 65 614 '!' shift, and go to state 66 615 '~' shift, and go to state 67 616 617 integer_constant go to state 68 618 expression go to state 89 619 620 621state 17 622 623 72 preprocessing_token: INTEGER_STRING . 624 625 $default reduce using rule 72 (preprocessing_token) 626 627 628state 18 629 630 9 expanded_line: LINE_EXPANDED . integer_constant NEWLINE 631 10 | LINE_EXPANDED . integer_constant integer_constant NEWLINE 632 633 INTEGER shift, and go to state 61 634 INTEGER_STRING shift, and go to state 62 635 636 integer_constant go to state 90 637 638 639state 19 640 641 57 text_line: NEWLINE . 642 643 $default reduce using rule 57 (text_line) 644 645 646state 20 647 648 74 preprocessing_token: OTHER . 649 650 $default reduce using rule 74 (preprocessing_token) 651 652 653state 21 654 655 75 preprocessing_token: SPACE . 656 657 $default reduce using rule 75 (preprocessing_token) 658 659 660state 22 661 662 106 operator: PASTE . 663 664 $default reduce using rule 106 (operator) 665 666 667state 23 668 669 102 operator: OR . 670 671 $default reduce using rule 102 (operator) 672 673 674state 24 675 676 101 operator: AND . 677 678 $default reduce using rule 101 (operator) 679 680 681state 25 682 683 100 operator: '|' . 684 685 $default reduce using rule 100 (operator) 686 687 688state 26 689 690 99 operator: '^' . 691 692 $default reduce using rule 99 (operator) 693 694 695state 27 696 697 83 operator: '&' . 698 699 $default reduce using rule 83 (operator) 700 701 702state 28 703 704 98 operator: NOT_EQUAL . 705 706 $default reduce using rule 98 (operator) 707 708 709state 29 710 711 97 operator: EQUAL . 712 713 $default reduce using rule 97 (operator) 714 715 716state 30 717 718 93 operator: '<' . 719 720 $default reduce using rule 93 (operator) 721 722 723state 31 724 725 94 operator: '>' . 726 727 $default reduce using rule 94 (operator) 728 729 730state 32 731 732 96 operator: GREATER_OR_EQUAL . 733 734 $default reduce using rule 96 (operator) 735 736 737state 33 738 739 95 operator: LESS_OR_EQUAL . 740 741 $default reduce using rule 95 (operator) 742 743 744state 34 745 746 92 operator: RIGHT_SHIFT . 747 748 $default reduce using rule 92 (operator) 749 750 751state 35 752 753 91 operator: LEFT_SHIFT . 754 755 $default reduce using rule 91 (operator) 756 757 758state 36 759 760 85 operator: '+' . 761 762 $default reduce using rule 85 (operator) 763 764 765state 37 766 767 86 operator: '-' . 768 769 $default reduce using rule 86 (operator) 770 771 772state 38 773 774 84 operator: '*' . 775 776 $default reduce using rule 84 (operator) 777 778 779state 39 780 781 89 operator: '/' . 782 783 $default reduce using rule 89 (operator) 784 785 786state 40 787 788 90 operator: '%' . 789 790 $default reduce using rule 90 (operator) 791 792 793state 41 794 795 78 operator: '(' . 796 797 $default reduce using rule 78 (operator) 798 799 800state 42 801 802 79 operator: ')' . 803 804 $default reduce using rule 79 (operator) 805 806 807state 43 808 809 88 operator: '!' . 810 811 $default reduce using rule 88 (operator) 812 813 814state 44 815 816 87 operator: '~' . 817 818 $default reduce using rule 87 (operator) 819 820 821state 45 822 823 104 operator: ',' . 824 825 $default reduce using rule 104 (operator) 826 827 828state 46 829 830 76 operator: '[' . 831 832 $default reduce using rule 76 (operator) 833 834 835state 47 836 837 77 operator: ']' . 838 839 $default reduce using rule 77 (operator) 840 841 842state 48 843 844 80 operator: '{' . 845 846 $default reduce using rule 80 (operator) 847 848 849state 49 850 851 81 operator: '}' . 852 853 $default reduce using rule 81 (operator) 854 855 856state 50 857 858 82 operator: '.' . 859 860 $default reduce using rule 82 (operator) 861 862 863state 51 864 865 103 operator: ';' . 866 867 $default reduce using rule 103 (operator) 868 869 870state 52 871 872 105 operator: '=' . 873 874 $default reduce using rule 105 (operator) 875 876 877state 53 878 879 2 input: input line . 880 881 $default reduce using rule 2 (input) 882 883 884state 54 885 886 5 line: expanded_line . 887 888 $default reduce using rule 5 (line) 889 890 891state 55 892 893 3 line: control_line . 894 895 $default reduce using rule 3 (line) 896 897 898state 56 899 900 4 line: text_line . 901 902 $default reduce using rule 4 (line) 903 904 905state 57 906 907 58 text_line: pp_tokens . NEWLINE 908 70 pp_tokens: pp_tokens . preprocessing_token 909 910 IDENTIFIER shift, and go to state 15 911 INTEGER_STRING shift, and go to state 17 912 NEWLINE shift, and go to state 91 913 OTHER shift, and go to state 20 914 SPACE shift, and go to state 21 915 PASTE shift, and go to state 22 916 OR shift, and go to state 23 917 AND shift, and go to state 24 918 '|' shift, and go to state 25 919 '^' shift, and go to state 26 920 '&' shift, and go to state 27 921 NOT_EQUAL shift, and go to state 28 922 EQUAL shift, and go to state 29 923 '<' shift, and go to state 30 924 '>' shift, and go to state 31 925 GREATER_OR_EQUAL shift, and go to state 32 926 LESS_OR_EQUAL shift, and go to state 33 927 RIGHT_SHIFT shift, and go to state 34 928 LEFT_SHIFT shift, and go to state 35 929 '+' shift, and go to state 36 930 '-' shift, and go to state 37 931 '*' shift, and go to state 38 932 '/' shift, and go to state 39 933 '%' shift, and go to state 40 934 '(' shift, and go to state 41 935 ')' shift, and go to state 42 936 '!' shift, and go to state 43 937 '~' shift, and go to state 44 938 ',' shift, and go to state 45 939 '[' shift, and go to state 46 940 ']' shift, and go to state 47 941 '{' shift, and go to state 48 942 '}' shift, and go to state 49 943 '.' shift, and go to state 50 944 ';' shift, and go to state 51 945 '=' shift, and go to state 52 946 947 preprocessing_token go to state 92 948 operator go to state 59 949 950 951state 58 952 953 69 pp_tokens: preprocessing_token . 954 955 $default reduce using rule 69 (pp_tokens) 956 957 958state 59 959 960 73 preprocessing_token: operator . 961 962 $default reduce using rule 73 (preprocessing_token) 963 964 965state 60 966 967 31 expression: IDENTIFIER . 968 969 $default reduce using rule 31 (expression) 970 971 972state 61 973 974 29 integer_constant: INTEGER . 975 976 $default reduce using rule 29 (integer_constant) 977 978 979state 62 980 981 28 integer_constant: INTEGER_STRING . 982 983 $default reduce using rule 28 (integer_constant) 984 985 986state 63 987 988 53 expression: '+' . expression 989 990 IDENTIFIER shift, and go to state 60 991 INTEGER shift, and go to state 61 992 INTEGER_STRING shift, and go to state 62 993 '+' shift, and go to state 63 994 '-' shift, and go to state 64 995 '(' shift, and go to state 65 996 '!' shift, and go to state 66 997 '~' shift, and go to state 67 998 999 integer_constant go to state 68 1000 expression go to state 93 1001 1002 1003state 64 1004 1005 52 expression: '-' . expression 1006 1007 IDENTIFIER shift, and go to state 60 1008 INTEGER shift, and go to state 61 1009 INTEGER_STRING shift, and go to state 62 1010 '+' shift, and go to state 63 1011 '-' shift, and go to state 64 1012 '(' shift, and go to state 65 1013 '!' shift, and go to state 66 1014 '~' shift, and go to state 67 1015 1016 integer_constant go to state 68 1017 expression go to state 94 1018 1019 1020state 65 1021 1022 54 expression: '(' . expression ')' 1023 1024 IDENTIFIER shift, and go to state 60 1025 INTEGER shift, and go to state 61 1026 INTEGER_STRING shift, and go to state 62 1027 '+' shift, and go to state 63 1028 '-' shift, and go to state 64 1029 '(' shift, and go to state 65 1030 '!' shift, and go to state 66 1031 '~' shift, and go to state 67 1032 1033 integer_constant go to state 68 1034 expression go to state 95 1035 1036 1037state 66 1038 1039 50 expression: '!' . expression 1040 1041 IDENTIFIER shift, and go to state 60 1042 INTEGER shift, and go to state 61 1043 INTEGER_STRING shift, and go to state 62 1044 '+' shift, and go to state 63 1045 '-' shift, and go to state 64 1046 '(' shift, and go to state 65 1047 '!' shift, and go to state 66 1048 '~' shift, and go to state 67 1049 1050 integer_constant go to state 68 1051 expression go to state 96 1052 1053 1054state 67 1055 1056 51 expression: '~' . expression 1057 1058 IDENTIFIER shift, and go to state 60 1059 INTEGER shift, and go to state 61 1060 INTEGER_STRING shift, and go to state 62 1061 '+' shift, and go to state 63 1062 '-' shift, and go to state 64 1063 '(' shift, and go to state 65 1064 '!' shift, and go to state 66 1065 '~' shift, and go to state 67 1066 1067 integer_constant go to state 68 1068 expression go to state 97 1069 1070 1071state 68 1072 1073 30 expression: integer_constant . 1074 1075 $default reduce using rule 30 (expression) 1076 1077 1078state 69 1079 1080 8 expanded_line: ELIF_EXPANDED expression . NEWLINE 1081 32 expression: expression . OR expression 1082 33 | expression . AND expression 1083 34 | expression . '|' expression 1084 35 | expression . '^' expression 1085 36 | expression . '&' expression 1086 37 | expression . NOT_EQUAL expression 1087 38 | expression . EQUAL expression 1088 39 | expression . GREATER_OR_EQUAL expression 1089 40 | expression . LESS_OR_EQUAL expression 1090 41 | expression . '>' expression 1091 42 | expression . '<' expression 1092 43 | expression . RIGHT_SHIFT expression 1093 44 | expression . LEFT_SHIFT expression 1094 45 | expression . '-' expression 1095 46 | expression . '+' expression 1096 47 | expression . '%' expression 1097 48 | expression . '/' expression 1098 49 | expression . '*' expression 1099 1100 NEWLINE shift, and go to state 98 1101 OR shift, and go to state 99 1102 AND shift, and go to state 100 1103 '|' shift, and go to state 101 1104 '^' shift, and go to state 102 1105 '&' shift, and go to state 103 1106 NOT_EQUAL shift, and go to state 104 1107 EQUAL shift, and go to state 105 1108 '<' shift, and go to state 106 1109 '>' shift, and go to state 107 1110 GREATER_OR_EQUAL shift, and go to state 108 1111 LESS_OR_EQUAL shift, and go to state 109 1112 RIGHT_SHIFT shift, and go to state 110 1113 LEFT_SHIFT shift, and go to state 111 1114 '+' shift, and go to state 112 1115 '-' shift, and go to state 113 1116 '*' shift, and go to state 114 1117 '/' shift, and go to state 115 1118 '%' shift, and go to state 116 1119 1120 1121state 70 1122 1123 27 control_line: HASH NEWLINE . 1124 1125 $default reduce using rule 27 (control_line) 1126 1127 1128state 71 1129 1130 6 line: HASH non_directive . 1131 1132 $default reduce using rule 6 (line) 1133 1134 1135state 72 1136 1137 59 non_directive: pp_tokens . NEWLINE 1138 70 pp_tokens: pp_tokens . preprocessing_token 1139 1140 IDENTIFIER shift, and go to state 15 1141 INTEGER_STRING shift, and go to state 17 1142 NEWLINE shift, and go to state 117 1143 OTHER shift, and go to state 20 1144 SPACE shift, and go to state 21 1145 PASTE shift, and go to state 22 1146 OR shift, and go to state 23 1147 AND shift, and go to state 24 1148 '|' shift, and go to state 25 1149 '^' shift, and go to state 26 1150 '&' shift, and go to state 27 1151 NOT_EQUAL shift, and go to state 28 1152 EQUAL shift, and go to state 29 1153 '<' shift, and go to state 30 1154 '>' shift, and go to state 31 1155 GREATER_OR_EQUAL shift, and go to state 32 1156 LESS_OR_EQUAL shift, and go to state 33 1157 RIGHT_SHIFT shift, and go to state 34 1158 LEFT_SHIFT shift, and go to state 35 1159 '+' shift, and go to state 36 1160 '-' shift, and go to state 37 1161 '*' shift, and go to state 38 1162 '/' shift, and go to state 39 1163 '%' shift, and go to state 40 1164 '(' shift, and go to state 41 1165 ')' shift, and go to state 42 1166 '!' shift, and go to state 43 1167 '~' shift, and go to state 44 1168 ',' shift, and go to state 45 1169 '[' shift, and go to state 46 1170 ']' shift, and go to state 47 1171 '{' shift, and go to state 48 1172 '}' shift, and go to state 49 1173 '.' shift, and go to state 50 1174 ';' shift, and go to state 51 1175 '=' shift, and go to state 52 1176 1177 preprocessing_token go to state 92 1178 operator go to state 59 1179 1180 1181state 73 1182 1183 12 control_line: HASH_DEFINE FUNC_IDENTIFIER . '(' ')' replacement_list NEWLINE 1184 13 | HASH_DEFINE FUNC_IDENTIFIER . '(' identifier_list ')' replacement_list NEWLINE 1185 1186 '(' shift, and go to state 118 1187 1188 1189state 74 1190 1191 11 control_line: HASH_DEFINE OBJ_IDENTIFIER . replacement_list NEWLINE 1192 1193 IDENTIFIER shift, and go to state 15 1194 INTEGER_STRING shift, and go to state 17 1195 OTHER shift, and go to state 20 1196 SPACE shift, and go to state 21 1197 PASTE shift, and go to state 22 1198 OR shift, and go to state 23 1199 AND shift, and go to state 24 1200 '|' shift, and go to state 25 1201 '^' shift, and go to state 26 1202 '&' shift, and go to state 27 1203 NOT_EQUAL shift, and go to state 28 1204 EQUAL shift, and go to state 29 1205 '<' shift, and go to state 30 1206 '>' shift, and go to state 31 1207 GREATER_OR_EQUAL shift, and go to state 32 1208 LESS_OR_EQUAL shift, and go to state 33 1209 RIGHT_SHIFT shift, and go to state 34 1210 LEFT_SHIFT shift, and go to state 35 1211 '+' shift, and go to state 36 1212 '-' shift, and go to state 37 1213 '*' shift, and go to state 38 1214 '/' shift, and go to state 39 1215 '%' shift, and go to state 40 1216 '(' shift, and go to state 41 1217 ')' shift, and go to state 42 1218 '!' shift, and go to state 43 1219 '~' shift, and go to state 44 1220 ',' shift, and go to state 45 1221 '[' shift, and go to state 46 1222 ']' shift, and go to state 47 1223 '{' shift, and go to state 48 1224 '}' shift, and go to state 49 1225 '.' shift, and go to state 50 1226 ';' shift, and go to state 51 1227 '=' shift, and go to state 52 1228 1229 $default reduce using rule 60 (replacement_list) 1230 1231 replacement_list go to state 119 1232 pp_tokens go to state 120 1233 preprocessing_token go to state 58 1234 operator go to state 59 1235 1236 1237state 75 1238 1239 64 conditional_token: DEFINED . IDENTIFIER 1240 65 | DEFINED . '(' IDENTIFIER ')' 1241 1242 IDENTIFIER shift, and go to state 121 1243 '(' shift, and go to state 122 1244 1245 1246state 76 1247 1248 21 control_line: HASH_ELIF NEWLINE . 1249 1250 $default reduce using rule 21 (control_line) 1251 1252 1253state 77 1254 1255 67 conditional_tokens: conditional_token . 1256 1257 $default reduce using rule 67 (conditional_tokens) 1258 1259 1260state 78 1261 1262 20 control_line: HASH_ELIF conditional_tokens . NEWLINE 1263 68 conditional_tokens: conditional_tokens . conditional_token 1264 1265 DEFINED shift, and go to state 75 1266 IDENTIFIER shift, and go to state 15 1267 INTEGER_STRING shift, and go to state 17 1268 NEWLINE shift, and go to state 123 1269 OTHER shift, and go to state 20 1270 SPACE shift, and go to state 21 1271 PASTE shift, and go to state 22 1272 OR shift, and go to state 23 1273 AND shift, and go to state 24 1274 '|' shift, and go to state 25 1275 '^' shift, and go to state 26 1276 '&' shift, and go to state 27 1277 NOT_EQUAL shift, and go to state 28 1278 EQUAL shift, and go to state 29 1279 '<' shift, and go to state 30 1280 '>' shift, and go to state 31 1281 GREATER_OR_EQUAL shift, and go to state 32 1282 LESS_OR_EQUAL shift, and go to state 33 1283 RIGHT_SHIFT shift, and go to state 34 1284 LEFT_SHIFT shift, and go to state 35 1285 '+' shift, and go to state 36 1286 '-' shift, and go to state 37 1287 '*' shift, and go to state 38 1288 '/' shift, and go to state 39 1289 '%' shift, and go to state 40 1290 '(' shift, and go to state 41 1291 ')' shift, and go to state 42 1292 '!' shift, and go to state 43 1293 '~' shift, and go to state 44 1294 ',' shift, and go to state 45 1295 '[' shift, and go to state 46 1296 ']' shift, and go to state 47 1297 '{' shift, and go to state 48 1298 '}' shift, and go to state 49 1299 '.' shift, and go to state 50 1300 ';' shift, and go to state 51 1301 '=' shift, and go to state 52 1302 1303 conditional_token go to state 124 1304 preprocessing_token go to state 79 1305 operator go to state 59 1306 1307 1308state 79 1309 1310 66 conditional_token: preprocessing_token . 1311 1312 $default reduce using rule 66 (conditional_token) 1313 1314 1315state 80 1316 1317 23 control_line: HASH_ELSE $@1 . NEWLINE 1318 1319 NEWLINE shift, and go to state 125 1320 1321 1322state 81 1323 1324 25 control_line: HASH_ENDIF $@2 . NEWLINE 1325 1326 NEWLINE shift, and go to state 126 1327 1328 1329state 82 1330 1331 17 control_line: HASH_IF NEWLINE . 1332 1333 $default reduce using rule 17 (control_line) 1334 1335 1336state 83 1337 1338 16 control_line: HASH_IF conditional_tokens . NEWLINE 1339 68 conditional_tokens: conditional_tokens . conditional_token 1340 1341 DEFINED shift, and go to state 75 1342 IDENTIFIER shift, and go to state 15 1343 INTEGER_STRING shift, and go to state 17 1344 NEWLINE shift, and go to state 127 1345 OTHER shift, and go to state 20 1346 SPACE shift, and go to state 21 1347 PASTE shift, and go to state 22 1348 OR shift, and go to state 23 1349 AND shift, and go to state 24 1350 '|' shift, and go to state 25 1351 '^' shift, and go to state 26 1352 '&' shift, and go to state 27 1353 NOT_EQUAL shift, and go to state 28 1354 EQUAL shift, and go to state 29 1355 '<' shift, and go to state 30 1356 '>' shift, and go to state 31 1357 GREATER_OR_EQUAL shift, and go to state 32 1358 LESS_OR_EQUAL shift, and go to state 33 1359 RIGHT_SHIFT shift, and go to state 34 1360 LEFT_SHIFT shift, and go to state 35 1361 '+' shift, and go to state 36 1362 '-' shift, and go to state 37 1363 '*' shift, and go to state 38 1364 '/' shift, and go to state 39 1365 '%' shift, and go to state 40 1366 '(' shift, and go to state 41 1367 ')' shift, and go to state 42 1368 '!' shift, and go to state 43 1369 '~' shift, and go to state 44 1370 ',' shift, and go to state 45 1371 '[' shift, and go to state 46 1372 ']' shift, and go to state 47 1373 '{' shift, and go to state 48 1374 '}' shift, and go to state 49 1375 '.' shift, and go to state 50 1376 ';' shift, and go to state 51 1377 '=' shift, and go to state 52 1378 1379 conditional_token go to state 124 1380 preprocessing_token go to state 79 1381 operator go to state 59 1382 1383 1384state 84 1385 1386 18 control_line: HASH_IFDEF IDENTIFIER . junk NEWLINE 1387 1388 IDENTIFIER shift, and go to state 15 1389 INTEGER_STRING shift, and go to state 17 1390 OTHER shift, and go to state 20 1391 SPACE shift, and go to state 21 1392 PASTE shift, and go to state 22 1393 OR shift, and go to state 23 1394 AND shift, and go to state 24 1395 '|' shift, and go to state 25 1396 '^' shift, and go to state 26 1397 '&' shift, and go to state 27 1398 NOT_EQUAL shift, and go to state 28 1399 EQUAL shift, and go to state 29 1400 '<' shift, and go to state 30 1401 '>' shift, and go to state 31 1402 GREATER_OR_EQUAL shift, and go to state 32 1403 LESS_OR_EQUAL shift, and go to state 33 1404 RIGHT_SHIFT shift, and go to state 34 1405 LEFT_SHIFT shift, and go to state 35 1406 '+' shift, and go to state 36 1407 '-' shift, and go to state 37 1408 '*' shift, and go to state 38 1409 '/' shift, and go to state 39 1410 '%' shift, and go to state 40 1411 '(' shift, and go to state 41 1412 ')' shift, and go to state 42 1413 '!' shift, and go to state 43 1414 '~' shift, and go to state 44 1415 ',' shift, and go to state 45 1416 '[' shift, and go to state 46 1417 ']' shift, and go to state 47 1418 '{' shift, and go to state 48 1419 '}' shift, and go to state 49 1420 '.' shift, and go to state 50 1421 ';' shift, and go to state 51 1422 '=' shift, and go to state 52 1423 1424 $default reduce using rule 62 (junk) 1425 1426 junk go to state 128 1427 pp_tokens go to state 129 1428 preprocessing_token go to state 58 1429 operator go to state 59 1430 1431 1432state 85 1433 1434 19 control_line: HASH_IFNDEF IDENTIFIER . junk NEWLINE 1435 1436 IDENTIFIER shift, and go to state 15 1437 INTEGER_STRING shift, and go to state 17 1438 OTHER shift, and go to state 20 1439 SPACE shift, and go to state 21 1440 PASTE shift, and go to state 22 1441 OR shift, and go to state 23 1442 AND shift, and go to state 24 1443 '|' shift, and go to state 25 1444 '^' shift, and go to state 26 1445 '&' shift, and go to state 27 1446 NOT_EQUAL shift, and go to state 28 1447 EQUAL shift, and go to state 29 1448 '<' shift, and go to state 30 1449 '>' shift, and go to state 31 1450 GREATER_OR_EQUAL shift, and go to state 32 1451 LESS_OR_EQUAL shift, and go to state 33 1452 RIGHT_SHIFT shift, and go to state 34 1453 LEFT_SHIFT shift, and go to state 35 1454 '+' shift, and go to state 36 1455 '-' shift, and go to state 37 1456 '*' shift, and go to state 38 1457 '/' shift, and go to state 39 1458 '%' shift, and go to state 40 1459 '(' shift, and go to state 41 1460 ')' shift, and go to state 42 1461 '!' shift, and go to state 43 1462 '~' shift, and go to state 44 1463 ',' shift, and go to state 45 1464 '[' shift, and go to state 46 1465 ']' shift, and go to state 47 1466 '{' shift, and go to state 48 1467 '}' shift, and go to state 49 1468 '.' shift, and go to state 50 1469 ';' shift, and go to state 51 1470 '=' shift, and go to state 52 1471 1472 $default reduce using rule 62 (junk) 1473 1474 junk go to state 130 1475 pp_tokens go to state 129 1476 preprocessing_token go to state 58 1477 operator go to state 59 1478 1479 1480state 86 1481 1482 15 control_line: HASH_LINE pp_tokens . NEWLINE 1483 70 pp_tokens: pp_tokens . preprocessing_token 1484 1485 IDENTIFIER shift, and go to state 15 1486 INTEGER_STRING shift, and go to state 17 1487 NEWLINE shift, and go to state 131 1488 OTHER shift, and go to state 20 1489 SPACE shift, and go to state 21 1490 PASTE shift, and go to state 22 1491 OR shift, and go to state 23 1492 AND shift, and go to state 24 1493 '|' shift, and go to state 25 1494 '^' shift, and go to state 26 1495 '&' shift, and go to state 27 1496 NOT_EQUAL shift, and go to state 28 1497 EQUAL shift, and go to state 29 1498 '<' shift, and go to state 30 1499 '>' shift, and go to state 31 1500 GREATER_OR_EQUAL shift, and go to state 32 1501 LESS_OR_EQUAL shift, and go to state 33 1502 RIGHT_SHIFT shift, and go to state 34 1503 LEFT_SHIFT shift, and go to state 35 1504 '+' shift, and go to state 36 1505 '-' shift, and go to state 37 1506 '*' shift, and go to state 38 1507 '/' shift, and go to state 39 1508 '%' shift, and go to state 40 1509 '(' shift, and go to state 41 1510 ')' shift, and go to state 42 1511 '!' shift, and go to state 43 1512 '~' shift, and go to state 44 1513 ',' shift, and go to state 45 1514 '[' shift, and go to state 46 1515 ']' shift, and go to state 47 1516 '{' shift, and go to state 48 1517 '}' shift, and go to state 49 1518 '.' shift, and go to state 50 1519 ';' shift, and go to state 51 1520 '=' shift, and go to state 52 1521 1522 preprocessing_token go to state 92 1523 operator go to state 59 1524 1525 1526state 87 1527 1528 14 control_line: HASH_UNDEF IDENTIFIER . NEWLINE 1529 1530 NEWLINE shift, and go to state 132 1531 1532 1533state 88 1534 1535 26 control_line: HASH_VERSION integer_constant . NEWLINE 1536 1537 NEWLINE shift, and go to state 133 1538 1539 1540state 89 1541 1542 7 expanded_line: IF_EXPANDED expression . NEWLINE 1543 32 expression: expression . OR expression 1544 33 | expression . AND expression 1545 34 | expression . '|' expression 1546 35 | expression . '^' expression 1547 36 | expression . '&' expression 1548 37 | expression . NOT_EQUAL expression 1549 38 | expression . EQUAL expression 1550 39 | expression . GREATER_OR_EQUAL expression 1551 40 | expression . LESS_OR_EQUAL expression 1552 41 | expression . '>' expression 1553 42 | expression . '<' expression 1554 43 | expression . RIGHT_SHIFT expression 1555 44 | expression . LEFT_SHIFT expression 1556 45 | expression . '-' expression 1557 46 | expression . '+' expression 1558 47 | expression . '%' expression 1559 48 | expression . '/' expression 1560 49 | expression . '*' expression 1561 1562 NEWLINE shift, and go to state 134 1563 OR shift, and go to state 99 1564 AND shift, and go to state 100 1565 '|' shift, and go to state 101 1566 '^' shift, and go to state 102 1567 '&' shift, and go to state 103 1568 NOT_EQUAL shift, and go to state 104 1569 EQUAL shift, and go to state 105 1570 '<' shift, and go to state 106 1571 '>' shift, and go to state 107 1572 GREATER_OR_EQUAL shift, and go to state 108 1573 LESS_OR_EQUAL shift, and go to state 109 1574 RIGHT_SHIFT shift, and go to state 110 1575 LEFT_SHIFT shift, and go to state 111 1576 '+' shift, and go to state 112 1577 '-' shift, and go to state 113 1578 '*' shift, and go to state 114 1579 '/' shift, and go to state 115 1580 '%' shift, and go to state 116 1581 1582 1583state 90 1584 1585 9 expanded_line: LINE_EXPANDED integer_constant . NEWLINE 1586 10 | LINE_EXPANDED integer_constant . integer_constant NEWLINE 1587 1588 INTEGER shift, and go to state 61 1589 INTEGER_STRING shift, and go to state 62 1590 NEWLINE shift, and go to state 135 1591 1592 integer_constant go to state 136 1593 1594 1595state 91 1596 1597 58 text_line: pp_tokens NEWLINE . 1598 1599 $default reduce using rule 58 (text_line) 1600 1601 1602state 92 1603 1604 70 pp_tokens: pp_tokens preprocessing_token . 1605 1606 $default reduce using rule 70 (pp_tokens) 1607 1608 1609state 93 1610 1611 32 expression: expression . OR expression 1612 33 | expression . AND expression 1613 34 | expression . '|' expression 1614 35 | expression . '^' expression 1615 36 | expression . '&' expression 1616 37 | expression . NOT_EQUAL expression 1617 38 | expression . EQUAL expression 1618 39 | expression . GREATER_OR_EQUAL expression 1619 40 | expression . LESS_OR_EQUAL expression 1620 41 | expression . '>' expression 1621 42 | expression . '<' expression 1622 43 | expression . RIGHT_SHIFT expression 1623 44 | expression . LEFT_SHIFT expression 1624 45 | expression . '-' expression 1625 46 | expression . '+' expression 1626 47 | expression . '%' expression 1627 48 | expression . '/' expression 1628 49 | expression . '*' expression 1629 53 | '+' expression . 1630 1631 $default reduce using rule 53 (expression) 1632 1633 1634state 94 1635 1636 32 expression: expression . OR expression 1637 33 | expression . AND expression 1638 34 | expression . '|' expression 1639 35 | expression . '^' expression 1640 36 | expression . '&' expression 1641 37 | expression . NOT_EQUAL expression 1642 38 | expression . EQUAL expression 1643 39 | expression . GREATER_OR_EQUAL expression 1644 40 | expression . LESS_OR_EQUAL expression 1645 41 | expression . '>' expression 1646 42 | expression . '<' expression 1647 43 | expression . RIGHT_SHIFT expression 1648 44 | expression . LEFT_SHIFT expression 1649 45 | expression . '-' expression 1650 46 | expression . '+' expression 1651 47 | expression . '%' expression 1652 48 | expression . '/' expression 1653 49 | expression . '*' expression 1654 52 | '-' expression . 1655 1656 $default reduce using rule 52 (expression) 1657 1658 1659state 95 1660 1661 32 expression: expression . OR expression 1662 33 | expression . AND expression 1663 34 | expression . '|' expression 1664 35 | expression . '^' expression 1665 36 | expression . '&' expression 1666 37 | expression . NOT_EQUAL expression 1667 38 | expression . EQUAL expression 1668 39 | expression . GREATER_OR_EQUAL expression 1669 40 | expression . LESS_OR_EQUAL expression 1670 41 | expression . '>' expression 1671 42 | expression . '<' expression 1672 43 | expression . RIGHT_SHIFT expression 1673 44 | expression . LEFT_SHIFT expression 1674 45 | expression . '-' expression 1675 46 | expression . '+' expression 1676 47 | expression . '%' expression 1677 48 | expression . '/' expression 1678 49 | expression . '*' expression 1679 54 | '(' expression . ')' 1680 1681 OR shift, and go to state 99 1682 AND shift, and go to state 100 1683 '|' shift, and go to state 101 1684 '^' shift, and go to state 102 1685 '&' shift, and go to state 103 1686 NOT_EQUAL shift, and go to state 104 1687 EQUAL shift, and go to state 105 1688 '<' shift, and go to state 106 1689 '>' shift, and go to state 107 1690 GREATER_OR_EQUAL shift, and go to state 108 1691 LESS_OR_EQUAL shift, and go to state 109 1692 RIGHT_SHIFT shift, and go to state 110 1693 LEFT_SHIFT shift, and go to state 111 1694 '+' shift, and go to state 112 1695 '-' shift, and go to state 113 1696 '*' shift, and go to state 114 1697 '/' shift, and go to state 115 1698 '%' shift, and go to state 116 1699 ')' shift, and go to state 137 1700 1701 1702state 96 1703 1704 32 expression: expression . OR expression 1705 33 | expression . AND expression 1706 34 | expression . '|' expression 1707 35 | expression . '^' expression 1708 36 | expression . '&' expression 1709 37 | expression . NOT_EQUAL expression 1710 38 | expression . EQUAL expression 1711 39 | expression . GREATER_OR_EQUAL expression 1712 40 | expression . LESS_OR_EQUAL expression 1713 41 | expression . '>' expression 1714 42 | expression . '<' expression 1715 43 | expression . RIGHT_SHIFT expression 1716 44 | expression . LEFT_SHIFT expression 1717 45 | expression . '-' expression 1718 46 | expression . '+' expression 1719 47 | expression . '%' expression 1720 48 | expression . '/' expression 1721 49 | expression . '*' expression 1722 50 | '!' expression . 1723 1724 $default reduce using rule 50 (expression) 1725 1726 1727state 97 1728 1729 32 expression: expression . OR expression 1730 33 | expression . AND expression 1731 34 | expression . '|' expression 1732 35 | expression . '^' expression 1733 36 | expression . '&' expression 1734 37 | expression . NOT_EQUAL expression 1735 38 | expression . EQUAL expression 1736 39 | expression . GREATER_OR_EQUAL expression 1737 40 | expression . LESS_OR_EQUAL expression 1738 41 | expression . '>' expression 1739 42 | expression . '<' expression 1740 43 | expression . RIGHT_SHIFT expression 1741 44 | expression . LEFT_SHIFT expression 1742 45 | expression . '-' expression 1743 46 | expression . '+' expression 1744 47 | expression . '%' expression 1745 48 | expression . '/' expression 1746 49 | expression . '*' expression 1747 51 | '~' expression . 1748 1749 $default reduce using rule 51 (expression) 1750 1751 1752state 98 1753 1754 8 expanded_line: ELIF_EXPANDED expression NEWLINE . 1755 1756 $default reduce using rule 8 (expanded_line) 1757 1758 1759state 99 1760 1761 32 expression: expression OR . expression 1762 1763 IDENTIFIER shift, and go to state 60 1764 INTEGER shift, and go to state 61 1765 INTEGER_STRING shift, and go to state 62 1766 '+' shift, and go to state 63 1767 '-' shift, and go to state 64 1768 '(' shift, and go to state 65 1769 '!' shift, and go to state 66 1770 '~' shift, and go to state 67 1771 1772 integer_constant go to state 68 1773 expression go to state 138 1774 1775 1776state 100 1777 1778 33 expression: expression AND . expression 1779 1780 IDENTIFIER shift, and go to state 60 1781 INTEGER shift, and go to state 61 1782 INTEGER_STRING shift, and go to state 62 1783 '+' shift, and go to state 63 1784 '-' shift, and go to state 64 1785 '(' shift, and go to state 65 1786 '!' shift, and go to state 66 1787 '~' shift, and go to state 67 1788 1789 integer_constant go to state 68 1790 expression go to state 139 1791 1792 1793state 101 1794 1795 34 expression: expression '|' . expression 1796 1797 IDENTIFIER shift, and go to state 60 1798 INTEGER shift, and go to state 61 1799 INTEGER_STRING shift, and go to state 62 1800 '+' shift, and go to state 63 1801 '-' shift, and go to state 64 1802 '(' shift, and go to state 65 1803 '!' shift, and go to state 66 1804 '~' shift, and go to state 67 1805 1806 integer_constant go to state 68 1807 expression go to state 140 1808 1809 1810state 102 1811 1812 35 expression: expression '^' . expression 1813 1814 IDENTIFIER shift, and go to state 60 1815 INTEGER shift, and go to state 61 1816 INTEGER_STRING shift, and go to state 62 1817 '+' shift, and go to state 63 1818 '-' shift, and go to state 64 1819 '(' shift, and go to state 65 1820 '!' shift, and go to state 66 1821 '~' shift, and go to state 67 1822 1823 integer_constant go to state 68 1824 expression go to state 141 1825 1826 1827state 103 1828 1829 36 expression: expression '&' . expression 1830 1831 IDENTIFIER shift, and go to state 60 1832 INTEGER shift, and go to state 61 1833 INTEGER_STRING shift, and go to state 62 1834 '+' shift, and go to state 63 1835 '-' shift, and go to state 64 1836 '(' shift, and go to state 65 1837 '!' shift, and go to state 66 1838 '~' shift, and go to state 67 1839 1840 integer_constant go to state 68 1841 expression go to state 142 1842 1843 1844state 104 1845 1846 37 expression: expression NOT_EQUAL . expression 1847 1848 IDENTIFIER shift, and go to state 60 1849 INTEGER shift, and go to state 61 1850 INTEGER_STRING shift, and go to state 62 1851 '+' shift, and go to state 63 1852 '-' shift, and go to state 64 1853 '(' shift, and go to state 65 1854 '!' shift, and go to state 66 1855 '~' shift, and go to state 67 1856 1857 integer_constant go to state 68 1858 expression go to state 143 1859 1860 1861state 105 1862 1863 38 expression: expression EQUAL . expression 1864 1865 IDENTIFIER shift, and go to state 60 1866 INTEGER shift, and go to state 61 1867 INTEGER_STRING shift, and go to state 62 1868 '+' shift, and go to state 63 1869 '-' shift, and go to state 64 1870 '(' shift, and go to state 65 1871 '!' shift, and go to state 66 1872 '~' shift, and go to state 67 1873 1874 integer_constant go to state 68 1875 expression go to state 144 1876 1877 1878state 106 1879 1880 42 expression: expression '<' . expression 1881 1882 IDENTIFIER shift, and go to state 60 1883 INTEGER shift, and go to state 61 1884 INTEGER_STRING shift, and go to state 62 1885 '+' shift, and go to state 63 1886 '-' shift, and go to state 64 1887 '(' shift, and go to state 65 1888 '!' shift, and go to state 66 1889 '~' shift, and go to state 67 1890 1891 integer_constant go to state 68 1892 expression go to state 145 1893 1894 1895state 107 1896 1897 41 expression: expression '>' . expression 1898 1899 IDENTIFIER shift, and go to state 60 1900 INTEGER shift, and go to state 61 1901 INTEGER_STRING shift, and go to state 62 1902 '+' shift, and go to state 63 1903 '-' shift, and go to state 64 1904 '(' shift, and go to state 65 1905 '!' shift, and go to state 66 1906 '~' shift, and go to state 67 1907 1908 integer_constant go to state 68 1909 expression go to state 146 1910 1911 1912state 108 1913 1914 39 expression: expression GREATER_OR_EQUAL . expression 1915 1916 IDENTIFIER shift, and go to state 60 1917 INTEGER shift, and go to state 61 1918 INTEGER_STRING shift, and go to state 62 1919 '+' shift, and go to state 63 1920 '-' shift, and go to state 64 1921 '(' shift, and go to state 65 1922 '!' shift, and go to state 66 1923 '~' shift, and go to state 67 1924 1925 integer_constant go to state 68 1926 expression go to state 147 1927 1928 1929state 109 1930 1931 40 expression: expression LESS_OR_EQUAL . expression 1932 1933 IDENTIFIER shift, and go to state 60 1934 INTEGER shift, and go to state 61 1935 INTEGER_STRING shift, and go to state 62 1936 '+' shift, and go to state 63 1937 '-' shift, and go to state 64 1938 '(' shift, and go to state 65 1939 '!' shift, and go to state 66 1940 '~' shift, and go to state 67 1941 1942 integer_constant go to state 68 1943 expression go to state 148 1944 1945 1946state 110 1947 1948 43 expression: expression RIGHT_SHIFT . expression 1949 1950 IDENTIFIER shift, and go to state 60 1951 INTEGER shift, and go to state 61 1952 INTEGER_STRING shift, and go to state 62 1953 '+' shift, and go to state 63 1954 '-' shift, and go to state 64 1955 '(' shift, and go to state 65 1956 '!' shift, and go to state 66 1957 '~' shift, and go to state 67 1958 1959 integer_constant go to state 68 1960 expression go to state 149 1961 1962 1963state 111 1964 1965 44 expression: expression LEFT_SHIFT . expression 1966 1967 IDENTIFIER shift, and go to state 60 1968 INTEGER shift, and go to state 61 1969 INTEGER_STRING shift, and go to state 62 1970 '+' shift, and go to state 63 1971 '-' shift, and go to state 64 1972 '(' shift, and go to state 65 1973 '!' shift, and go to state 66 1974 '~' shift, and go to state 67 1975 1976 integer_constant go to state 68 1977 expression go to state 150 1978 1979 1980state 112 1981 1982 46 expression: expression '+' . expression 1983 1984 IDENTIFIER shift, and go to state 60 1985 INTEGER shift, and go to state 61 1986 INTEGER_STRING shift, and go to state 62 1987 '+' shift, and go to state 63 1988 '-' shift, and go to state 64 1989 '(' shift, and go to state 65 1990 '!' shift, and go to state 66 1991 '~' shift, and go to state 67 1992 1993 integer_constant go to state 68 1994 expression go to state 151 1995 1996 1997state 113 1998 1999 45 expression: expression '-' . expression 2000 2001 IDENTIFIER shift, and go to state 60 2002 INTEGER shift, and go to state 61 2003 INTEGER_STRING shift, and go to state 62 2004 '+' shift, and go to state 63 2005 '-' shift, and go to state 64 2006 '(' shift, and go to state 65 2007 '!' shift, and go to state 66 2008 '~' shift, and go to state 67 2009 2010 integer_constant go to state 68 2011 expression go to state 152 2012 2013 2014state 114 2015 2016 49 expression: expression '*' . expression 2017 2018 IDENTIFIER shift, and go to state 60 2019 INTEGER shift, and go to state 61 2020 INTEGER_STRING shift, and go to state 62 2021 '+' shift, and go to state 63 2022 '-' shift, and go to state 64 2023 '(' shift, and go to state 65 2024 '!' shift, and go to state 66 2025 '~' shift, and go to state 67 2026 2027 integer_constant go to state 68 2028 expression go to state 153 2029 2030 2031state 115 2032 2033 48 expression: expression '/' . expression 2034 2035 IDENTIFIER shift, and go to state 60 2036 INTEGER shift, and go to state 61 2037 INTEGER_STRING shift, and go to state 62 2038 '+' shift, and go to state 63 2039 '-' shift, and go to state 64 2040 '(' shift, and go to state 65 2041 '!' shift, and go to state 66 2042 '~' shift, and go to state 67 2043 2044 integer_constant go to state 68 2045 expression go to state 154 2046 2047 2048state 116 2049 2050 47 expression: expression '%' . expression 2051 2052 IDENTIFIER shift, and go to state 60 2053 INTEGER shift, and go to state 61 2054 INTEGER_STRING shift, and go to state 62 2055 '+' shift, and go to state 63 2056 '-' shift, and go to state 64 2057 '(' shift, and go to state 65 2058 '!' shift, and go to state 66 2059 '~' shift, and go to state 67 2060 2061 integer_constant go to state 68 2062 expression go to state 155 2063 2064 2065state 117 2066 2067 59 non_directive: pp_tokens NEWLINE . 2068 2069 $default reduce using rule 59 (non_directive) 2070 2071 2072state 118 2073 2074 12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' . ')' replacement_list NEWLINE 2075 13 | HASH_DEFINE FUNC_IDENTIFIER '(' . identifier_list ')' replacement_list NEWLINE 2076 2077 IDENTIFIER shift, and go to state 156 2078 ')' shift, and go to state 157 2079 2080 identifier_list go to state 158 2081 2082 2083state 119 2084 2085 11 control_line: HASH_DEFINE OBJ_IDENTIFIER replacement_list . NEWLINE 2086 2087 NEWLINE shift, and go to state 159 2088 2089 2090state 120 2091 2092 61 replacement_list: pp_tokens . 2093 70 pp_tokens: pp_tokens . preprocessing_token 2094 2095 IDENTIFIER shift, and go to state 15 2096 INTEGER_STRING shift, and go to state 17 2097 OTHER shift, and go to state 20 2098 SPACE shift, and go to state 21 2099 PASTE shift, and go to state 22 2100 OR shift, and go to state 23 2101 AND shift, and go to state 24 2102 '|' shift, and go to state 25 2103 '^' shift, and go to state 26 2104 '&' shift, and go to state 27 2105 NOT_EQUAL shift, and go to state 28 2106 EQUAL shift, and go to state 29 2107 '<' shift, and go to state 30 2108 '>' shift, and go to state 31 2109 GREATER_OR_EQUAL shift, and go to state 32 2110 LESS_OR_EQUAL shift, and go to state 33 2111 RIGHT_SHIFT shift, and go to state 34 2112 LEFT_SHIFT shift, and go to state 35 2113 '+' shift, and go to state 36 2114 '-' shift, and go to state 37 2115 '*' shift, and go to state 38 2116 '/' shift, and go to state 39 2117 '%' shift, and go to state 40 2118 '(' shift, and go to state 41 2119 ')' shift, and go to state 42 2120 '!' shift, and go to state 43 2121 '~' shift, and go to state 44 2122 ',' shift, and go to state 45 2123 '[' shift, and go to state 46 2124 ']' shift, and go to state 47 2125 '{' shift, and go to state 48 2126 '}' shift, and go to state 49 2127 '.' shift, and go to state 50 2128 ';' shift, and go to state 51 2129 '=' shift, and go to state 52 2130 2131 $default reduce using rule 61 (replacement_list) 2132 2133 preprocessing_token go to state 92 2134 operator go to state 59 2135 2136 2137state 121 2138 2139 64 conditional_token: DEFINED IDENTIFIER . 2140 2141 $default reduce using rule 64 (conditional_token) 2142 2143 2144state 122 2145 2146 65 conditional_token: DEFINED '(' . IDENTIFIER ')' 2147 2148 IDENTIFIER shift, and go to state 160 2149 2150 2151state 123 2152 2153 20 control_line: HASH_ELIF conditional_tokens NEWLINE . 2154 2155 $default reduce using rule 20 (control_line) 2156 2157 2158state 124 2159 2160 68 conditional_tokens: conditional_tokens conditional_token . 2161 2162 $default reduce using rule 68 (conditional_tokens) 2163 2164 2165state 125 2166 2167 23 control_line: HASH_ELSE $@1 NEWLINE . 2168 2169 $default reduce using rule 23 (control_line) 2170 2171 2172state 126 2173 2174 25 control_line: HASH_ENDIF $@2 NEWLINE . 2175 2176 $default reduce using rule 25 (control_line) 2177 2178 2179state 127 2180 2181 16 control_line: HASH_IF conditional_tokens NEWLINE . 2182 2183 $default reduce using rule 16 (control_line) 2184 2185 2186state 128 2187 2188 18 control_line: HASH_IFDEF IDENTIFIER junk . NEWLINE 2189 2190 NEWLINE shift, and go to state 161 2191 2192 2193state 129 2194 2195 63 junk: pp_tokens . 2196 70 pp_tokens: pp_tokens . preprocessing_token 2197 2198 IDENTIFIER shift, and go to state 15 2199 INTEGER_STRING shift, and go to state 17 2200 OTHER shift, and go to state 20 2201 SPACE shift, and go to state 21 2202 PASTE shift, and go to state 22 2203 OR shift, and go to state 23 2204 AND shift, and go to state 24 2205 '|' shift, and go to state 25 2206 '^' shift, and go to state 26 2207 '&' shift, and go to state 27 2208 NOT_EQUAL shift, and go to state 28 2209 EQUAL shift, and go to state 29 2210 '<' shift, and go to state 30 2211 '>' shift, and go to state 31 2212 GREATER_OR_EQUAL shift, and go to state 32 2213 LESS_OR_EQUAL shift, and go to state 33 2214 RIGHT_SHIFT shift, and go to state 34 2215 LEFT_SHIFT shift, and go to state 35 2216 '+' shift, and go to state 36 2217 '-' shift, and go to state 37 2218 '*' shift, and go to state 38 2219 '/' shift, and go to state 39 2220 '%' shift, and go to state 40 2221 '(' shift, and go to state 41 2222 ')' shift, and go to state 42 2223 '!' shift, and go to state 43 2224 '~' shift, and go to state 44 2225 ',' shift, and go to state 45 2226 '[' shift, and go to state 46 2227 ']' shift, and go to state 47 2228 '{' shift, and go to state 48 2229 '}' shift, and go to state 49 2230 '.' shift, and go to state 50 2231 ';' shift, and go to state 51 2232 '=' shift, and go to state 52 2233 2234 $default reduce using rule 63 (junk) 2235 2236 preprocessing_token go to state 92 2237 operator go to state 59 2238 2239 2240state 130 2241 2242 19 control_line: HASH_IFNDEF IDENTIFIER junk . NEWLINE 2243 2244 NEWLINE shift, and go to state 162 2245 2246 2247state 131 2248 2249 15 control_line: HASH_LINE pp_tokens NEWLINE . 2250 2251 $default reduce using rule 15 (control_line) 2252 2253 2254state 132 2255 2256 14 control_line: HASH_UNDEF IDENTIFIER NEWLINE . 2257 2258 $default reduce using rule 14 (control_line) 2259 2260 2261state 133 2262 2263 26 control_line: HASH_VERSION integer_constant NEWLINE . 2264 2265 $default reduce using rule 26 (control_line) 2266 2267 2268state 134 2269 2270 7 expanded_line: IF_EXPANDED expression NEWLINE . 2271 2272 $default reduce using rule 7 (expanded_line) 2273 2274 2275state 135 2276 2277 9 expanded_line: LINE_EXPANDED integer_constant NEWLINE . 2278 2279 $default reduce using rule 9 (expanded_line) 2280 2281 2282state 136 2283 2284 10 expanded_line: LINE_EXPANDED integer_constant integer_constant . NEWLINE 2285 2286 NEWLINE shift, and go to state 163 2287 2288 2289state 137 2290 2291 54 expression: '(' expression ')' . 2292 2293 $default reduce using rule 54 (expression) 2294 2295 2296state 138 2297 2298 32 expression: expression . OR expression 2299 32 | expression OR expression . 2300 33 | expression . AND expression 2301 34 | expression . '|' expression 2302 35 | expression . '^' expression 2303 36 | expression . '&' expression 2304 37 | expression . NOT_EQUAL expression 2305 38 | expression . EQUAL expression 2306 39 | expression . GREATER_OR_EQUAL expression 2307 40 | expression . LESS_OR_EQUAL expression 2308 41 | expression . '>' expression 2309 42 | expression . '<' expression 2310 43 | expression . RIGHT_SHIFT expression 2311 44 | expression . LEFT_SHIFT expression 2312 45 | expression . '-' expression 2313 46 | expression . '+' expression 2314 47 | expression . '%' expression 2315 48 | expression . '/' expression 2316 49 | expression . '*' expression 2317 2318 AND shift, and go to state 100 2319 '|' shift, and go to state 101 2320 '^' shift, and go to state 102 2321 '&' shift, and go to state 103 2322 NOT_EQUAL shift, and go to state 104 2323 EQUAL shift, and go to state 105 2324 '<' shift, and go to state 106 2325 '>' shift, and go to state 107 2326 GREATER_OR_EQUAL shift, and go to state 108 2327 LESS_OR_EQUAL shift, and go to state 109 2328 RIGHT_SHIFT shift, and go to state 110 2329 LEFT_SHIFT shift, and go to state 111 2330 '+' shift, and go to state 112 2331 '-' shift, and go to state 113 2332 '*' shift, and go to state 114 2333 '/' shift, and go to state 115 2334 '%' shift, and go to state 116 2335 2336 $default reduce using rule 32 (expression) 2337 2338 2339state 139 2340 2341 32 expression: expression . OR expression 2342 33 | expression . AND expression 2343 33 | expression AND expression . 2344 34 | expression . '|' expression 2345 35 | expression . '^' expression 2346 36 | expression . '&' expression 2347 37 | expression . NOT_EQUAL expression 2348 38 | expression . EQUAL expression 2349 39 | expression . GREATER_OR_EQUAL expression 2350 40 | expression . LESS_OR_EQUAL expression 2351 41 | expression . '>' expression 2352 42 | expression . '<' expression 2353 43 | expression . RIGHT_SHIFT expression 2354 44 | expression . LEFT_SHIFT expression 2355 45 | expression . '-' expression 2356 46 | expression . '+' expression 2357 47 | expression . '%' expression 2358 48 | expression . '/' expression 2359 49 | expression . '*' expression 2360 2361 '|' shift, and go to state 101 2362 '^' shift, and go to state 102 2363 '&' shift, and go to state 103 2364 NOT_EQUAL shift, and go to state 104 2365 EQUAL shift, and go to state 105 2366 '<' shift, and go to state 106 2367 '>' shift, and go to state 107 2368 GREATER_OR_EQUAL shift, and go to state 108 2369 LESS_OR_EQUAL shift, and go to state 109 2370 RIGHT_SHIFT shift, and go to state 110 2371 LEFT_SHIFT shift, and go to state 111 2372 '+' shift, and go to state 112 2373 '-' shift, and go to state 113 2374 '*' shift, and go to state 114 2375 '/' shift, and go to state 115 2376 '%' shift, and go to state 116 2377 2378 $default reduce using rule 33 (expression) 2379 2380 2381state 140 2382 2383 32 expression: expression . OR expression 2384 33 | expression . AND expression 2385 34 | expression . '|' expression 2386 34 | expression '|' expression . 2387 35 | expression . '^' expression 2388 36 | expression . '&' expression 2389 37 | expression . NOT_EQUAL expression 2390 38 | expression . EQUAL expression 2391 39 | expression . GREATER_OR_EQUAL expression 2392 40 | expression . LESS_OR_EQUAL expression 2393 41 | expression . '>' expression 2394 42 | expression . '<' expression 2395 43 | expression . RIGHT_SHIFT expression 2396 44 | expression . LEFT_SHIFT expression 2397 45 | expression . '-' expression 2398 46 | expression . '+' expression 2399 47 | expression . '%' expression 2400 48 | expression . '/' expression 2401 49 | expression . '*' expression 2402 2403 '^' shift, and go to state 102 2404 '&' shift, and go to state 103 2405 NOT_EQUAL shift, and go to state 104 2406 EQUAL shift, and go to state 105 2407 '<' shift, and go to state 106 2408 '>' shift, and go to state 107 2409 GREATER_OR_EQUAL shift, and go to state 108 2410 LESS_OR_EQUAL shift, and go to state 109 2411 RIGHT_SHIFT shift, and go to state 110 2412 LEFT_SHIFT shift, and go to state 111 2413 '+' shift, and go to state 112 2414 '-' shift, and go to state 113 2415 '*' shift, and go to state 114 2416 '/' shift, and go to state 115 2417 '%' shift, and go to state 116 2418 2419 $default reduce using rule 34 (expression) 2420 2421 2422state 141 2423 2424 32 expression: expression . OR expression 2425 33 | expression . AND expression 2426 34 | expression . '|' expression 2427 35 | expression . '^' expression 2428 35 | expression '^' expression . 2429 36 | expression . '&' expression 2430 37 | expression . NOT_EQUAL expression 2431 38 | expression . EQUAL expression 2432 39 | expression . GREATER_OR_EQUAL expression 2433 40 | expression . LESS_OR_EQUAL expression 2434 41 | expression . '>' expression 2435 42 | expression . '<' expression 2436 43 | expression . RIGHT_SHIFT expression 2437 44 | expression . LEFT_SHIFT expression 2438 45 | expression . '-' expression 2439 46 | expression . '+' expression 2440 47 | expression . '%' expression 2441 48 | expression . '/' expression 2442 49 | expression . '*' expression 2443 2444 '&' shift, and go to state 103 2445 NOT_EQUAL shift, and go to state 104 2446 EQUAL shift, and go to state 105 2447 '<' shift, and go to state 106 2448 '>' shift, and go to state 107 2449 GREATER_OR_EQUAL shift, and go to state 108 2450 LESS_OR_EQUAL shift, and go to state 109 2451 RIGHT_SHIFT shift, and go to state 110 2452 LEFT_SHIFT shift, and go to state 111 2453 '+' shift, and go to state 112 2454 '-' shift, and go to state 113 2455 '*' shift, and go to state 114 2456 '/' shift, and go to state 115 2457 '%' shift, and go to state 116 2458 2459 $default reduce using rule 35 (expression) 2460 2461 2462state 142 2463 2464 32 expression: expression . OR expression 2465 33 | expression . AND expression 2466 34 | expression . '|' expression 2467 35 | expression . '^' expression 2468 36 | expression . '&' expression 2469 36 | expression '&' expression . 2470 37 | expression . NOT_EQUAL expression 2471 38 | expression . EQUAL expression 2472 39 | expression . GREATER_OR_EQUAL expression 2473 40 | expression . LESS_OR_EQUAL expression 2474 41 | expression . '>' expression 2475 42 | expression . '<' expression 2476 43 | expression . RIGHT_SHIFT expression 2477 44 | expression . LEFT_SHIFT expression 2478 45 | expression . '-' expression 2479 46 | expression . '+' expression 2480 47 | expression . '%' expression 2481 48 | expression . '/' expression 2482 49 | expression . '*' expression 2483 2484 NOT_EQUAL shift, and go to state 104 2485 EQUAL shift, and go to state 105 2486 '<' shift, and go to state 106 2487 '>' shift, and go to state 107 2488 GREATER_OR_EQUAL shift, and go to state 108 2489 LESS_OR_EQUAL shift, and go to state 109 2490 RIGHT_SHIFT shift, and go to state 110 2491 LEFT_SHIFT shift, and go to state 111 2492 '+' shift, and go to state 112 2493 '-' shift, and go to state 113 2494 '*' shift, and go to state 114 2495 '/' shift, and go to state 115 2496 '%' shift, and go to state 116 2497 2498 $default reduce using rule 36 (expression) 2499 2500 2501state 143 2502 2503 32 expression: expression . OR expression 2504 33 | expression . AND expression 2505 34 | expression . '|' expression 2506 35 | expression . '^' expression 2507 36 | expression . '&' expression 2508 37 | expression . NOT_EQUAL expression 2509 37 | expression NOT_EQUAL expression . 2510 38 | expression . EQUAL expression 2511 39 | expression . GREATER_OR_EQUAL expression 2512 40 | expression . LESS_OR_EQUAL expression 2513 41 | expression . '>' expression 2514 42 | expression . '<' expression 2515 43 | expression . RIGHT_SHIFT expression 2516 44 | expression . LEFT_SHIFT expression 2517 45 | expression . '-' expression 2518 46 | expression . '+' expression 2519 47 | expression . '%' expression 2520 48 | expression . '/' expression 2521 49 | expression . '*' expression 2522 2523 '<' shift, and go to state 106 2524 '>' shift, and go to state 107 2525 GREATER_OR_EQUAL shift, and go to state 108 2526 LESS_OR_EQUAL shift, and go to state 109 2527 RIGHT_SHIFT shift, and go to state 110 2528 LEFT_SHIFT shift, and go to state 111 2529 '+' shift, and go to state 112 2530 '-' shift, and go to state 113 2531 '*' shift, and go to state 114 2532 '/' shift, and go to state 115 2533 '%' shift, and go to state 116 2534 2535 $default reduce using rule 37 (expression) 2536 2537 2538state 144 2539 2540 32 expression: expression . OR expression 2541 33 | expression . AND expression 2542 34 | expression . '|' expression 2543 35 | expression . '^' expression 2544 36 | expression . '&' expression 2545 37 | expression . NOT_EQUAL expression 2546 38 | expression . EQUAL expression 2547 38 | expression EQUAL expression . 2548 39 | expression . GREATER_OR_EQUAL expression 2549 40 | expression . LESS_OR_EQUAL expression 2550 41 | expression . '>' expression 2551 42 | expression . '<' expression 2552 43 | expression . RIGHT_SHIFT expression 2553 44 | expression . LEFT_SHIFT expression 2554 45 | expression . '-' expression 2555 46 | expression . '+' expression 2556 47 | expression . '%' expression 2557 48 | expression . '/' expression 2558 49 | expression . '*' expression 2559 2560 '<' shift, and go to state 106 2561 '>' shift, and go to state 107 2562 GREATER_OR_EQUAL shift, and go to state 108 2563 LESS_OR_EQUAL shift, and go to state 109 2564 RIGHT_SHIFT shift, and go to state 110 2565 LEFT_SHIFT shift, and go to state 111 2566 '+' shift, and go to state 112 2567 '-' shift, and go to state 113 2568 '*' shift, and go to state 114 2569 '/' shift, and go to state 115 2570 '%' shift, and go to state 116 2571 2572 $default reduce using rule 38 (expression) 2573 2574 2575state 145 2576 2577 32 expression: expression . OR expression 2578 33 | expression . AND expression 2579 34 | expression . '|' expression 2580 35 | expression . '^' expression 2581 36 | expression . '&' expression 2582 37 | expression . NOT_EQUAL expression 2583 38 | expression . EQUAL expression 2584 39 | expression . GREATER_OR_EQUAL expression 2585 40 | expression . LESS_OR_EQUAL expression 2586 41 | expression . '>' expression 2587 42 | expression . '<' expression 2588 42 | expression '<' expression . 2589 43 | expression . RIGHT_SHIFT expression 2590 44 | expression . LEFT_SHIFT expression 2591 45 | expression . '-' expression 2592 46 | expression . '+' expression 2593 47 | expression . '%' expression 2594 48 | expression . '/' expression 2595 49 | expression . '*' expression 2596 2597 RIGHT_SHIFT shift, and go to state 110 2598 LEFT_SHIFT shift, and go to state 111 2599 '+' shift, and go to state 112 2600 '-' shift, and go to state 113 2601 '*' shift, and go to state 114 2602 '/' shift, and go to state 115 2603 '%' shift, and go to state 116 2604 2605 $default reduce using rule 42 (expression) 2606 2607 2608state 146 2609 2610 32 expression: expression . OR expression 2611 33 | expression . AND expression 2612 34 | expression . '|' expression 2613 35 | expression . '^' expression 2614 36 | expression . '&' expression 2615 37 | expression . NOT_EQUAL expression 2616 38 | expression . EQUAL expression 2617 39 | expression . GREATER_OR_EQUAL expression 2618 40 | expression . LESS_OR_EQUAL expression 2619 41 | expression . '>' expression 2620 41 | expression '>' expression . 2621 42 | expression . '<' expression 2622 43 | expression . RIGHT_SHIFT expression 2623 44 | expression . LEFT_SHIFT expression 2624 45 | expression . '-' expression 2625 46 | expression . '+' expression 2626 47 | expression . '%' expression 2627 48 | expression . '/' expression 2628 49 | expression . '*' expression 2629 2630 RIGHT_SHIFT shift, and go to state 110 2631 LEFT_SHIFT shift, and go to state 111 2632 '+' shift, and go to state 112 2633 '-' shift, and go to state 113 2634 '*' shift, and go to state 114 2635 '/' shift, and go to state 115 2636 '%' shift, and go to state 116 2637 2638 $default reduce using rule 41 (expression) 2639 2640 2641state 147 2642 2643 32 expression: expression . OR expression 2644 33 | expression . AND expression 2645 34 | expression . '|' expression 2646 35 | expression . '^' expression 2647 36 | expression . '&' expression 2648 37 | expression . NOT_EQUAL expression 2649 38 | expression . EQUAL expression 2650 39 | expression . GREATER_OR_EQUAL expression 2651 39 | expression GREATER_OR_EQUAL expression . 2652 40 | expression . LESS_OR_EQUAL expression 2653 41 | expression . '>' expression 2654 42 | expression . '<' expression 2655 43 | expression . RIGHT_SHIFT expression 2656 44 | expression . LEFT_SHIFT expression 2657 45 | expression . '-' expression 2658 46 | expression . '+' expression 2659 47 | expression . '%' expression 2660 48 | expression . '/' expression 2661 49 | expression . '*' expression 2662 2663 RIGHT_SHIFT shift, and go to state 110 2664 LEFT_SHIFT shift, and go to state 111 2665 '+' shift, and go to state 112 2666 '-' shift, and go to state 113 2667 '*' shift, and go to state 114 2668 '/' shift, and go to state 115 2669 '%' shift, and go to state 116 2670 2671 $default reduce using rule 39 (expression) 2672 2673 2674state 148 2675 2676 32 expression: expression . OR expression 2677 33 | expression . AND expression 2678 34 | expression . '|' expression 2679 35 | expression . '^' expression 2680 36 | expression . '&' expression 2681 37 | expression . NOT_EQUAL expression 2682 38 | expression . EQUAL expression 2683 39 | expression . GREATER_OR_EQUAL expression 2684 40 | expression . LESS_OR_EQUAL expression 2685 40 | expression LESS_OR_EQUAL expression . 2686 41 | expression . '>' expression 2687 42 | expression . '<' expression 2688 43 | expression . RIGHT_SHIFT expression 2689 44 | expression . LEFT_SHIFT expression 2690 45 | expression . '-' expression 2691 46 | expression . '+' expression 2692 47 | expression . '%' expression 2693 48 | expression . '/' expression 2694 49 | expression . '*' expression 2695 2696 RIGHT_SHIFT shift, and go to state 110 2697 LEFT_SHIFT shift, and go to state 111 2698 '+' shift, and go to state 112 2699 '-' shift, and go to state 113 2700 '*' shift, and go to state 114 2701 '/' shift, and go to state 115 2702 '%' shift, and go to state 116 2703 2704 $default reduce using rule 40 (expression) 2705 2706 2707state 149 2708 2709 32 expression: expression . OR expression 2710 33 | expression . AND expression 2711 34 | expression . '|' expression 2712 35 | expression . '^' expression 2713 36 | expression . '&' expression 2714 37 | expression . NOT_EQUAL expression 2715 38 | expression . EQUAL expression 2716 39 | expression . GREATER_OR_EQUAL expression 2717 40 | expression . LESS_OR_EQUAL expression 2718 41 | expression . '>' expression 2719 42 | expression . '<' expression 2720 43 | expression . RIGHT_SHIFT expression 2721 43 | expression RIGHT_SHIFT expression . 2722 44 | expression . LEFT_SHIFT expression 2723 45 | expression . '-' expression 2724 46 | expression . '+' expression 2725 47 | expression . '%' expression 2726 48 | expression . '/' expression 2727 49 | expression . '*' expression 2728 2729 '+' shift, and go to state 112 2730 '-' shift, and go to state 113 2731 '*' shift, and go to state 114 2732 '/' shift, and go to state 115 2733 '%' shift, and go to state 116 2734 2735 $default reduce using rule 43 (expression) 2736 2737 2738state 150 2739 2740 32 expression: expression . OR expression 2741 33 | expression . AND expression 2742 34 | expression . '|' expression 2743 35 | expression . '^' expression 2744 36 | expression . '&' expression 2745 37 | expression . NOT_EQUAL expression 2746 38 | expression . EQUAL expression 2747 39 | expression . GREATER_OR_EQUAL expression 2748 40 | expression . LESS_OR_EQUAL expression 2749 41 | expression . '>' expression 2750 42 | expression . '<' expression 2751 43 | expression . RIGHT_SHIFT expression 2752 44 | expression . LEFT_SHIFT expression 2753 44 | expression LEFT_SHIFT expression . 2754 45 | expression . '-' expression 2755 46 | expression . '+' expression 2756 47 | expression . '%' expression 2757 48 | expression . '/' expression 2758 49 | expression . '*' expression 2759 2760 '+' shift, and go to state 112 2761 '-' shift, and go to state 113 2762 '*' shift, and go to state 114 2763 '/' shift, and go to state 115 2764 '%' shift, and go to state 116 2765 2766 $default reduce using rule 44 (expression) 2767 2768 2769state 151 2770 2771 32 expression: expression . OR expression 2772 33 | expression . AND expression 2773 34 | expression . '|' expression 2774 35 | expression . '^' expression 2775 36 | expression . '&' expression 2776 37 | expression . NOT_EQUAL expression 2777 38 | expression . EQUAL expression 2778 39 | expression . GREATER_OR_EQUAL expression 2779 40 | expression . LESS_OR_EQUAL expression 2780 41 | expression . '>' expression 2781 42 | expression . '<' expression 2782 43 | expression . RIGHT_SHIFT expression 2783 44 | expression . LEFT_SHIFT expression 2784 45 | expression . '-' expression 2785 46 | expression . '+' expression 2786 46 | expression '+' expression . 2787 47 | expression . '%' expression 2788 48 | expression . '/' expression 2789 49 | expression . '*' expression 2790 2791 '*' shift, and go to state 114 2792 '/' shift, and go to state 115 2793 '%' shift, and go to state 116 2794 2795 $default reduce using rule 46 (expression) 2796 2797 2798state 152 2799 2800 32 expression: expression . OR expression 2801 33 | expression . AND expression 2802 34 | expression . '|' expression 2803 35 | expression . '^' expression 2804 36 | expression . '&' expression 2805 37 | expression . NOT_EQUAL expression 2806 38 | expression . EQUAL expression 2807 39 | expression . GREATER_OR_EQUAL expression 2808 40 | expression . LESS_OR_EQUAL expression 2809 41 | expression . '>' expression 2810 42 | expression . '<' expression 2811 43 | expression . RIGHT_SHIFT expression 2812 44 | expression . LEFT_SHIFT expression 2813 45 | expression . '-' expression 2814 45 | expression '-' expression . 2815 46 | expression . '+' expression 2816 47 | expression . '%' expression 2817 48 | expression . '/' expression 2818 49 | expression . '*' expression 2819 2820 '*' shift, and go to state 114 2821 '/' shift, and go to state 115 2822 '%' shift, and go to state 116 2823 2824 $default reduce using rule 45 (expression) 2825 2826 2827state 153 2828 2829 32 expression: expression . OR expression 2830 33 | expression . AND expression 2831 34 | expression . '|' expression 2832 35 | expression . '^' expression 2833 36 | expression . '&' expression 2834 37 | expression . NOT_EQUAL expression 2835 38 | expression . EQUAL expression 2836 39 | expression . GREATER_OR_EQUAL expression 2837 40 | expression . LESS_OR_EQUAL expression 2838 41 | expression . '>' expression 2839 42 | expression . '<' expression 2840 43 | expression . RIGHT_SHIFT expression 2841 44 | expression . LEFT_SHIFT expression 2842 45 | expression . '-' expression 2843 46 | expression . '+' expression 2844 47 | expression . '%' expression 2845 48 | expression . '/' expression 2846 49 | expression . '*' expression 2847 49 | expression '*' expression . 2848 2849 $default reduce using rule 49 (expression) 2850 2851 2852state 154 2853 2854 32 expression: expression . OR expression 2855 33 | expression . AND expression 2856 34 | expression . '|' expression 2857 35 | expression . '^' expression 2858 36 | expression . '&' expression 2859 37 | expression . NOT_EQUAL expression 2860 38 | expression . EQUAL expression 2861 39 | expression . GREATER_OR_EQUAL expression 2862 40 | expression . LESS_OR_EQUAL expression 2863 41 | expression . '>' expression 2864 42 | expression . '<' expression 2865 43 | expression . RIGHT_SHIFT expression 2866 44 | expression . LEFT_SHIFT expression 2867 45 | expression . '-' expression 2868 46 | expression . '+' expression 2869 47 | expression . '%' expression 2870 48 | expression . '/' expression 2871 48 | expression '/' expression . 2872 49 | expression . '*' expression 2873 2874 $default reduce using rule 48 (expression) 2875 2876 2877state 155 2878 2879 32 expression: expression . OR expression 2880 33 | expression . AND expression 2881 34 | expression . '|' expression 2882 35 | expression . '^' expression 2883 36 | expression . '&' expression 2884 37 | expression . NOT_EQUAL expression 2885 38 | expression . EQUAL expression 2886 39 | expression . GREATER_OR_EQUAL expression 2887 40 | expression . LESS_OR_EQUAL expression 2888 41 | expression . '>' expression 2889 42 | expression . '<' expression 2890 43 | expression . RIGHT_SHIFT expression 2891 44 | expression . LEFT_SHIFT expression 2892 45 | expression . '-' expression 2893 46 | expression . '+' expression 2894 47 | expression . '%' expression 2895 47 | expression '%' expression . 2896 48 | expression . '/' expression 2897 49 | expression . '*' expression 2898 2899 $default reduce using rule 47 (expression) 2900 2901 2902state 156 2903 2904 55 identifier_list: IDENTIFIER . 2905 2906 $default reduce using rule 55 (identifier_list) 2907 2908 2909state 157 2910 2911 12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' ')' . replacement_list NEWLINE 2912 2913 IDENTIFIER shift, and go to state 15 2914 INTEGER_STRING shift, and go to state 17 2915 OTHER shift, and go to state 20 2916 SPACE shift, and go to state 21 2917 PASTE shift, and go to state 22 2918 OR shift, and go to state 23 2919 AND shift, and go to state 24 2920 '|' shift, and go to state 25 2921 '^' shift, and go to state 26 2922 '&' shift, and go to state 27 2923 NOT_EQUAL shift, and go to state 28 2924 EQUAL shift, and go to state 29 2925 '<' shift, and go to state 30 2926 '>' shift, and go to state 31 2927 GREATER_OR_EQUAL shift, and go to state 32 2928 LESS_OR_EQUAL shift, and go to state 33 2929 RIGHT_SHIFT shift, and go to state 34 2930 LEFT_SHIFT shift, and go to state 35 2931 '+' shift, and go to state 36 2932 '-' shift, and go to state 37 2933 '*' shift, and go to state 38 2934 '/' shift, and go to state 39 2935 '%' shift, and go to state 40 2936 '(' shift, and go to state 41 2937 ')' shift, and go to state 42 2938 '!' shift, and go to state 43 2939 '~' shift, and go to state 44 2940 ',' shift, and go to state 45 2941 '[' shift, and go to state 46 2942 ']' shift, and go to state 47 2943 '{' shift, and go to state 48 2944 '}' shift, and go to state 49 2945 '.' shift, and go to state 50 2946 ';' shift, and go to state 51 2947 '=' shift, and go to state 52 2948 2949 $default reduce using rule 60 (replacement_list) 2950 2951 replacement_list go to state 164 2952 pp_tokens go to state 120 2953 preprocessing_token go to state 58 2954 operator go to state 59 2955 2956 2957state 158 2958 2959 13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list . ')' replacement_list NEWLINE 2960 56 identifier_list: identifier_list . ',' IDENTIFIER 2961 2962 ')' shift, and go to state 165 2963 ',' shift, and go to state 166 2964 2965 2966state 159 2967 2968 11 control_line: HASH_DEFINE OBJ_IDENTIFIER replacement_list NEWLINE . 2969 2970 $default reduce using rule 11 (control_line) 2971 2972 2973state 160 2974 2975 65 conditional_token: DEFINED '(' IDENTIFIER . ')' 2976 2977 ')' shift, and go to state 167 2978 2979 2980state 161 2981 2982 18 control_line: HASH_IFDEF IDENTIFIER junk NEWLINE . 2983 2984 $default reduce using rule 18 (control_line) 2985 2986 2987state 162 2988 2989 19 control_line: HASH_IFNDEF IDENTIFIER junk NEWLINE . 2990 2991 $default reduce using rule 19 (control_line) 2992 2993 2994state 163 2995 2996 10 expanded_line: LINE_EXPANDED integer_constant integer_constant NEWLINE . 2997 2998 $default reduce using rule 10 (expanded_line) 2999 3000 3001state 164 3002 3003 12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list . NEWLINE 3004 3005 NEWLINE shift, and go to state 168 3006 3007 3008state 165 3009 3010 13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' . replacement_list NEWLINE 3011 3012 IDENTIFIER shift, and go to state 15 3013 INTEGER_STRING shift, and go to state 17 3014 OTHER shift, and go to state 20 3015 SPACE shift, and go to state 21 3016 PASTE shift, and go to state 22 3017 OR shift, and go to state 23 3018 AND shift, and go to state 24 3019 '|' shift, and go to state 25 3020 '^' shift, and go to state 26 3021 '&' shift, and go to state 27 3022 NOT_EQUAL shift, and go to state 28 3023 EQUAL shift, and go to state 29 3024 '<' shift, and go to state 30 3025 '>' shift, and go to state 31 3026 GREATER_OR_EQUAL shift, and go to state 32 3027 LESS_OR_EQUAL shift, and go to state 33 3028 RIGHT_SHIFT shift, and go to state 34 3029 LEFT_SHIFT shift, and go to state 35 3030 '+' shift, and go to state 36 3031 '-' shift, and go to state 37 3032 '*' shift, and go to state 38 3033 '/' shift, and go to state 39 3034 '%' shift, and go to state 40 3035 '(' shift, and go to state 41 3036 ')' shift, and go to state 42 3037 '!' shift, and go to state 43 3038 '~' shift, and go to state 44 3039 ',' shift, and go to state 45 3040 '[' shift, and go to state 46 3041 ']' shift, and go to state 47 3042 '{' shift, and go to state 48 3043 '}' shift, and go to state 49 3044 '.' shift, and go to state 50 3045 ';' shift, and go to state 51 3046 '=' shift, and go to state 52 3047 3048 $default reduce using rule 60 (replacement_list) 3049 3050 replacement_list go to state 169 3051 pp_tokens go to state 120 3052 preprocessing_token go to state 58 3053 operator go to state 59 3054 3055 3056state 166 3057 3058 56 identifier_list: identifier_list ',' . IDENTIFIER 3059 3060 IDENTIFIER shift, and go to state 170 3061 3062 3063state 167 3064 3065 65 conditional_token: DEFINED '(' IDENTIFIER ')' . 3066 3067 $default reduce using rule 65 (conditional_token) 3068 3069 3070state 168 3071 3072 12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE . 3073 3074 $default reduce using rule 12 (control_line) 3075 3076 3077state 169 3078 3079 13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list . NEWLINE 3080 3081 NEWLINE shift, and go to state 171 3082 3083 3084state 170 3085 3086 56 identifier_list: identifier_list ',' IDENTIFIER . 3087 3088 $default reduce using rule 56 (identifier_list) 3089 3090 3091state 171 3092 3093 13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE . 3094 3095 $default reduce using rule 13 (control_line) 3096