Changeset 1019
- Timestamp:
- 01/10/17 13:53:02 (6 years ago)
- Location:
- XIOS/trunk/src/parse_expr
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/parse_expr/lex_parser.cpp
r728 r1019 10 10 #define YY_FLEX_MAJOR_VERSION 2 11 11 #define YY_FLEX_MINOR_VERSION 5 12 #define YY_FLEX_SUBMINOR_VERSION 3 912 #define YY_FLEX_SUBMINOR_VERSION 37 13 13 #if YY_FLEX_SUBMINOR_VERSION > 0 14 14 #define FLEX_BETA … … 143 143 /* Size of default input buffer. */ 144 144 #ifndef YY_BUF_SIZE 145 #ifdef __ia64__146 /* On IA-64, the buffer size is 16k, not 8k.147 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.148 * Ditto for the __ia64__ case accordingly.149 */150 #define YY_BUF_SIZE 32768151 #else152 145 #define YY_BUF_SIZE 16384 153 #endif /* __ia64__ */154 146 #endif 155 147 … … 177 169 178 170 #define YY_LESS_LINENO(n) 179 #define YY_LINENO_REWIND_TO(ptr)180 171 181 172 /* Return all but the first "n" matched characters back to the input stream. */ … … 356 347 extern char *yytext; 357 348 #define yytext_ptr yytext 358 359 349 static yyconst flex_int16_t yy_nxt[][128] = 360 350 { … … 574 564 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 575 565 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 576 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,566 -12, 23, -12, -12, -12, -12, -12, -12, -12, -12, 577 567 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, 578 568 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, … … 589 579 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 590 580 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 591 -13, -13, -13, -13, -13, -13, 2 3, -13, 24, 24,592 2 4, 24, 24, 24, 24, 24, 24, 24, -13, -13,593 -13, -13, -13, -13, -13, -13, -13, -13, -13, 2 5,581 -13, -13, -13, -13, -13, -13, 24, -13, 25, 25, 582 25, 25, 25, 25, 25, 25, 25, 25, -13, -13, 583 -13, -13, -13, -13, -13, -13, -13, -13, -13, 26, 594 584 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 595 585 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 596 586 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 597 -13, 2 5, -13, -13, -13, -13, -13, -13, -13, -13,587 -13, 26, -13, -13, -13, -13, -13, -13, -13, -13, 598 588 599 589 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, … … 608 598 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 609 599 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 610 -14, 2 6, -14, -14, -14, -14, -14, -14, -14, -14,600 -14, 27, -14, -14, -14, -14, -14, -14, -14, -14, 611 601 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 612 602 … … 626 616 627 617 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 628 -15, 2 7, -15, -15, -15, -15, -15, -15, -15, -15,618 -15, 28, -15, -15, -15, -15, -15, -15, -15, -15, 629 619 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 630 620 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, … … 643 633 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 644 634 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 645 -16, 2 8, -16, -16, -16, -16, -16, -16, -16, -16,635 -16, 29, -16, -16, -16, -16, -16, -16, -16, -16, 646 636 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 647 637 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, … … 660 650 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 661 651 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 662 -17, -17, -17, -17, -17, 29, 29, 29, 29, 29,663 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,664 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,665 666 29, -17, -17, -17, -17, -17, -17, 29, 29, 29,667 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,668 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,669 29, 29, 29, -17, -17, -17, -17, -17652 -17, -17, -17, -17, -17, 30, 30, 30, 30, 30, 653 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 654 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 655 656 30, -17, -17, -17, -17, -17, -17, 30, 30, 30, 657 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 658 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 659 30, 30, 30, -17, -17, -17, -17, -17 670 660 }, 671 661 … … 675 665 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 676 666 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 677 -18, -18, -18, -18, -18, -18, -18, -18, 3 0, 30,678 3 0, 30, 30, 30, 30, 30, 30, 30, -18, -18,679 680 -18, -18, -18, -18, -18, 3 0, 30, 30, 30, 30,681 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,682 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,683 3 0, -18, -18, -18, -18, 30, -18, 30, 30, 30,684 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,685 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,686 3 0, 30, 30, -18, -18, -18, -18, -18667 -18, -18, -18, -18, -18, -18, -18, -18, 31, 31, 668 31, 31, 31, 31, 31, 31, 31, 31, -18, -18, 669 670 -18, -18, -18, -18, -18, 31, 31, 31, 31, 31, 671 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 672 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 673 31, -18, -18, -18, -18, 31, -18, 31, 31, 31, 674 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 675 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 676 31, 31, 31, -18, -18, -18, -18, -18 687 677 }, 688 678 … … 745 735 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 746 736 747 -22, -22, -22, -22, -22, -22, -22, -22, 3 1, 31,748 3 1, 31, 31, 31, 31, 31, 31, 31, -22, -22,749 -22, -22, -22, -22, -22, 3 1, 31, 31, 31, 31,750 3 1, 31, 31, 31, 31, 31, 31, 31, 31, 31,751 3 1, 31, 31, 31, 31, 31, 31, 31, 31, 31,752 3 1, -22, -22, -22, -22, 31, -22, 31, 31, 31,753 3 1, 31, 31, 31, 31, 31, 31, 31, 31, 31,754 3 1, 31, 31, 31, 31, 31, 31, 31, 31, 31,755 3 1, 31, 31, -22, -22, -22, -22, -22737 -22, -22, -22, -22, -22, -22, -22, -22, 32, 32, 738 32, 32, 32, 32, 32, 32, 32, 32, -22, -22, 739 -22, -22, -22, -22, -22, 32, 32, 32, 32, 32, 740 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 741 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 742 32, -22, -22, -22, -22, 32, -22, 32, 32, 32, 743 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 744 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 745 32, 32, 32, -22, -22, -22, -22, -22 756 746 }, 757 747 … … 759 749 3, -23, -23, -23, -23, -23, -23, -23, -23, -23, 760 750 761 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,762 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,763 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,764 -23, -23, -23, -23, -23, -23, -23, -23, 32, 32,765 32, 32, 32, 32, 32, 32, 32, 32, -23, -23,766 751 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 767 752 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, … … 769 754 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 770 755 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 756 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 757 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 758 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 759 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 760 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 771 761 772 762 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, … … 779 769 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 780 770 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 781 -24, -24, -24, -24, -24, -24, 23, -24, 24, 24, 782 24, 24, 24, 24, 24, 24, 24, 24, -24, -24, 783 -24, -24, -24, -24, -24, -24, -24, -24, -24, 25, 784 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 785 771 -24, -24, -24, -24, -24, -24, -24, -24, 33, 33, 772 33, 33, 33, 33, 33, 33, 33, 33, -24, -24, 786 773 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 787 774 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 788 -24, 25, -24, -24, -24, -24, -24, -24, -24, -24, 775 776 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 777 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 778 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 789 779 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 790 780 -24, -24, -24, -24, -24, -24, -24, -24 … … 796 786 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 797 787 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 798 -25, -25, -25, 33, -25, 33, -25, -25, 34, 34, 799 800 34, 34, 34, 34, 34, 34, 34, 34, -25, -25, 788 -25, -25, -25, -25, -25, -25, 24, -25, 25, 25, 789 790 25, 25, 25, 25, 25, 25, 25, 25, -25, -25, 791 -25, -25, -25, -25, -25, -25, -25, -25, -25, 26, 801 792 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 802 793 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 803 794 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 804 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 805 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 795 -25, 26, -25, -25, -25, -25, -25, -25, -25, -25, 806 796 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 807 797 -25, -25, -25, -25, -25, -25, -25, -25 … … 814 804 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 815 805 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 816 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,817 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,806 -26, -26, -26, 34, -26, 34, -26, -26, 35, 35, 807 35, 35, 35, 35, 35, 35, 35, 35, -26, -26, 818 808 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 819 809 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, … … 866 856 867 857 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 868 -29, -29, -29, -29, -29, -29, -29, -29, 35, 35,869 35, 35, 35, 35, 35, 35, 35, 35, -29, -29,870 -29, -29, -29, -29, -29, 35, 35, 35, 35, 35,871 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,872 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,873 35, -29, -29, -29, -29, 35, -29, 35, 35, 35,874 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,875 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,876 35, 35, 35, -29, -29, -29, -29, -29858 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 859 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 860 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 861 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 862 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 863 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 864 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 865 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 866 -29, -29, -29, -29, -29, -29, -29, -29 877 867 878 868 }, … … 883 873 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 884 874 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 885 -30, -30, -30, -30, -30, -30, -30, -30, 3 0, 30,886 3 0, 30, 30, 30, 30, 30, 30, 30, -30, -30,887 -30, -30, -30, -30, -30, 3 0, 30, 30, 30, 30,888 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,889 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,890 3 0, -30, -30, -30, -30, 30, -30, 30, 30, 30,891 892 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,893 3 0, 30, 30, 30, 30, 30, 30, 30, 30, 30,894 3 0, 30, 30, -30, -30, -30, -30, -30875 -30, -30, -30, -30, -30, -30, -30, -30, 36, 36, 876 36, 36, 36, 36, 36, 36, 36, 36, -30, -30, 877 -30, -30, -30, -30, -30, 36, 36, 36, 36, 36, 878 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 879 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 880 36, -30, -30, -30, -30, 36, -30, 36, 36, 36, 881 882 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 883 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 884 36, 36, 36, -30, -30, -30, -30, -30 895 885 }, 896 886 … … 920 910 -32, -32, -32, -32, -32, -32, -32, -32, 32, 32, 921 911 32, 32, 32, 32, 32, 32, 32, 32, -32, -32, 922 -32, -32, -32, -32, -32, -32, -32, -32, -32, 25,923 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,924 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,925 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,926 -32, 25, -32, -32, -32, -32, -32, -32, -32, -32,927 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,928 -32, -32, -32, -32, -32, -32, -32, -32912 -32, -32, -32, -32, -32, 32, 32, 32, 32, 32, 913 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 914 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 915 32, -32, -32, -32, -32, 32, -32, 32, 32, 32, 916 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 917 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 918 32, 32, 32, -32, -32, -32, -32, -32 929 919 }, 930 920 … … 935 925 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 936 926 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 937 -33, -33, -33, -33, -33, -33, -33, -33, 34, 34, 938 34, 34, 34, 34, 34, 34, 34, 34, -33, -33, 927 -33, -33, -33, -33, -33, -33, -33, -33, 33, 33, 928 33, 33, 33, 33, 33, 33, 33, 33, -33, -33, 929 -33, -33, -33, -33, -33, -33, -33, -33, -33, 26, 939 930 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 940 931 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 941 932 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 942 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 943 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 933 -33, 26, -33, -33, -33, -33, -33, -33, -33, -33, 944 934 945 935 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, … … 952 942 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 953 943 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 954 -34, -34, -34, -34, -34, -34, -34, -34, 3 4, 34,955 3 4, 34, 34, 34, 34, 34, 34, 34, -34, -34,944 -34, -34, -34, -34, -34, -34, -34, -34, 35, 35, 945 35, 35, 35, 35, 35, 35, 35, 35, -34, -34, 956 946 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 957 947 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, … … 972 962 973 963 35, 35, 35, 35, 35, 35, 35, 35, -35, -35, 974 -35, -35, -35, -35, -35, 35, 35, 35, 35, 35, 975 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 976 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 977 35, -35, -35, -35, -35, 35, -35, 35, 35, 35, 978 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 979 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 980 35, 35, 35, -35, -35, -35, -35, -35 964 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 965 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 966 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 967 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 968 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 969 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, 970 -35, -35, -35, -35, -35, -35, -35, -35 971 }, 972 973 { 974 3, -36, -36, -36, -36, -36, -36, -36, -36, -36, 975 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, 976 977 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, 978 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, 979 -36, -36, -36, -36, -36, -36, -36, -36, 36, 36, 980 36, 36, 36, 36, 36, 36, 36, 36, -36, -36, 981 -36, -36, -36, -36, -36, 36, 36, 36, 36, 36, 982 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 983 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 984 36, -36, -36, -36, -36, 36, -36, 36, 36, 36, 985 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 986 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 987 988 36, 36, 36, -36, -36, -36, -36, -36 981 989 }, 982 990 … … 998 1006 (yy_c_buf_p) = yy_cp; 999 1007 1000 #define YY_NUM_RULES 191001 #define YY_END_OF_BUFFER 2 01008 #define YY_NUM_RULES 20 1009 #define YY_END_OF_BUFFER 21 1002 1010 /* This struct is not used in this scanner, 1003 1011 but its presence is necessary. */ … … 1007 1015 flex_int32_t yy_nxt; 1008 1016 }; 1009 static yyconst flex_int16_t yy_accept[3 6] =1017 static yyconst flex_int16_t yy_accept[37] = 1010 1018 { 0, 1011 0, 0, 2 0, 19, 1, 19, 16, 17, 8, 6,1012 7, 9, 2, 12, 19, 13, 19, 5, 10, 18,1013 1, 4, 0, 2, 0, 14, 11, 15, 3, 5,1014 4, 2, 0, 2, 31019 0, 0, 21, 20, 1, 20, 17, 18, 8, 6, 1020 7, 9, 2, 12, 20, 13, 20, 5, 10, 19, 1021 1, 4, 16, 0, 2, 0, 14, 11, 15, 3, 1022 5, 4, 2, 0, 2, 3 1015 1023 } ; 1016 1024 … … 1018 1026 static char *yy_last_accepting_cpos; 1019 1027 1020 static yyconst yy_state_type yy_NUL_trans[3 6] =1028 static yyconst yy_state_type yy_NUL_trans[37] = 1021 1029 { 0, 1022 1030 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1023 1031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024 1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025 0, 0, 0, 0, 0 1033 0, 0, 0, 0, 0, 0 1026 1034 } ; 1027 1035 … … 1053 1061 #include "yacc_parser.hpp" 1054 1062 1055 #line 10 56"lex_parser.cpp"1063 #line 1064 "lex_parser.cpp" 1056 1064 1057 1065 #define INITIAL 0 … … 1134 1142 /* Amount of stuff to slurp up with each read. */ 1135 1143 #ifndef YY_READ_BUF_SIZE 1136 #ifdef __ia64__1137 /* On IA-64, the buffer size is 16k, not 8k */1138 #define YY_READ_BUF_SIZE 163841139 #else1140 1144 #define YY_READ_BUF_SIZE 8192 1141 #endif /* __ia64__ */1142 1145 #endif 1143 1146 … … 1224 1227 register int yy_act; 1225 1228 1229 #line 29 "lex_parser.lex" 1230 1231 1232 #line 1233 "lex_parser.cpp" 1233 1226 1234 if ( !(yy_init) ) 1227 1235 { … … 1249 1257 yy_load_buffer_state( ); 1250 1258 } 1251 1252 {1253 #line 29 "lex_parser.lex"1254 1255 1256 #line 1257 "lex_parser.cpp"1257 1259 1258 1260 while ( 1 ) /* loops until end-of-file is reached */ … … 1388 1390 case 16: 1389 1391 YY_RULE_SETUP 1390 #line 6 8"lex_parser.lex"1391 return LEFT_PARENTHESIS;1392 #line 67 "lex_parser.lex" 1393 return NE; 1392 1394 YY_BREAK 1393 1395 case 17: 1394 1396 YY_RULE_SETUP 1395 1397 #line 69 "lex_parser.lex" 1396 return RIGHT_PARENTHESIS;1398 return LEFT_PARENTHESIS; 1397 1399 YY_BREAK 1398 1400 case 18: 1399 1401 YY_RULE_SETUP 1400 #line 7 1"lex_parser.lex"1401 return END;1402 #line 70 "lex_parser.lex" 1403 return RIGHT_PARENTHESIS; 1402 1404 YY_BREAK 1403 1405 case 19: 1404 1406 YY_RULE_SETUP 1405 1407 #line 72 "lex_parser.lex" 1408 return END; 1409 YY_BREAK 1410 case 20: 1411 YY_RULE_SETUP 1412 #line 73 "lex_parser.lex" 1406 1413 ECHO; 1407 1414 YY_BREAK 1408 #line 14 09"lex_parser.cpp"1415 #line 1416 "lex_parser.cpp" 1409 1416 case YY_STATE_EOF(INITIAL): 1410 1417 yyterminate(); … … 1537 1544 } /* end of action switch */ 1538 1545 } /* end of scanning one token */ 1539 } /* end of user's declarations */1540 1546 } /* end of yylex */ 1541 1547 … … 2396 2402 #define YYTABLES_NAME "yytables" 2397 2403 2398 #line 7 1"lex_parser.lex"2404 #line 73 "lex_parser.lex" -
XIOS/trunk/src/parse_expr/lex_parser.lex
r728 r1019 65 65 "<=" return LE; 66 66 ">=" return GE; 67 "/=" return NE; 67 68 68 69 "(" return LEFT_PARENTHESIS; -
XIOS/trunk/src/parse_expr/operator_expr.hpp
r728 r1019 43 43 opScalarScalar[string("le")] = le_ss; 44 44 opScalarScalar[string("ge")] = ge_ss; 45 opScalarScalar[string("ne")] = ne_ss; 45 46 46 47 opField[string("neg")] = neg_f; … … 63 64 opFieldField[string("le")] = le_ff; 64 65 opFieldField[string("ge")] = ge_ff; 66 opFieldField[string("ne")] = ne_ff; 65 67 66 68 opFieldScalar[string("add")] = add_fs; … … 74 76 opFieldScalar[string("le")] = le_fs; 75 77 opFieldScalar[string("ge")] = ge_fs; 78 opFieldScalar[string("ne")] = ne_fs; 76 79 77 80 opScalarField[string("add")] = add_sf; … … 84 87 opScalarField[string("le")] = le_sf; 85 88 opScalarField[string("ge")] = ge_sf; 89 opScalarField[string("ne")] = ne_sf; 86 90 } 87 91 … … 160 164 static inline double le_ss(double x, double y) { return x <= y; } 161 165 static inline double ge_ss(double x, double y) { return x >= y; } 166 static inline double ne_ss(double x, double y) { return x != y; } 162 167 163 168 static inline CArray<double,1> neg_f(const CArray<double,1>& x) { return Array<double,1>(-x); } … … 180 185 static inline CArray<double,1> le_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x <= y); } 181 186 static inline CArray<double,1> ge_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x >= y); } 187 static inline CArray<double,1> ne_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x != y); } 182 188 183 189 static inline CArray<double,1> add_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x + y); } … … 191 197 static inline CArray<double,1> le_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x <= y); } 192 198 static inline CArray<double,1> ge_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x >= y); } 199 static inline CArray<double,1> ne_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x != y); } 193 200 194 201 static inline CArray<double,1> add_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x + y); } … … 201 208 static inline CArray<double,1> le_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x <= y); } 202 209 static inline CArray<double,1> ge_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x >= y); } 210 static inline CArray<double,1> ne_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x != y); } 203 211 }; 204 212 -
XIOS/trunk/src/parse_expr/yacc_parser.cpp
r728 r1019 1 /* A Bison parser, made by GNU Bison 3.0.2. */1 /* A Bison parser, made by GNU Bison 2.7. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 6 7 7 This program is free software: you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation, either version 3 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 27 27 Bison output files to be licensed under the GNU General Public 28 28 License without this special exception. 29 29 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ … … 45 45 46 46 /* Bison version. */ 47 #define YYBISON_VERSION " 3.0.2"47 #define YYBISON_VERSION "2.7" 48 48 49 49 /* Skeleton name. */ … … 63 63 64 64 /* Copy the first part of user declarations. */ 65 #line 1 "yacc_parser.yacc" /* yacc.c:339 */ 65 /* Line 371 of yacc.c */ 66 #line 1 "yacc_parser.yacc" 66 67 67 68 #include "filter_expr_node.hpp" … … 96 97 } 97 98 98 #line 99 "yacc_parser.cpp" /* yacc.c:339 */ 99 100 # ifndef YY_NULLPTR 99 /* Line 371 of yacc.c */ 100 #line 101 "yacc_parser.cpp" 101 102 # ifndef YY_NULL 101 103 # if defined __cplusplus && 201103L <= __cplusplus 102 # define YY_NULL PTRnullptr104 # define YY_NULL nullptr 103 105 # else 104 # define YY_NULL PTR0106 # define YY_NULL 0 105 107 # endif 106 108 # endif … … 118 120 #ifndef YY_YY_YACC_PARSER_HPP_INCLUDED 119 121 # define YY_YY_YACC_PARSER_HPP_INCLUDED 120 /* Debug traces. */122 /* Enabling traces. */ 121 123 #ifndef YYDEBUG 122 124 # define YYDEBUG 0 … … 126 128 #endif 127 129 128 /* Token type. */130 /* Tokens. */ 129 131 #ifndef YYTOKENTYPE 130 132 # define YYTOKENTYPE 131 enum yytokentype 132 { 133 NUMBER = 258, 134 VAR = 259, 135 ID = 260, 136 AVERAGE = 261, 137 PLUS = 262, 138 MINUS = 263, 139 TIMES = 264, 140 DIVIDE = 265, 141 POWER = 266, 142 EQ = 267, 143 LT = 268, 144 GT = 269, 145 LE = 270, 146 GE = 271, 147 LEFT_PARENTHESIS = 272, 148 RIGHT_PARENTHESIS = 273, 149 END = 274, 150 NEG = 275 151 }; 152 #endif 153 154 /* Value type. */ 133 /* Put the tokens into the symbol table, so that GDB and other debuggers 134 know about them. */ 135 enum yytokentype { 136 NUMBER = 258, 137 VAR = 259, 138 ID = 260, 139 AVERAGE = 261, 140 PLUS = 262, 141 MINUS = 263, 142 TIMES = 264, 143 DIVIDE = 265, 144 POWER = 266, 145 EQ = 267, 146 LT = 268, 147 GT = 269, 148 LE = 270, 149 GE = 271, 150 NE = 272, 151 LEFT_PARENTHESIS = 273, 152 RIGHT_PARENTHESIS = 274, 153 END = 275, 154 NEG = 276 155 }; 156 #endif 157 158 155 159 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 156 typedef union YYSTYPE YYSTYPE;157 union YYSTYPE 158 { 159 #line 35 "yacc_parser.yacc" /* yacc.c:355 */160 typedef union YYSTYPE 161 { 162 /* Line 387 of yacc.c */ 163 #line 35 "yacc_parser.yacc" 160 164 161 165 std::string* str; /* symbol table index */ … … 163 167 xios::IFilterExprNode* filterNode; 164 168 165 #line 166 "yacc_parser.cpp" /* yacc.c:355 */ 166 }; 169 170 /* Line 387 of yacc.c */ 171 #line 172 "yacc_parser.cpp" 172 } YYSTYPE; 167 173 # define YYSTYPE_IS_TRIVIAL 1 174 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 168 175 # define YYSTYPE_IS_DECLARED 1 169 176 #endif 170 177 171 172 178 extern YYSTYPE yylval; 173 179 180 #ifdef YYPARSE_PARAM 181 #if defined __STDC__ || defined __cplusplus 182 int yyparse (void *YYPARSE_PARAM); 183 #else 184 int yyparse (); 185 #endif 186 #else /* ! YYPARSE_PARAM */ 187 #if defined __STDC__ || defined __cplusplus 174 188 int yyparse (void); 189 #else 190 int yyparse (); 191 #endif 192 #endif /* ! YYPARSE_PARAM */ 175 193 176 194 #endif /* !YY_YY_YACC_PARSER_HPP_INCLUDED */ … … 178 196 /* Copy the second part of user declarations. */ 179 197 180 #line 181 "yacc_parser.cpp" /* yacc.c:358 */ 198 /* Line 390 of yacc.c */ 199 #line 200 "yacc_parser.cpp" 181 200 182 201 #ifdef short … … 192 211 #ifdef YYTYPE_INT8 193 212 typedef YYTYPE_INT8 yytype_int8; 213 #elif (defined __STDC__ || defined __C99__FUNC__ \ 214 || defined __cplusplus || defined _MSC_VER) 215 typedef signed char yytype_int8; 194 216 #else 195 typedef s igned charyytype_int8;217 typedef short int yytype_int8; 196 218 #endif 197 219 … … 213 235 # elif defined size_t 214 236 # define YYSIZE_T size_t 215 # elif ! defined YYSIZE_T 237 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 238 || defined __cplusplus || defined _MSC_VER) 216 239 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 217 240 # define YYSIZE_T size_t … … 235 258 #endif 236 259 237 #ifndef YY_ATTRIBUTE238 # if (defined __GNUC__ \239 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \240 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C241 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)242 # else243 # define YY_ATTRIBUTE(Spec) /* empty */244 # endif245 #endif246 247 #ifndef YY_ATTRIBUTE_PURE248 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))249 #endif250 251 #ifndef YY_ATTRIBUTE_UNUSED252 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))253 #endif254 255 #if !defined _Noreturn \256 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)257 # if defined _MSC_VER && 1200 <= _MSC_VER258 # define _Noreturn __declspec (noreturn)259 # else260 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))261 # endif262 #endif263 264 260 /* Suppress unused-variable warnings by "using" E. */ 265 261 #if ! defined lint || defined __GNUC__ … … 269 265 #endif 270 266 271 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 272 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 273 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 274 _Pragma ("GCC diagnostic push") \ 275 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 276 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 277 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 278 _Pragma ("GCC diagnostic pop") 267 /* Identity function, used to suppress warnings about constant conditions. */ 268 #ifndef lint 269 # define YYID(N) (N) 279 270 #else 280 # define YY_INITIAL_VALUE(Value) Value 281 #endif 282 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 283 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 284 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 285 #endif 286 #ifndef YY_INITIAL_VALUE 287 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 288 #endif 289 271 #if (defined __STDC__ || defined __C99__FUNC__ \ 272 || defined __cplusplus || defined _MSC_VER) 273 static int 274 YYID (int yyi) 275 #else 276 static int 277 YYID (yyi) 278 int yyi; 279 #endif 280 { 281 return yyi; 282 } 283 #endif 290 284 291 285 #if ! defined yyoverflow || YYERROR_VERBOSE … … 306 300 # else 307 301 # define YYSTACK_ALLOC alloca 308 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 302 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 303 || defined __cplusplus || defined _MSC_VER) 309 304 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 310 305 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ … … 318 313 319 314 # ifdef YYSTACK_ALLOC 320 /* Pacify GCC's 'empty if-body' warning. */321 # define YYSTACK_FREE(Ptr) do { /* empty */; } while ( 0)315 /* Pacify GCC's `empty if-body' warning. */ 316 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 322 317 # ifndef YYSTACK_ALLOC_MAXIMUM 323 318 /* The OS might guarantee only one guard page at the bottom of the stack, … … 335 330 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 336 331 && ! ((defined YYMALLOC || defined malloc) \ 337 332 && (defined YYFREE || defined free))) 338 333 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 339 334 # ifndef EXIT_SUCCESS … … 343 338 # ifndef YYMALLOC 344 339 # define YYMALLOC malloc 345 # if ! defined malloc && ! defined EXIT_SUCCESS 340 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 341 || defined __cplusplus || defined _MSC_VER) 346 342 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 347 343 # endif … … 349 345 # ifndef YYFREE 350 346 # define YYFREE free 351 # if ! defined free && ! defined EXIT_SUCCESS 347 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 348 || defined __cplusplus || defined _MSC_VER) 352 349 void free (void *); /* INFRINGES ON USER NAME SPACE */ 353 350 # endif … … 359 356 #if (! defined yyoverflow \ 360 357 && (! defined __cplusplus \ 361 358 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 362 359 363 360 /* A type that is properly aligned for any stack member. */ … … 384 381 stack. Advance YYPTR to a properly aligned location for the next 385 382 stack. */ 386 # define YYSTACK_RELOCATE(Stack_alloc, Stack) 387 do 388 { 389 YYSIZE_T yynewbytes;\390 YYCOPY (&yyptr->Stack_alloc, Stack, yysize);\391 Stack = &yyptr->Stack_alloc;\392 393 yyptr += yynewbytes / sizeof (*yyptr);\394 } 395 while ( 0)383 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 384 do \ 385 { \ 386 YYSIZE_T yynewbytes; \ 387 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 388 Stack = &yyptr->Stack_alloc; \ 389 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 390 yyptr += yynewbytes / sizeof (*yyptr); \ 391 } \ 392 while (YYID (0)) 396 393 397 394 #endif … … 412 409 (Dst)[yyi] = (Src)[yyi]; \ 413 410 } \ 414 while ( 0)411 while (YYID (0)) 415 412 # endif 416 413 # endif … … 420 417 #define YYFINAL 16 421 418 /* YYLAST -- Last index in YYTABLE. */ 422 #define YYLAST 2 04419 #define YYLAST 229 423 420 424 421 /* YYNTOKENS -- Number of terminals. */ 425 #define YYNTOKENS 2 1422 #define YYNTOKENS 22 426 423 /* YYNNTS -- Number of nonterminals. */ 427 424 #define YYNNTS 4 428 425 /* YYNRULES -- Number of rules. */ 429 #define YYNRULES 52 430 /* YYNSTATES -- Number of states. */ 431 #define YYNSTATES 108 432 433 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 434 by yylex, with out-of-bounds checking. */ 426 #define YYNRULES 56 427 /* YYNRULES -- Number of states. */ 428 #define YYNSTATES 116 429 430 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 435 431 #define YYUNDEFTOK 2 436 #define YYMAXUTOK 27 5437 438 #define YYTRANSLATE(YYX) 432 #define YYMAXUTOK 276 433 434 #define YYTRANSLATE(YYX) \ 439 435 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 440 436 441 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 442 as returned by yylex, without out-of-bounds checking. */ 437 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 443 438 static const yytype_uint8 yytranslate[] = 444 439 { … … 470 465 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 471 466 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 472 15, 16, 17, 18, 19, 20 467 15, 16, 17, 18, 19, 20, 21 473 468 }; 474 469 475 470 #if YYDEBUG 476 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 471 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 472 YYRHS. */ 473 static const yytype_uint8 yyprhs[] = 474 { 475 0, 0, 3, 5, 8, 10, 12, 16, 20, 24, 476 28, 31, 35, 39, 43, 47, 51, 55, 59, 63, 477 68, 70, 72, 76, 80, 84, 88, 91, 95, 99, 478 103, 107, 111, 115, 119, 123, 127, 131, 135, 139, 479 143, 147, 151, 155, 159, 163, 167, 171, 175, 179, 480 183, 187, 191, 195, 199, 203, 207 481 }; 482 483 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 484 static const yytype_int8 yyrhs[] = 485 { 486 23, 0, -1, 20, -1, 25, 20, -1, 3, -1, 487 4, -1, 24, 7, 24, -1, 24, 8, 24, -1, 488 24, 9, 24, -1, 24, 10, 24, -1, 8, 24, 489 -1, 24, 11, 24, -1, 24, 12, 24, -1, 24, 490 13, 24, -1, 24, 14, 24, -1, 24, 15, 24, 491 -1, 24, 16, 24, -1, 24, 17, 24, -1, 18, 492 24, 19, -1, 5, 18, 24, 19, -1, 5, -1, 493 6, -1, 25, 7, 25, -1, 25, 8, 25, -1, 494 25, 9, 25, -1, 25, 10, 25, -1, 8, 25, 495 -1, 25, 11, 25, -1, 25, 12, 25, -1, 25, 496 13, 25, -1, 25, 14, 25, -1, 25, 15, 25, 497 -1, 25, 16, 25, -1, 25, 17, 25, -1, 18, 498 25, 19, -1, 25, 7, 24, -1, 24, 7, 25, 499 -1, 25, 8, 24, -1, 24, 8, 25, -1, 25, 500 9, 24, -1, 24, 9, 25, -1, 25, 10, 24, 501 -1, 24, 10, 25, -1, 25, 11, 24, -1, 25, 502 12, 24, -1, 24, 12, 25, -1, 25, 13, 24, 503 -1, 24, 13, 25, -1, 25, 14, 24, -1, 24, 504 14, 25, -1, 25, 15, 24, -1, 24, 15, 25, 505 -1, 25, 16, 24, -1, 24, 16, 25, -1, 25, 506 17, 24, -1, 24, 17, 25, -1, 5, 18, 25, 507 19, -1 508 }; 509 510 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 477 511 static const yytype_uint8 yyrline[] = 478 512 { 479 513 0, 61, 61, 62, 66, 67, 68, 69, 70, 71, 480 72, 73, 74, 75, 76, 77, 78, 79, 80, 8 4,514 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 481 515 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 482 516 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 483 517 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 484 115, 116, 117 518 115, 116, 117, 118, 119, 120, 121 485 519 }; 486 520 #endif … … 492 526 { 493 527 "$end", "error", "$undefined", "NUMBER", "VAR", "ID", "AVERAGE", "PLUS", 494 "MINUS", "TIMES", "DIVIDE", "POWER", "EQ", "LT", "GT", "LE", "GE", 528 "MINUS", "TIMES", "DIVIDE", "POWER", "EQ", "LT", "GT", "LE", "GE", "NE", 495 529 "LEFT_PARENTHESIS", "RIGHT_PARENTHESIS", "END", "NEG", "$accept", "Line", 496 "Expression", "Field_expr", YY_NULL PTR530 "Expression", "Field_expr", YY_NULL 497 531 }; 498 532 #endif 499 533 500 534 # ifdef YYPRINT 501 /* YYTOKNUM[ NUM] -- (External) token number corresponding to the502 (internal) symbol number NUM (which must be that of a token). */535 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 536 token YYLEX-NUM. */ 503 537 static const yytype_uint16 yytoknum[] = 504 538 { 505 539 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 506 540 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 507 275 541 275, 276 508 542 }; 509 543 # endif 510 544 511 #define YYPACT_NINF -13 512 513 #define yypact_value_is_default(Yystate) \ 514 (!!((Yystate) == (-13))) 515 516 #define YYTABLE_NINF -1 517 518 #define yytable_value_is_error(Yytable_value) \ 519 0 520 521 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 522 STATE-NUM. */ 523 static const yytype_int16 yypact[] = 524 { 525 90, -13, -13, -12, -13, 35, 35, -13, 44, 188, 526 103, 35, 24, 34, 116, 128, -13, 35, 35, 35, 527 35, 65, 35, 35, 35, 35, 35, 35, 35, 35, 528 35, 35, 35, 35, 35, 35, 35, -13, 140, 152, 529 -13, -13, -7, 23, -7, 23, 24, 34, 24, 34, 530 54, 65, 65, 24, 0, 67, 0, 67, 0, 67, 531 0, 67, 0, 67, -7, 23, -7, 23, 24, 34, 532 24, 34, 24, 34, 0, 67, 0, 67, 0, 67, 533 0, 67, 0, 67, -13, -13, 65, 24, 164, 65, 534 65, 65, 65, 65, 65, 65, 65, 65, 176, 95, 535 95, 24, 24, 92, 92, 92, 92, 92 545 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 546 static const yytype_uint8 yyr1[] = 547 { 548 0, 22, 23, 23, 24, 24, 24, 24, 24, 24, 549 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 550 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 551 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 552 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 553 25, 25, 25, 25, 25, 25, 25 536 554 }; 537 555 538 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 539 Performed when YYTABLE does not specify something else to do. Zero 540 means the default is an error. */ 556 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 557 static const yytype_uint8 yyr2[] = 558 { 559 0, 2, 1, 2, 1, 1, 3, 3, 3, 3, 560 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 561 1, 1, 3, 3, 3, 3, 2, 3, 3, 3, 562 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 563 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 564 3, 3, 3, 3, 3, 3, 4 565 }; 566 567 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 568 Performed when YYTABLE doesn't specify something else to do. Zero 569 means the default is an error. */ 541 570 static const yytype_uint8 yydefact[] = 542 571 { 543 0, 4, 5, 19, 20, 0, 0, 2, 0, 0,544 0, 0, 10, 2 5, 0, 0, 1, 0, 0, 0,572 0, 4, 5, 20, 21, 0, 0, 2, 0, 0, 573 0, 0, 10, 26, 0, 0, 1, 0, 0, 0, 545 574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 547 17, 32, 6, 34, 7, 36, 8, 38, 9, 40, 548 0, 0, 0, 11, 12, 43, 13, 45, 14, 47, 549 15, 49, 16, 51, 33, 21, 35, 22, 37, 23, 550 39, 24, 41, 26, 42, 27, 44, 28, 46, 29, 551 48, 30, 50, 31, 18, 52, 0, 10, 0, 0, 552 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 553 7, 8, 9, 12, 13, 14, 15, 16 575 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 576 0, 0, 18, 34, 6, 36, 7, 38, 8, 40, 577 9, 42, 0, 0, 0, 11, 12, 45, 13, 47, 578 14, 49, 15, 51, 16, 53, 17, 55, 35, 22, 579 37, 23, 39, 24, 41, 25, 43, 27, 44, 28, 580 46, 29, 48, 30, 50, 31, 52, 32, 54, 33, 581 19, 56, 0, 10, 0, 0, 0, 0, 0, 0, 582 0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 583 12, 13, 14, 15, 16, 17 554 584 }; 555 585 556 /* YYPGOTO[NTERM-NUM]. */ 557 static const yytype_int8 yypgoto[] = 558 { 559 -13, -13, -5, 31 560 }; 561 562 /* YYDEFGOTO[NTERM-NUM]. */ 586 /* YYDEFGOTO[NTERM-NUM]. */ 563 587 static const yytype_int8 yydefgoto[] = 564 588 { … … 566 590 }; 567 591 568 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 569 positive, shift that token. If negative, reduce the rule whose 570 number is the opposite. If YYTABLE_NINF, syntax error. */ 592 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 593 STATE-NUM. */ 594 #define YYPACT_NINF -14 595 static const yytype_int16 yypact[] = 596 { 597 97, -14, -14, -13, -14, 70, 70, -14, 37, 207, 598 115, 70, 32, 34, 129, 142, -14, 70, 70, 70, 599 70, 103, 70, 70, 70, 70, 70, 70, 70, 70, 600 70, 70, 70, 70, 70, 70, 70, 70, 70, -14, 601 155, 168, -14, -14, -7, 25, -7, 25, 32, 34, 602 32, 34, 28, 103, 103, 32, 0, 72, 0, 72, 603 0, 72, 0, 72, 0, 72, 0, 72, -7, 25, 604 -7, 25, 32, 34, 32, 34, 32, 34, 0, 72, 605 0, 72, 0, 72, 0, 72, 0, 72, 0, 72, 606 -14, -14, 103, 32, 181, 103, 103, 103, 103, 103, 607 103, 103, 103, 103, 103, 194, 31, 31, 32, 32, 608 218, 218, 218, 218, 218, 218 609 }; 610 611 /* YYPGOTO[NTERM-NUM]. */ 612 static const yytype_int8 yypgoto[] = 613 { 614 -14, -14, -5, 33 615 }; 616 617 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 618 positive, shift that token. If negative, reduce the rule which 619 number is the opposite. If YYTABLE_NINF, syntax error. */ 620 #define YYTABLE_NINF -1 571 621 static const yytype_uint8 yytable[] = 572 622 { 573 12, 14, 19, 20, 21, 11, 38, 17, 18, 19, 574 20, 21, 42, 44, 46, 48, 53, 54, 56, 58, 575 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 576 80, 82, 29, 30, 31, 21, 13, 15, 1, 2, 577 3, 4, 39, 5, 16, 31, 87, 88, 43, 45, 578 47, 49, 6, 55, 57, 59, 61, 63, 65, 67, 579 69, 71, 73, 75, 77, 79, 81, 83, 1, 2, 580 50, 86, 0, 51, 27, 28, 29, 30, 31, 0, 581 0, 98, 52, 0, 99, 100, 101, 102, 103, 104, 582 105, 106, 107, 1, 2, 3, 4, 0, 5, 89, 583 90, 91, 92, 21, 91, 92, 21, 6, 0, 7, 584 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 585 0, 0, 37, 17, 18, 19, 20, 21, 22, 23, 586 24, 25, 26, 0, 40, 27, 28, 29, 30, 31, 587 32, 33, 34, 35, 36, 0, 41, 17, 18, 19, 588 20, 21, 22, 23, 24, 25, 26, 0, 84, 27, 589 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 590 85, 89, 90, 91, 92, 21, 93, 94, 95, 96, 591 97, 0, 40, 89, 90, 91, 92, 21, 93, 94, 592 95, 96, 97, 0, 84, 17, 18, 19, 20, 21, 593 22, 23, 24, 25, 26 623 12, 14, 19, 20, 21, 11, 40, 17, 18, 19, 624 20, 21, 44, 46, 48, 50, 55, 56, 58, 60, 625 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 626 82, 84, 86, 88, 30, 31, 32, 16, 13, 15, 627 97, 98, 21, 21, 41, 32, 92, 0, 93, 94, 628 45, 47, 49, 51, 0, 57, 59, 61, 63, 65, 629 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 630 87, 89, 0, 1, 2, 3, 4, 0, 5, 28, 631 29, 30, 31, 32, 0, 0, 0, 105, 6, 0, 632 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 633 1, 2, 3, 4, 0, 5, 1, 2, 52, 0, 634 0, 53, 0, 0, 0, 6, 0, 7, 0, 0, 635 0, 54, 28, 29, 30, 31, 32, 33, 34, 35, 636 36, 37, 38, 0, 0, 39, 17, 18, 19, 20, 637 21, 22, 23, 24, 25, 26, 27, 0, 42, 28, 638 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 639 0, 43, 17, 18, 19, 20, 21, 22, 23, 24, 640 25, 26, 27, 0, 90, 28, 29, 30, 31, 32, 641 33, 34, 35, 36, 37, 38, 0, 91, 95, 96, 642 97, 98, 21, 99, 100, 101, 102, 103, 104, 0, 643 42, 95, 96, 97, 98, 21, 99, 100, 101, 102, 644 103, 104, 0, 90, 17, 18, 19, 20, 21, 22, 645 23, 24, 25, 26, 27, 95, 96, 97, 98, 21 594 646 }; 595 647 648 #define yypact_value_is_default(Yystate) \ 649 (!!((Yystate) == (-14))) 650 651 #define yytable_value_is_error(Yytable_value) \ 652 YYID (0) 653 596 654 static const yytype_int8 yycheck[] = 597 655 { 598 5, 6, 9, 10, 11, 1 7, 11, 7, 8, 9,656 5, 6, 9, 10, 11, 18, 11, 7, 8, 9, 599 657 10, 11, 17, 18, 19, 20, 21, 22, 23, 24, 600 658 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 601 35, 36, 9, 10, 11, 11, 5, 6, 3, 4, 602 5, 6, 11, 8, 0, 11, 51, 52, 17, 18, 603 19, 20, 17, 22, 23, 24, 25, 26, 27, 28, 604 29, 30, 31, 32, 33, 34, 35, 36, 3, 4, 605 5, 17, -1, 8, 7, 8, 9, 10, 11, -1, 606 -1, 86, 17, -1, 89, 90, 91, 92, 93, 94, 607 95, 96, 97, 3, 4, 5, 6, -1, 8, 7, 608 8, 9, 10, 11, 9, 10, 11, 17, -1, 19, 609 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 610 -1, -1, 19, 7, 8, 9, 10, 11, 12, 13, 611 14, 15, 16, -1, 18, 7, 8, 9, 10, 11, 612 12, 13, 14, 15, 16, -1, 18, 7, 8, 9, 613 10, 11, 12, 13, 14, 15, 16, -1, 18, 7, 614 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 615 18, 7, 8, 9, 10, 11, 12, 13, 14, 15, 616 16, -1, 18, 7, 8, 9, 10, 11, 12, 13, 617 14, 15, 16, -1, 18, 7, 8, 9, 10, 11, 618 12, 13, 14, 15, 16 659 35, 36, 37, 38, 9, 10, 11, 0, 5, 6, 660 9, 10, 11, 11, 11, 11, 18, -1, 53, 54, 661 17, 18, 19, 20, -1, 22, 23, 24, 25, 26, 662 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 663 37, 38, -1, 3, 4, 5, 6, -1, 8, 7, 664 8, 9, 10, 11, -1, -1, -1, 92, 18, -1, 665 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 666 3, 4, 5, 6, -1, 8, 3, 4, 5, -1, 667 -1, 8, -1, -1, -1, 18, -1, 20, -1, -1, 668 -1, 18, 7, 8, 9, 10, 11, 12, 13, 14, 669 15, 16, 17, -1, -1, 20, 7, 8, 9, 10, 670 11, 12, 13, 14, 15, 16, 17, -1, 19, 7, 671 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 672 -1, 19, 7, 8, 9, 10, 11, 12, 13, 14, 673 15, 16, 17, -1, 19, 7, 8, 9, 10, 11, 674 12, 13, 14, 15, 16, 17, -1, 19, 7, 8, 675 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 676 19, 7, 8, 9, 10, 11, 12, 13, 14, 15, 677 16, 17, -1, 19, 7, 8, 9, 10, 11, 12, 678 13, 14, 15, 16, 17, 7, 8, 9, 10, 11 619 679 }; 620 680 621 622 681 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 682 symbol of state STATE-NUM. */ 623 683 static const yytype_uint8 yystos[] = 624 684 { 625 0, 3, 4, 5, 6, 8, 17, 19, 22, 23, 626 24, 17, 23, 24, 23, 24, 0, 7, 8, 9, 627 10, 11, 12, 13, 14, 15, 16, 7, 8, 9, 628 10, 11, 12, 13, 14, 15, 16, 19, 23, 24, 629 18, 18, 23, 24, 23, 24, 23, 24, 23, 24, 630 5, 8, 17, 23, 23, 24, 23, 24, 23, 24, 631 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 632 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 633 23, 24, 23, 24, 18, 18, 17, 23, 23, 7, 634 8, 9, 10, 12, 13, 14, 15, 16, 23, 23, 635 23, 23, 23, 23, 23, 23, 23, 23 685 0, 3, 4, 5, 6, 8, 18, 20, 23, 24, 686 25, 18, 24, 25, 24, 25, 0, 7, 8, 9, 687 10, 11, 12, 13, 14, 15, 16, 17, 7, 8, 688 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 689 24, 25, 19, 19, 24, 25, 24, 25, 24, 25, 690 24, 25, 5, 8, 18, 24, 24, 25, 24, 25, 691 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 692 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 693 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 694 19, 19, 18, 24, 24, 7, 8, 9, 10, 12, 695 13, 14, 15, 16, 17, 24, 24, 24, 24, 24, 696 24, 24, 24, 24, 24, 24 636 697 }; 637 698 638 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 639 static const yytype_uint8 yyr1[] = 640 { 641 0, 21, 22, 22, 23, 23, 23, 23, 23, 23, 642 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 643 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 644 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 645 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 646 24, 24, 24 647 }; 648 649 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 650 static const yytype_uint8 yyr2[] = 651 { 652 0, 2, 1, 2, 1, 1, 3, 3, 3, 3, 653 2, 3, 3, 3, 3, 3, 3, 3, 4, 1, 654 1, 3, 3, 3, 3, 2, 3, 3, 3, 3, 655 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 656 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 657 3, 3, 4 658 }; 659 660 661 #define yyerrok (yyerrstatus = 0) 662 #define yyclearin (yychar = YYEMPTY) 663 #define YYEMPTY (-2) 664 #define YYEOF 0 665 666 #define YYACCEPT goto yyacceptlab 667 #define YYABORT goto yyabortlab 668 #define YYERROR goto yyerrorlab 669 699 #define yyerrok (yyerrstatus = 0) 700 #define yyclearin (yychar = YYEMPTY) 701 #define YYEMPTY (-2) 702 #define YYEOF 0 703 704 #define YYACCEPT goto yyacceptlab 705 #define YYABORT goto yyabortlab 706 #define YYERROR goto yyerrorlab 707 708 709 /* Like YYERROR except do call yyerror. This remains here temporarily 710 to ease the transition to the new meaning of YYERROR, for GCC. 711 Once GCC version 2 has supplanted version 1, this can go. However, 712 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 713 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 714 discussed. */ 715 716 #define YYFAIL goto yyerrlab 717 #if defined YYFAIL 718 /* This is here to suppress warnings from the GCC cpp's 719 -Wunused-macros. Normally we don't worry about that warning, but 720 some users do, and we want to make it easy for users to remove 721 YYFAIL uses, which will produce warnings from Bison 2.5. */ 722 #endif 670 723 671 724 #define YYRECOVERING() (!!yyerrstatus) … … 684 737 { \ 685 738 yyerror (YY_("syntax error: cannot back up")); \ 686 YYERROR; 687 } 688 while ( 0)739 YYERROR; \ 740 } \ 741 while (YYID (0)) 689 742 690 743 /* Error token number */ 691 #define YYTERROR 1 692 #define YYERRCODE 256 693 694 744 #define YYTERROR 1 745 #define YYERRCODE 256 746 747 748 /* This macro is provided for backward compatibility. */ 749 #ifndef YY_LOCATION_PRINT 750 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 751 #endif 752 753 754 /* YYLEX -- calling `yylex' with the right arguments. */ 755 #ifdef YYLEX_PARAM 756 # define YYLEX yylex (YYLEX_PARAM) 757 #else 758 # define YYLEX yylex () 759 #endif 695 760 696 761 /* Enable debugging if requested. */ … … 702 767 # endif 703 768 704 # define YYDPRINTF(Args) \ 705 do { \ 706 if (yydebug) \ 707 YYFPRINTF Args; \ 708 } while (0) 709 710 /* This macro is provided for backward compatibility. */ 711 #ifndef YY_LOCATION_PRINT 712 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 713 #endif 714 715 716 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 717 do { \ 718 if (yydebug) \ 719 { \ 720 YYFPRINTF (stderr, "%s ", Title); \ 721 yy_symbol_print (stderr, \ 722 Type, Value); \ 723 YYFPRINTF (stderr, "\n"); \ 724 } \ 725 } while (0) 726 727 728 /*----------------------------------------. 729 | Print this symbol's value on YYOUTPUT. | 730 `----------------------------------------*/ 731 769 # define YYDPRINTF(Args) \ 770 do { \ 771 if (yydebug) \ 772 YYFPRINTF Args; \ 773 } while (YYID (0)) 774 775 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 776 do { \ 777 if (yydebug) \ 778 { \ 779 YYFPRINTF (stderr, "%s ", Title); \ 780 yy_symbol_print (stderr, \ 781 Type, Value); \ 782 YYFPRINTF (stderr, "\n"); \ 783 } \ 784 } while (YYID (0)) 785 786 787 /*--------------------------------. 788 | Print this symbol on YYOUTPUT. | 789 `--------------------------------*/ 790 791 /*ARGSUSED*/ 792 #if (defined __STDC__ || defined __C99__FUNC__ \ 793 || defined __cplusplus || defined _MSC_VER) 732 794 static void 733 795 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 796 #else 797 static void 798 yy_symbol_value_print (yyoutput, yytype, yyvaluep) 799 FILE *yyoutput; 800 int yytype; 801 YYSTYPE const * const yyvaluep; 802 #endif 734 803 { 735 804 FILE *yyo = yyoutput; … … 740 809 if (yytype < YYNTOKENS) 741 810 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 811 # else 812 YYUSE (yyoutput); 742 813 # endif 743 YYUSE (yytype); 814 switch (yytype) 815 { 816 default: 817 break; 818 } 744 819 } 745 820 … … 749 824 `--------------------------------*/ 750 825 826 #if (defined __STDC__ || defined __C99__FUNC__ \ 827 || defined __cplusplus || defined _MSC_VER) 751 828 static void 752 829 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 753 { 754 YYFPRINTF (yyoutput, "%s %s (", 755 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 830 #else 831 static void 832 yy_symbol_print (yyoutput, yytype, yyvaluep) 833 FILE *yyoutput; 834 int yytype; 835 YYSTYPE const * const yyvaluep; 836 #endif 837 { 838 if (yytype < YYNTOKENS) 839 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 840 else 841 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 756 842 757 843 yy_symbol_value_print (yyoutput, yytype, yyvaluep); … … 764 850 `------------------------------------------------------------------*/ 765 851 852 #if (defined __STDC__ || defined __C99__FUNC__ \ 853 || defined __cplusplus || defined _MSC_VER) 766 854 static void 767 855 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 856 #else 857 static void 858 yy_stack_print (yybottom, yytop) 859 yytype_int16 *yybottom; 860 yytype_int16 *yytop; 861 #endif 768 862 { 769 863 YYFPRINTF (stderr, "Stack now"); … … 776 870 } 777 871 778 # define YY_STACK_PRINT(Bottom, Top) 779 do { 780 if (yydebug) 781 yy_stack_print ((Bottom), (Top)); 782 } while ( 0)872 # define YY_STACK_PRINT(Bottom, Top) \ 873 do { \ 874 if (yydebug) \ 875 yy_stack_print ((Bottom), (Top)); \ 876 } while (YYID (0)) 783 877 784 878 … … 787 881 `------------------------------------------------*/ 788 882 883 #if (defined __STDC__ || defined __C99__FUNC__ \ 884 || defined __cplusplus || defined _MSC_VER) 789 885 static void 790 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 791 { 792 unsigned long int yylno = yyrline[yyrule]; 886 yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 887 #else 888 static void 889 yy_reduce_print (yyvsp, yyrule) 890 YYSTYPE *yyvsp; 891 int yyrule; 892 #endif 893 { 793 894 int yynrhs = yyr2[yyrule]; 794 895 int yyi; 896 unsigned long int yylno = yyrline[yyrule]; 795 897 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 796 898 yyrule - 1, yylno); 797 899 /* The symbols being reduced. */ 798 900 for (yyi = 0; yyi < yynrhs; yyi++) 799 901 { 800 902 YYFPRINTF (stderr, " $%d = ", yyi + 1); 801 yy_symbol_print (stderr, 802 yystos[yyssp[yyi + 1 - yynrhs]], 803 &(yyvsp[(yyi + 1) - (yynrhs)]) 804 ); 903 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 904 &(yyvsp[(yyi + 1) - (yynrhs)]) 905 ); 805 906 YYFPRINTF (stderr, "\n"); 806 907 } 807 908 } 808 909 809 # define YY_REDUCE_PRINT(Rule) 810 do { 811 if (yydebug) 812 yy_reduce_print (yy ssp, yyvsp, Rule); \813 } while ( 0)910 # define YY_REDUCE_PRINT(Rule) \ 911 do { \ 912 if (yydebug) \ 913 yy_reduce_print (yyvsp, Rule); \ 914 } while (YYID (0)) 814 915 815 916 /* Nonzero means print parse trace. It is left uninitialized so that … … 825 926 826 927 /* YYINITDEPTH -- initial size of the parser's stacks. */ 827 #ifndef 928 #ifndef YYINITDEPTH 828 929 # define YYINITDEPTH 200 829 930 #endif … … 848 949 # else 849 950 /* Return the length of YYSTR. */ 951 #if (defined __STDC__ || defined __C99__FUNC__ \ 952 || defined __cplusplus || defined _MSC_VER) 850 953 static YYSIZE_T 851 954 yystrlen (const char *yystr) 955 #else 956 static YYSIZE_T 957 yystrlen (yystr) 958 const char *yystr; 959 #endif 852 960 { 853 961 YYSIZE_T yylen; … … 865 973 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 866 974 YYDEST. */ 975 #if (defined __STDC__ || defined __C99__FUNC__ \ 976 || defined __cplusplus || defined _MSC_VER) 867 977 static char * 868 978 yystpcpy (char *yydest, const char *yysrc) 979 #else 980 static char * 981 yystpcpy (yydest, yysrc) 982 char *yydest; 983 const char *yysrc; 984 #endif 869 985 { 870 986 char *yyd = yydest; … … 896 1012 897 1013 for (;;) 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 1014 switch (*++yyp) 1015 { 1016 case '\'': 1017 case ',': 1018 goto do_not_strip_quotes; 1019 1020 case '\\': 1021 if (*++yyp != '\\') 1022 goto do_not_strip_quotes; 1023 /* Fall through. */ 1024 default: 1025 if (yyres) 1026 yyres[yyn] = *yyp; 1027 yyn++; 1028 break; 1029 1030 case '"': 1031 if (yyres) 1032 yyres[yyn] = '\0'; 1033 return yyn; 1034 } 919 1035 do_not_strip_quotes: ; 920 1036 } … … 939 1055 yytype_int16 *yyssp, int yytoken) 940 1056 { 941 YYSIZE_T yysize0 = yytnamerr (YY_NULL PTR, yytname[yytoken]);1057 YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 942 1058 YYSIZE_T yysize = yysize0; 943 1059 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 944 1060 /* Internationalized format string. */ 945 const char *yyformat = YY_NULL PTR;1061 const char *yyformat = YY_NULL; 946 1062 /* Arguments of yyformat. */ 947 1063 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; … … 951 1067 952 1068 /* There are many possibilities here to consider: 1069 - Assume YYFAIL is not used. It's too flawed to consider. See 1070 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 1071 for details. YYERROR is fine as it does not invoke this 1072 function. 953 1073 - If this state is a consistent state with a default action, then 954 1074 the only way this function was invoked is if the default action … … 1000 1120 yyarg[yycount++] = yytname[yyx]; 1001 1121 { 1002 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL PTR, yytname[yyx]);1122 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 1003 1123 if (! (yysize <= yysize1 1004 1124 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) … … 1067 1187 `-----------------------------------------------*/ 1068 1188 1189 /*ARGSUSED*/ 1190 #if (defined __STDC__ || defined __C99__FUNC__ \ 1191 || defined __cplusplus || defined _MSC_VER) 1069 1192 static void 1070 1193 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1194 #else 1195 static void 1196 yydestruct (yymsg, yytype, yyvaluep) 1197 const char *yymsg; 1198 int yytype; 1199 YYSTYPE *yyvaluep; 1200 #endif 1071 1201 { 1072 1202 YYUSE (yyvaluep); 1203 1073 1204 if (!yymsg) 1074 1205 yymsg = "Deleting"; 1075 1206 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1076 1207 1077 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1078 YYUSE (yytype); 1079 YY_IGNORE_MAYBE_UNINITIALIZED_END 1208 switch (yytype) 1209 { 1210 1211 default: 1212 break; 1213 } 1080 1214 } 1081 1215 … … 1086 1220 int yychar; 1087 1221 1222 1223 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1224 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1225 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 1226 #endif 1227 #ifndef YY_INITIAL_VALUE 1228 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 1229 #endif 1230 1088 1231 /* The semantic value of the lookahead symbol. */ 1089 YYSTYPE yylval; 1232 YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 1233 1090 1234 /* Number of syntax errors so far. */ 1091 1235 int yynerrs; … … 1096 1240 `----------*/ 1097 1241 1242 #ifdef YYPARSE_PARAM 1243 #if (defined __STDC__ || defined __C99__FUNC__ \ 1244 || defined __cplusplus || defined _MSC_VER) 1245 int 1246 yyparse (void *YYPARSE_PARAM) 1247 #else 1248 int 1249 yyparse (YYPARSE_PARAM) 1250 void *YYPARSE_PARAM; 1251 #endif 1252 #else /* ! YYPARSE_PARAM */ 1253 #if (defined __STDC__ || defined __C99__FUNC__ \ 1254 || defined __cplusplus || defined _MSC_VER) 1098 1255 int 1099 1256 yyparse (void) 1257 #else 1258 int 1259 yyparse () 1260 1261 #endif 1262 #endif 1100 1263 { 1101 1264 int yystate; … … 1104 1267 1105 1268 /* The stacks and their tools: 1106 'yyss': related to states.1107 'yyvs': related to semantic values.1269 `yyss': related to states. 1270 `yyvs': related to semantic values. 1108 1271 1109 1272 Refer to the stacks through separate pointers, to allow yyoverflow … … 1173 1336 #ifdef yyoverflow 1174 1337 { 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1338 /* Give user a chance to reallocate the stack. Use copies of 1339 these so that the &'s don't force the real ones into 1340 memory. */ 1341 YYSTYPE *yyvs1 = yyvs; 1342 yytype_int16 *yyss1 = yyss; 1343 1344 /* Each stack pointer address is followed by the size of the 1345 data in use in that stack, in bytes. This used to be a 1346 conditional around just the two extra args, but that might 1347 be undefined if yyoverflow is a macro. */ 1348 yyoverflow (YY_("memory exhausted"), 1349 &yyss1, yysize * sizeof (*yyssp), 1350 &yyvs1, yysize * sizeof (*yyvsp), 1351 &yystacksize); 1352 1353 yyss = yyss1; 1354 yyvs = yyvs1; 1192 1355 } 1193 1356 #else /* no yyoverflow */ … … 1197 1360 /* Extend the stack our own way. */ 1198 1361 if (YYMAXDEPTH <= yystacksize) 1199 1362 goto yyexhaustedlab; 1200 1363 yystacksize *= 2; 1201 1364 if (YYMAXDEPTH < yystacksize) 1202 1365 yystacksize = YYMAXDEPTH; 1203 1366 1204 1367 { 1205 1206 1207 1208 1209 1210 1211 1368 yytype_int16 *yyss1 = yyss; 1369 union yyalloc *yyptr = 1370 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1371 if (! yyptr) 1372 goto yyexhaustedlab; 1373 YYSTACK_RELOCATE (yyss_alloc, yyss); 1374 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1212 1375 # undef YYSTACK_RELOCATE 1213 1214 1376 if (yyss1 != yyssa) 1377 YYSTACK_FREE (yyss1); 1215 1378 } 1216 1379 # endif … … 1221 1384 1222 1385 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1223 1386 (unsigned long int) yystacksize)); 1224 1387 1225 1388 if (yyss + yystacksize - 1 <= yyssp) 1226 1389 YYABORT; 1227 1390 } 1228 1391 … … 1253 1416 { 1254 1417 YYDPRINTF ((stderr, "Reading a token: ")); 1255 yychar = yylex ();1418 yychar = YYLEX; 1256 1419 } 1257 1420 … … 1318 1481 1319 1482 /* If YYLEN is nonzero, implement the default value of the action: 1320 '$$ = $1'.1483 `$$ = $1'. 1321 1484 1322 1485 Otherwise, the following line sets YYVAL to garbage. … … 1332 1495 { 1333 1496 case 2: 1334 #line 61 "yacc_parser.yacc" /* yacc.c:1646 */ 1497 /* Line 1792 of yacc.c */ 1498 #line 61 "yacc_parser.yacc" 1335 1499 { /* Nothing to do */ } 1336 #line 1337 "yacc_parser.cpp" /* yacc.c:1646 */1337 1500 break; 1338 1501 1339 1502 case 3: 1340 #line 62 "yacc_parser.yacc" /* yacc.c:1646*/1341 { parsed = (yyvsp[-1].filterNode); } 1342 #line 1343 "yacc_parser.cpp" /* yacc.c:1646 */ 1503 /* Line 1792 of yacc.c */ 1504 #line 62 "yacc_parser.yacc" 1505 { parsed = (yyvsp[(1) - (2)].filterNode); } 1343 1506 break; 1344 1507 1345 1508 case 4: 1346 #line 66 "yacc_parser.yacc" /* yacc.c:1646*/1347 { (yyval.scalarNode) = new CScalarValExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1348 #line 1349 "yacc_parser.cpp" /* yacc.c:1646 */ 1509 /* Line 1792 of yacc.c */ 1510 #line 66 "yacc_parser.yacc" 1511 { (yyval.scalarNode) = new CScalarValExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 1349 1512 break; 1350 1513 1351 1514 case 5: 1352 #line 67 "yacc_parser.yacc" /* yacc.c:1646*/1353 { (yyval.scalarNode) = new CScalarVarExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1354 #line 1355 "yacc_parser.cpp" /* yacc.c:1646 */ 1515 /* Line 1792 of yacc.c */ 1516 #line 67 "yacc_parser.yacc" 1517 { (yyval.scalarNode) = new CScalarVarExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 1355 1518 break; 1356 1519 1357 1520 case 6: 1358 #line 68 "yacc_parser.yacc" /* yacc.c:1646*/1359 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].scalarNode)); } 1360 #line 1361 "yacc_parser.cpp" /* yacc.c:1646 */ 1521 /* Line 1792 of yacc.c */ 1522 #line 68 "yacc_parser.yacc" 1523 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "add", (yyvsp[(3) - (3)].scalarNode)); } 1361 1524 break; 1362 1525 1363 1526 case 7: 1364 #line 69 "yacc_parser.yacc" /* yacc.c:1646*/1365 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].scalarNode)); } 1366 #line 1367 "yacc_parser.cpp" /* yacc.c:1646 */ 1527 /* Line 1792 of yacc.c */ 1528 #line 69 "yacc_parser.yacc" 1529 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "minus", (yyvsp[(3) - (3)].scalarNode)); } 1367 1530 break; 1368 1531 1369 1532 case 8: 1370 #line 70 "yacc_parser.yacc" /* yacc.c:1646*/1371 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].scalarNode)); } 1372 #line 1373 "yacc_parser.cpp" /* yacc.c:1646 */ 1533 /* Line 1792 of yacc.c */ 1534 #line 70 "yacc_parser.yacc" 1535 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "mult", (yyvsp[(3) - (3)].scalarNode)); } 1373 1536 break; 1374 1537 1375 1538 case 9: 1376 #line 71 "yacc_parser.yacc" /* yacc.c:1646*/1377 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].scalarNode)); } 1378 #line 1379 "yacc_parser.cpp" /* yacc.c:1646 */ 1539 /* Line 1792 of yacc.c */ 1540 #line 71 "yacc_parser.yacc" 1541 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "div", (yyvsp[(3) - (3)].scalarNode)); } 1379 1542 break; 1380 1543 1381 1544 case 10: 1382 #line 72 "yacc_parser.yacc" /* yacc.c:1646*/1383 { (yyval.scalarNode) = new CScalarUnaryOpExprNode("neg", (yyvsp[0].scalarNode)); } 1384 #line 1385 "yacc_parser.cpp" /* yacc.c:1646 */ 1545 /* Line 1792 of yacc.c */ 1546 #line 72 "yacc_parser.yacc" 1547 { (yyval.scalarNode) = new CScalarUnaryOpExprNode("neg", (yyvsp[(2) - (2)].scalarNode)); } 1385 1548 break; 1386 1549 1387 1550 case 11: 1388 #line 73 "yacc_parser.yacc" /* yacc.c:1646*/1389 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "pow", (yyvsp[0].scalarNode)); } 1390 #line 1391 "yacc_parser.cpp" /* yacc.c:1646 */ 1551 /* Line 1792 of yacc.c */ 1552 #line 73 "yacc_parser.yacc" 1553 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "pow", (yyvsp[(3) - (3)].scalarNode)); } 1391 1554 break; 1392 1555 1393 1556 case 12: 1394 #line 74 "yacc_parser.yacc" /* yacc.c:1646*/1395 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "eq", (yyvsp[0].scalarNode)); } 1396 #line 1397 "yacc_parser.cpp" /* yacc.c:1646 */ 1557 /* Line 1792 of yacc.c */ 1558 #line 74 "yacc_parser.yacc" 1559 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "eq", (yyvsp[(3) - (3)].scalarNode)); } 1397 1560 break; 1398 1561 1399 1562 case 13: 1400 #line 75 "yacc_parser.yacc" /* yacc.c:1646*/1401 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "lt", (yyvsp[0].scalarNode)); } 1402 #line 1403 "yacc_parser.cpp" /* yacc.c:1646 */ 1563 /* Line 1792 of yacc.c */ 1564 #line 75 "yacc_parser.yacc" 1565 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "lt", (yyvsp[(3) - (3)].scalarNode)); } 1403 1566 break; 1404 1567 1405 1568 case 14: 1406 #line 76 "yacc_parser.yacc" /* yacc.c:1646*/1407 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "gt", (yyvsp[0].scalarNode)); } 1408 #line 1409 "yacc_parser.cpp" /* yacc.c:1646 */ 1569 /* Line 1792 of yacc.c */ 1570 #line 76 "yacc_parser.yacc" 1571 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "gt", (yyvsp[(3) - (3)].scalarNode)); } 1409 1572 break; 1410 1573 1411 1574 case 15: 1412 #line 77 "yacc_parser.yacc" /* yacc.c:1646*/1413 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "le", (yyvsp[0].scalarNode)); } 1414 #line 1415 "yacc_parser.cpp" /* yacc.c:1646 */ 1575 /* Line 1792 of yacc.c */ 1576 #line 77 "yacc_parser.yacc" 1577 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "le", (yyvsp[(3) - (3)].scalarNode)); } 1415 1578 break; 1416 1579 1417 1580 case 16: 1418 #line 78 "yacc_parser.yacc" /* yacc.c:1646*/1419 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "ge", (yyvsp[0].scalarNode)); } 1420 #line 1421 "yacc_parser.cpp" /* yacc.c:1646 */ 1581 /* Line 1792 of yacc.c */ 1582 #line 78 "yacc_parser.yacc" 1583 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "ge", (yyvsp[(3) - (3)].scalarNode)); } 1421 1584 break; 1422 1585 1423 1586 case 17: 1424 #line 79 "yacc_parser.yacc" /* yacc.c:1646*/1425 { (yyval.scalarNode) = (yyvsp[-1].scalarNode); } 1426 #line 1427 "yacc_parser.cpp" /* yacc.c:1646 */ 1587 /* Line 1792 of yacc.c */ 1588 #line 79 "yacc_parser.yacc" 1589 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[(1) - (3)].scalarNode), "ne", (yyvsp[(3) - (3)].scalarNode)); } 1427 1590 break; 1428 1591 1429 1592 case 18: 1430 #line 80 "yacc_parser.yacc" /* yacc.c:1646*/1431 { (yyval.scalarNode) = new CScalarUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].scalarNode)); delete (yyvsp[-3].str); } 1432 #line 1433 "yacc_parser.cpp" /* yacc.c:1646 */ 1593 /* Line 1792 of yacc.c */ 1594 #line 80 "yacc_parser.yacc" 1595 { (yyval.scalarNode) = (yyvsp[(2) - (3)].scalarNode); } 1433 1596 break; 1434 1597 1435 1598 case 19: 1436 #line 84 "yacc_parser.yacc" /* yacc.c:1646*/1437 { (yyval.filterNode) = new CFilterFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1438 #line 1439 "yacc_parser.cpp" /* yacc.c:1646 */ 1599 /* Line 1792 of yacc.c */ 1600 #line 81 "yacc_parser.yacc" 1601 { (yyval.scalarNode) = new CScalarUnaryOpExprNode(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].scalarNode)); delete (yyvsp[(1) - (4)].str); } 1439 1602 break; 1440 1603 1441 1604 case 20: 1442 #line 85 "yacc_parser.yacc" /* yacc.c:1646*/1443 { (yyval.filterNode) = new CFilterTemporalFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1444 #line 1445 "yacc_parser.cpp" /* yacc.c:1646 */ 1605 /* Line 1792 of yacc.c */ 1606 #line 85 "yacc_parser.yacc" 1607 { (yyval.filterNode) = new CFilterFieldExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 1445 1608 break; 1446 1609 1447 1610 case 21: 1448 #line 86 "yacc_parser.yacc" /* yacc.c:1646*/1449 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].filterNode)); } 1450 #line 1451 "yacc_parser.cpp" /* yacc.c:1646 */ 1611 /* Line 1792 of yacc.c */ 1612 #line 86 "yacc_parser.yacc" 1613 { (yyval.filterNode) = new CFilterTemporalFieldExprNode(*(yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); } 1451 1614 break; 1452 1615 1453 1616 case 22: 1454 #line 87 "yacc_parser.yacc" /* yacc.c:1646*/1455 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].filterNode)); } 1456 #line 1457 "yacc_parser.cpp" /* yacc.c:1646 */ 1617 /* Line 1792 of yacc.c */ 1618 #line 87 "yacc_parser.yacc" 1619 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "add", (yyvsp[(3) - (3)].filterNode)); } 1457 1620 break; 1458 1621 1459 1622 case 23: 1460 #line 88 "yacc_parser.yacc" /* yacc.c:1646*/1461 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].filterNode)); } 1462 #line 1463 "yacc_parser.cpp" /* yacc.c:1646 */ 1623 /* Line 1792 of yacc.c */ 1624 #line 88 "yacc_parser.yacc" 1625 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "minus", (yyvsp[(3) - (3)].filterNode)); } 1463 1626 break; 1464 1627 1465 1628 case 24: 1466 #line 89 "yacc_parser.yacc" /* yacc.c:1646*/1467 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].filterNode)); } 1468 #line 1469 "yacc_parser.cpp" /* yacc.c:1646 */ 1629 /* Line 1792 of yacc.c */ 1630 #line 89 "yacc_parser.yacc" 1631 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "mult", (yyvsp[(3) - (3)].filterNode)); } 1469 1632 break; 1470 1633 1471 1634 case 25: 1472 #line 90 "yacc_parser.yacc" /* yacc.c:1646*/1473 { (yyval.filterNode) = new CFilterUnaryOpExprNode("neg", (yyvsp[0].filterNode)); } 1474 #line 1475 "yacc_parser.cpp" /* yacc.c:1646 */ 1635 /* Line 1792 of yacc.c */ 1636 #line 90 "yacc_parser.yacc" 1637 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "div", (yyvsp[(3) - (3)].filterNode)); } 1475 1638 break; 1476 1639 1477 1640 case 26: 1478 #line 91 "yacc_parser.yacc" /* yacc.c:1646*/1479 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].filterNode)); } 1480 #line 1481 "yacc_parser.cpp" /* yacc.c:1646 */ 1641 /* Line 1792 of yacc.c */ 1642 #line 91 "yacc_parser.yacc" 1643 { (yyval.filterNode) = new CFilterUnaryOpExprNode("neg", (yyvsp[(2) - (2)].filterNode)); } 1481 1644 break; 1482 1645 1483 1646 case 27: 1484 #line 92 "yacc_parser.yacc" /* yacc.c:1646*/1485 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "eq", (yyvsp[0].filterNode)); } 1486 #line 1487 "yacc_parser.cpp" /* yacc.c:1646 */ 1647 /* Line 1792 of yacc.c */ 1648 #line 92 "yacc_parser.yacc" 1649 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "pow", (yyvsp[(3) - (3)].filterNode)); } 1487 1650 break; 1488 1651 1489 1652 case 28: 1490 #line 93 "yacc_parser.yacc" /* yacc.c:1646*/1491 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "lt", (yyvsp[0].filterNode)); } 1492 #line 1493 "yacc_parser.cpp" /* yacc.c:1646 */ 1653 /* Line 1792 of yacc.c */ 1654 #line 93 "yacc_parser.yacc" 1655 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "eq", (yyvsp[(3) - (3)].filterNode)); } 1493 1656 break; 1494 1657 1495 1658 case 29: 1496 #line 94 "yacc_parser.yacc" /* yacc.c:1646*/1497 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "gt", (yyvsp[0].filterNode)); } 1498 #line 1499 "yacc_parser.cpp" /* yacc.c:1646 */ 1659 /* Line 1792 of yacc.c */ 1660 #line 94 "yacc_parser.yacc" 1661 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "lt", (yyvsp[(3) - (3)].filterNode)); } 1499 1662 break; 1500 1663 1501 1664 case 30: 1502 #line 95 "yacc_parser.yacc" /* yacc.c:1646*/1503 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "le", (yyvsp[0].filterNode)); } 1504 #line 1505 "yacc_parser.cpp" /* yacc.c:1646 */ 1665 /* Line 1792 of yacc.c */ 1666 #line 95 "yacc_parser.yacc" 1667 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "gt", (yyvsp[(3) - (3)].filterNode)); } 1505 1668 break; 1506 1669 1507 1670 case 31: 1508 #line 96 "yacc_parser.yacc" /* yacc.c:1646*/1509 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "ge", (yyvsp[0].filterNode)); } 1510 #line 1511 "yacc_parser.cpp" /* yacc.c:1646 */ 1671 /* Line 1792 of yacc.c */ 1672 #line 96 "yacc_parser.yacc" 1673 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "le", (yyvsp[(3) - (3)].filterNode)); } 1511 1674 break; 1512 1675 1513 1676 case 32: 1514 #line 97 "yacc_parser.yacc" /* yacc.c:1646*/1515 { (yyval.filterNode) = (yyvsp[-1].filterNode); } 1516 #line 1517 "yacc_parser.cpp" /* yacc.c:1646 */ 1677 /* Line 1792 of yacc.c */ 1678 #line 97 "yacc_parser.yacc" 1679 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "ge", (yyvsp[(3) - (3)].filterNode)); } 1517 1680 break; 1518 1681 1519 1682 case 33: 1520 #line 98 "yacc_parser.yacc" /* yacc.c:1646*/1521 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].scalarNode)); } 1522 #line 1523 "yacc_parser.cpp" /* yacc.c:1646 */ 1683 /* Line 1792 of yacc.c */ 1684 #line 98 "yacc_parser.yacc" 1685 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[(1) - (3)].filterNode), "ne", (yyvsp[(3) - (3)].filterNode)); } 1523 1686 break; 1524 1687 1525 1688 case 34: 1526 #line 99 "yacc_parser.yacc" /* yacc.c:1646*/1527 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].filterNode)); } 1528 #line 1529 "yacc_parser.cpp" /* yacc.c:1646 */ 1689 /* Line 1792 of yacc.c */ 1690 #line 99 "yacc_parser.yacc" 1691 { (yyval.filterNode) = (yyvsp[(2) - (3)].filterNode); } 1529 1692 break; 1530 1693 1531 1694 case 35: 1532 #line 100 "yacc_parser.yacc" /* yacc.c:1646*/1533 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].scalarNode)); } 1534 #line 1535 "yacc_parser.cpp" /* yacc.c:1646 */ 1695 /* Line 1792 of yacc.c */ 1696 #line 100 "yacc_parser.yacc" 1697 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "add", (yyvsp[(3) - (3)].scalarNode)); } 1535 1698 break; 1536 1699 1537 1700 case 36: 1538 #line 101 "yacc_parser.yacc" /* yacc.c:1646*/1539 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].filterNode)); } 1540 #line 1541 "yacc_parser.cpp" /* yacc.c:1646 */ 1701 /* Line 1792 of yacc.c */ 1702 #line 101 "yacc_parser.yacc" 1703 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "add", (yyvsp[(3) - (3)].filterNode)); } 1541 1704 break; 1542 1705 1543 1706 case 37: 1544 #line 102 "yacc_parser.yacc" /* yacc.c:1646*/1545 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].scalarNode)); } 1546 #line 1547 "yacc_parser.cpp" /* yacc.c:1646 */ 1707 /* Line 1792 of yacc.c */ 1708 #line 102 "yacc_parser.yacc" 1709 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "minus", (yyvsp[(3) - (3)].scalarNode)); } 1547 1710 break; 1548 1711 1549 1712 case 38: 1550 #line 103 "yacc_parser.yacc" /* yacc.c:1646*/1551 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].filterNode)); } 1552 #line 1553 "yacc_parser.cpp" /* yacc.c:1646 */ 1713 /* Line 1792 of yacc.c */ 1714 #line 103 "yacc_parser.yacc" 1715 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "minus", (yyvsp[(3) - (3)].filterNode)); } 1553 1716 break; 1554 1717 1555 1718 case 39: 1556 #line 104 "yacc_parser.yacc" /* yacc.c:1646*/1557 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].scalarNode)); } 1558 #line 1559 "yacc_parser.cpp" /* yacc.c:1646 */ 1719 /* Line 1792 of yacc.c */ 1720 #line 104 "yacc_parser.yacc" 1721 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "mult", (yyvsp[(3) - (3)].scalarNode)); } 1559 1722 break; 1560 1723 1561 1724 case 40: 1562 #line 105 "yacc_parser.yacc" /* yacc.c:1646*/1563 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].filterNode)); } 1564 #line 1565 "yacc_parser.cpp" /* yacc.c:1646 */ 1725 /* Line 1792 of yacc.c */ 1726 #line 105 "yacc_parser.yacc" 1727 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "mult", (yyvsp[(3) - (3)].filterNode)); } 1565 1728 break; 1566 1729 1567 1730 case 41: 1568 #line 106 "yacc_parser.yacc" /* yacc.c:1646*/1569 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].scalarNode)); } 1570 #line 1571 "yacc_parser.cpp" /* yacc.c:1646 */ 1731 /* Line 1792 of yacc.c */ 1732 #line 106 "yacc_parser.yacc" 1733 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "div", (yyvsp[(3) - (3)].scalarNode)); } 1571 1734 break; 1572 1735 1573 1736 case 42: 1574 #line 107 "yacc_parser.yacc" /* yacc.c:1646*/1575 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "eq", (yyvsp[0].scalarNode)); } 1576 #line 1577 "yacc_parser.cpp" /* yacc.c:1646 */ 1737 /* Line 1792 of yacc.c */ 1738 #line 107 "yacc_parser.yacc" 1739 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "div", (yyvsp[(3) - (3)].filterNode)); } 1577 1740 break; 1578 1741 1579 1742 case 43: 1580 #line 108 "yacc_parser.yacc" /* yacc.c:1646*/1581 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "eq", (yyvsp[0].filterNode)); } 1582 #line 1583 "yacc_parser.cpp" /* yacc.c:1646 */ 1743 /* Line 1792 of yacc.c */ 1744 #line 108 "yacc_parser.yacc" 1745 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "pow", (yyvsp[(3) - (3)].scalarNode)); } 1583 1746 break; 1584 1747 1585 1748 case 44: 1586 #line 109 "yacc_parser.yacc" /* yacc.c:1646*/1587 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "lt", (yyvsp[0].scalarNode)); } 1588 #line 1589 "yacc_parser.cpp" /* yacc.c:1646 */ 1749 /* Line 1792 of yacc.c */ 1750 #line 109 "yacc_parser.yacc" 1751 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "eq", (yyvsp[(3) - (3)].scalarNode)); } 1589 1752 break; 1590 1753 1591 1754 case 45: 1592 #line 110 "yacc_parser.yacc" /* yacc.c:1646*/1593 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "lt", (yyvsp[0].filterNode)); } 1594 #line 1595 "yacc_parser.cpp" /* yacc.c:1646 */ 1755 /* Line 1792 of yacc.c */ 1756 #line 110 "yacc_parser.yacc" 1757 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "eq", (yyvsp[(3) - (3)].filterNode)); } 1595 1758 break; 1596 1759 1597 1760 case 46: 1598 #line 111 "yacc_parser.yacc" /* yacc.c:1646*/1599 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "gt", (yyvsp[0].scalarNode)); } 1600 #line 1601 "yacc_parser.cpp" /* yacc.c:1646 */ 1761 /* Line 1792 of yacc.c */ 1762 #line 111 "yacc_parser.yacc" 1763 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "lt", (yyvsp[(3) - (3)].scalarNode)); } 1601 1764 break; 1602 1765 1603 1766 case 47: 1604 #line 112 "yacc_parser.yacc" /* yacc.c:1646*/1605 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "gt", (yyvsp[0].filterNode)); } 1606 #line 1607 "yacc_parser.cpp" /* yacc.c:1646 */ 1767 /* Line 1792 of yacc.c */ 1768 #line 112 "yacc_parser.yacc" 1769 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "lt", (yyvsp[(3) - (3)].filterNode)); } 1607 1770 break; 1608 1771 1609 1772 case 48: 1610 #line 113 "yacc_parser.yacc" /* yacc.c:1646*/1611 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "le", (yyvsp[0].scalarNode)); } 1612 #line 1613 "yacc_parser.cpp" /* yacc.c:1646 */ 1773 /* Line 1792 of yacc.c */ 1774 #line 113 "yacc_parser.yacc" 1775 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "gt", (yyvsp[(3) - (3)].scalarNode)); } 1613 1776 break; 1614 1777 1615 1778 case 49: 1616 #line 114 "yacc_parser.yacc" /* yacc.c:1646*/1617 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "le", (yyvsp[0].filterNode)); } 1618 #line 1619 "yacc_parser.cpp" /* yacc.c:1646 */ 1779 /* Line 1792 of yacc.c */ 1780 #line 114 "yacc_parser.yacc" 1781 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "gt", (yyvsp[(3) - (3)].filterNode)); } 1619 1782 break; 1620 1783 1621 1784 case 50: 1622 #line 115 "yacc_parser.yacc" /* yacc.c:1646*/1623 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "ge", (yyvsp[0].scalarNode)); } 1624 #line 1625 "yacc_parser.cpp" /* yacc.c:1646 */ 1785 /* Line 1792 of yacc.c */ 1786 #line 115 "yacc_parser.yacc" 1787 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "le", (yyvsp[(3) - (3)].scalarNode)); } 1625 1788 break; 1626 1789 1627 1790 case 51: 1628 #line 116 "yacc_parser.yacc" /* yacc.c:1646*/1629 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "ge", (yyvsp[0].filterNode)); } 1630 #line 1631 "yacc_parser.cpp" /* yacc.c:1646 */ 1791 /* Line 1792 of yacc.c */ 1792 #line 116 "yacc_parser.yacc" 1793 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "le", (yyvsp[(3) - (3)].filterNode)); } 1631 1794 break; 1632 1795 1633 1796 case 52: 1634 #line 117 "yacc_parser.yacc" /* yacc.c:1646 */ 1635 { (yyval.filterNode) = new CFilterUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].filterNode)); delete (yyvsp[-3].str); } 1636 #line 1637 "yacc_parser.cpp" /* yacc.c:1646 */ 1637 break; 1638 1639 1640 #line 1641 "yacc_parser.cpp" /* yacc.c:1646 */ 1797 /* Line 1792 of yacc.c */ 1798 #line 117 "yacc_parser.yacc" 1799 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "ge", (yyvsp[(3) - (3)].scalarNode)); } 1800 break; 1801 1802 case 53: 1803 /* Line 1792 of yacc.c */ 1804 #line 118 "yacc_parser.yacc" 1805 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "ge", (yyvsp[(3) - (3)].filterNode)); } 1806 break; 1807 1808 case 54: 1809 /* Line 1792 of yacc.c */ 1810 #line 119 "yacc_parser.yacc" 1811 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[(1) - (3)].filterNode), "ne", (yyvsp[(3) - (3)].scalarNode)); } 1812 break; 1813 1814 case 55: 1815 /* Line 1792 of yacc.c */ 1816 #line 120 "yacc_parser.yacc" 1817 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[(1) - (3)].scalarNode), "ne", (yyvsp[(3) - (3)].filterNode)); } 1818 break; 1819 1820 case 56: 1821 /* Line 1792 of yacc.c */ 1822 #line 121 "yacc_parser.yacc" 1823 { (yyval.filterNode) = new CFilterUnaryOpExprNode(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].filterNode)); delete (yyvsp[(1) - (4)].str); } 1824 break; 1825 1826 1827 /* Line 1792 of yacc.c */ 1828 #line 1829 "yacc_parser.cpp" 1641 1829 default: break; 1642 1830 } … … 1660 1848 *++yyvsp = yyval; 1661 1849 1662 /* Now 'shift' the result of the reduction. Determine what state1850 /* Now `shift' the result of the reduction. Determine what state 1663 1851 that goes to, based on the state we popped back to and the rule 1664 1852 number reduced by. */ … … 1675 1863 1676 1864 1677 /*------------------------------------ --.1678 | yyerrlab -- here on detecting error .|1679 `------------------------------------ --*/1865 /*------------------------------------. 1866 | yyerrlab -- here on detecting error | 1867 `------------------------------------*/ 1680 1868 yyerrlab: 1681 1869 /* Make sure we have latest lookahead translation. See comments at … … 1728 1916 { 1729 1917 /* If just tried and failed to reuse lookahead token after an 1730 1918 error, discard it. */ 1731 1919 1732 1920 if (yychar <= YYEOF) 1733 1734 1735 1736 1737 1921 { 1922 /* Return failure if at end of input. */ 1923 if (yychar == YYEOF) 1924 YYABORT; 1925 } 1738 1926 else 1739 1740 1741 1742 1743 1927 { 1928 yydestruct ("Error: discarding", 1929 yytoken, &yylval); 1930 yychar = YYEMPTY; 1931 } 1744 1932 } 1745 1933 … … 1760 1948 goto yyerrorlab; 1761 1949 1762 /* Do not reclaim the symbols of the rule wh oseaction triggered1950 /* Do not reclaim the symbols of the rule which action triggered 1763 1951 this YYERROR. */ 1764 1952 YYPOPSTACK (yylen); … … 1773 1961 `-------------------------------------------------------------*/ 1774 1962 yyerrlab1: 1775 yyerrstatus = 3; 1963 yyerrstatus = 3; /* Each real token shifted decrements this. */ 1776 1964 1777 1965 for (;;) … … 1779 1967 yyn = yypact[yystate]; 1780 1968 if (!yypact_value_is_default (yyn)) 1781 1782 1783 1784 1785 1786 1787 1788 1789 1969 { 1970 yyn += YYTERROR; 1971 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 1972 { 1973 yyn = yytable[yyn]; 1974 if (0 < yyn) 1975 break; 1976 } 1977 } 1790 1978 1791 1979 /* Pop the current state because it cannot handle the error token. */ 1792 1980 if (yyssp == yyss) 1793 1981 YYABORT; 1794 1982 1795 1983 1796 1984 yydestruct ("Error: popping", 1797 1985 yystos[yystate], yyvsp); 1798 1986 YYPOPSTACK (1); 1799 1987 yystate = *yyssp; … … 1846 2034 yytoken, &yylval); 1847 2035 } 1848 /* Do not reclaim the symbols of the rule wh oseaction triggered2036 /* Do not reclaim the symbols of the rule which action triggered 1849 2037 this YYABORT or YYACCEPT. */ 1850 2038 YYPOPSTACK (yylen); … … 1853 2041 { 1854 2042 yydestruct ("Cleanup: popping", 1855 2043 yystos[*yyssp], yyvsp); 1856 2044 YYPOPSTACK (1); 1857 2045 } … … 1864 2052 YYSTACK_FREE (yymsg); 1865 2053 #endif 1866 return yyresult; 2054 /* Make sure YYID is used. */ 2055 return YYID (yyresult); 1867 2056 } 1868 #line 119 "yacc_parser.yacc" /* yacc.c:1906 */ 2057 2058 2059 /* Line 2055 of yacc.c */ 2060 #line 123 "yacc_parser.yacc" 1869 2061 1870 2062 -
XIOS/trunk/src/parse_expr/yacc_parser.hpp
r728 r1019 1 /* A Bison parser, made by GNU Bison 3.0.2. */1 /* A Bison parser, made by GNU Bison 2.7. */ 2 2 3 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 6 7 7 This program is free software: you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation, either version 3 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 27 27 Bison output files to be licensed under the GNU General Public 28 28 License without this special exception. 29 29 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ … … 33 33 #ifndef YY_YY_YACC_PARSER_HPP_INCLUDED 34 34 # define YY_YY_YACC_PARSER_HPP_INCLUDED 35 /* Debug traces. */35 /* Enabling traces. */ 36 36 #ifndef YYDEBUG 37 37 # define YYDEBUG 0 … … 41 41 #endif 42 42 43 /* Token type. */43 /* Tokens. */ 44 44 #ifndef YYTOKENTYPE 45 45 # define YYTOKENTYPE 46 enum yytokentype 47 { 48 NUMBER = 258, 49 VAR = 259, 50 ID = 260, 51 AVERAGE = 261, 52 PLUS = 262, 53 MINUS = 263, 54 TIMES = 264, 55 DIVIDE = 265, 56 POWER = 266, 57 EQ = 267, 58 LT = 268, 59 GT = 269, 60 LE = 270, 61 GE = 271, 62 LEFT_PARENTHESIS = 272, 63 RIGHT_PARENTHESIS = 273, 64 END = 274, 65 NEG = 275 66 }; 46 /* Put the tokens into the symbol table, so that GDB and other debuggers 47 know about them. */ 48 enum yytokentype { 49 NUMBER = 258, 50 VAR = 259, 51 ID = 260, 52 AVERAGE = 261, 53 PLUS = 262, 54 MINUS = 263, 55 TIMES = 264, 56 DIVIDE = 265, 57 POWER = 266, 58 EQ = 267, 59 LT = 268, 60 GT = 269, 61 LE = 270, 62 GE = 271, 63 NE = 272, 64 LEFT_PARENTHESIS = 273, 65 RIGHT_PARENTHESIS = 274, 66 END = 275, 67 NEG = 276 68 }; 67 69 #endif 68 70 69 /* Value type. */ 71 70 72 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 71 typedef union YYSTYPE YYSTYPE; 72 union YYSTYPE 73 typedef union YYSTYPE 73 74 { 74 #line 35 "yacc_parser.yacc" /* yacc.c:1909 */ 75 /* Line 2058 of yacc.c */ 76 #line 35 "yacc_parser.yacc" 75 77 76 78 std::string* str; /* symbol table index */ … … 78 80 xios::IFilterExprNode* filterNode; 79 81 80 #line 81 "yacc_parser.hpp" /* yacc.c:1909 */ 81 }; 82 83 /* Line 2058 of yacc.c */ 84 #line 85 "yacc_parser.hpp" 85 } YYSTYPE; 82 86 # define YYSTYPE_IS_TRIVIAL 1 87 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 83 88 # define YYSTYPE_IS_DECLARED 1 84 89 #endif 85 90 86 87 91 extern YYSTYPE yylval; 88 92 93 #ifdef YYPARSE_PARAM 94 #if defined __STDC__ || defined __cplusplus 95 int yyparse (void *YYPARSE_PARAM); 96 #else 97 int yyparse (); 98 #endif 99 #else /* ! YYPARSE_PARAM */ 100 #if defined __STDC__ || defined __cplusplus 89 101 int yyparse (void); 102 #else 103 int yyparse (); 104 #endif 105 #endif /* ! YYPARSE_PARAM */ 90 106 91 107 #endif /* !YY_YY_YACC_PARSER_HPP_INCLUDED */ -
XIOS/trunk/src/parse_expr/yacc_parser.yacc
r728 r1019 42 42 %token <str> VAR ID AVERAGE 43 43 %token PLUS MINUS TIMES DIVIDE POWER 44 %token EQ LT GT LE GE 44 %token EQ LT GT LE GE NE 45 45 %token LEFT_PARENTHESIS RIGHT_PARENTHESIS 46 46 %token <str> END 47 47 48 %left EQ LT GT LE GE 48 %left EQ LT GT LE GE NE 49 49 %left PLUS MINUS 50 50 %left TIMES DIVIDE … … 77 77 | Expression LE Expression { $$ = new CScalarBinaryOpExprNode($1, "le", $3); } 78 78 | Expression GE Expression { $$ = new CScalarBinaryOpExprNode($1, "ge", $3); } 79 | Expression NE Expression { $$ = new CScalarBinaryOpExprNode($1, "ne", $3); } 79 80 | LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = $2; } 80 81 | ID LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = new CScalarUnaryOpExprNode(*$1, $3); delete $1; } … … 95 96 | Field_expr LE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "le", $3); } 96 97 | Field_expr GE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ge", $3); } 98 | Field_expr NE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ne", $3); } 97 99 | LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = $2; } 98 100 | Field_expr PLUS Expression { $$ = new CFilterFieldScalarOpExprNode($1, "add", $3); } … … 115 117 | Field_expr GE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ge", $3); } 116 118 | Expression GE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ge", $3); } 119 | Field_expr NE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ne", $3); } 120 | Expression NE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ne", $3); } 117 121 | ID LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = new CFilterUnaryOpExprNode(*$1, $3); delete $1; } 118 122 ;
Note: See TracChangeset
for help on using the changeset viewer.