Changeset 728 for XIOS/trunk/src
- Timestamp:
- 10/09/15 16:42:23 (8 years ago)
- Location:
- XIOS/trunk/src/parse_expr
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/parse_expr/lex_parser.cpp
r642 r728 383 383 7, 8, 9, 10, 4, 11, 4, 12, 13, 13, 384 384 13, 13, 13, 13, 13, 13, 13, 13, 4, 4, 385 4, 4, 4, 4, 14, 15, 15, 15, 15, 15,386 387 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,388 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,389 1 5, 4, 4, 4, 16, 4, 4, 15, 15, 15,390 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,391 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,392 1 5, 15, 15, 4, 4, 4, 4, 4385 14, 15, 16, 4, 17, 18, 18, 18, 18, 18, 386 387 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 388 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 389 18, 4, 4, 4, 19, 4, 4, 18, 18, 18, 390 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 391 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 392 18, 18, 18, 4, 4, 4, 4, 4 393 393 }, 394 394 … … 401 401 7, 8, 9, 10, 4, 11, 4, 12, 13, 13, 402 402 13, 13, 13, 13, 13, 13, 13, 13, 4, 4, 403 4, 4, 4, 4, 14, 15, 15, 15, 15, 15,404 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,405 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,406 1 5, 4, 4, 4, 16, 4, 4, 15, 15, 15,407 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,408 1 5, 15, 15, 15, 15, 15, 15, 15, 15, 15,409 1 5, 15, 15, 4, 4, 4, 4, 4403 14, 15, 16, 4, 17, 18, 18, 18, 18, 18, 404 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 405 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 406 18, 4, 4, 4, 19, 4, 4, 18, 18, 18, 407 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 408 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 409 18, 18, 18, 4, 4, 4, 4, 4 410 410 }, 411 411 … … 446 446 447 447 { 448 3, -5, -5, -5, -5, -5, -5, -5, -5, 18,448 3, -5, -5, -5, -5, -5, -5, -5, -5, 21, 449 449 -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 450 450 -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 451 -5, -5, 18, -5, -5, -5, -5, -5, -5, -5,451 -5, -5, 21, -5, -5, -5, -5, -5, -5, -5, 452 452 -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 453 453 … … 470 470 -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, 471 471 -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, 472 -6, -6, -6, -6, -6, 19, 19, 19, 19, 19,473 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,474 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,475 19, -6, -6, -6, -6, -6, -6, 19, 19, 19,476 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,477 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,478 479 19, 19, 19, -6, -6, -6, -6, -6472 -6, -6, -6, -6, -6, 22, 22, 22, 22, 22, 473 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 474 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 475 22, -6, -6, -6, -6, -6, -6, 22, 22, 22, 476 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 477 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 478 479 22, 22, 22, -6, -6, -6, -6, -6 480 480 }, 481 481 … … 589 589 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 590 590 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 591 -13, -13, -13, -13, -13, -13, 2 0, -13, 21, 21,592 2 1, 21, 21, 21, 21, 21, 21, 21, -13, -13,593 -13, -13, -13, -13, -13, -13, -13, -13, -13, 2 2,591 -13, -13, -13, -13, -13, -13, 23, -13, 24, 24, 592 24, 24, 24, 24, 24, 24, 24, 24, -13, -13, 593 -13, -13, -13, -13, -13, -13, -13, -13, -13, 25, 594 594 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 595 595 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 596 596 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, 597 -13, 2 2, -13, -13, -13, -13, -13, -13, -13, -13,597 -13, 25, -13, -13, -13, -13, -13, -13, -13, -13, 598 598 599 599 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, … … 608 608 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 609 609 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 610 -14, -14, -14, -14, -14, 23, 23, 23, 23, 23,611 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,612 613 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,614 23, -14, -14, -14, -14, -14, -14, 23, 23, 23,615 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,616 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,617 23, 23, 23, -14, -14, -14, -14, -14610 -14, 26, -14, -14, -14, -14, -14, -14, -14, -14, 611 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 612 613 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 614 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 615 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 616 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, 617 -14, -14, -14, -14, -14, -14, -14, -14 618 618 }, 619 619 … … 623 623 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 624 624 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 625 -15, -15, -15, -15, -15, -15, -15, -15, 24, 24,626 627 24, 24, 24, 24, 24, 24, 24, 24, -15, -15,628 -15, -15, -15, -15, -15, 24, 24, 24, 24, 24,629 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,630 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,631 24, -15, -15, -15, -15, 24, -15, 24, 24, 24,632 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,633 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,634 24, 24, 24, -15, -15, -15, -15, -15625 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 626 627 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 628 -15, 27, -15, -15, -15, -15, -15, -15, -15, -15, 629 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 630 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 631 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 632 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 633 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, 634 -15, -15, -15, -15, -15, -15, -15, -15 635 635 }, 636 636 … … 643 643 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 644 644 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 645 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,645 -16, 28, -16, -16, -16, -16, -16, -16, -16, -16, 646 646 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, 647 647 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, … … 660 660 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 661 661 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 662 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 663 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 664 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 665 666 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 667 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 668 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 669 -17, -17, -17, -17, -17, -17, -17, -17 670 }, 671 672 { 673 3, -18, -18, -18, -18, -18, -18, -18, -18, 18, 674 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 675 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 676 -18, -18, 18, -18, -18, -18, -18, -18, -18, -18, 677 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 678 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 679 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, -17 670 }, 671 672 { 673 3, -18, -18, -18, -18, -18, -18, -18, -18, -18, 680 674 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 681 675 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 682 676 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 683 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 684 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 685 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, 686 -18, -18, -18, -18, -18, -18, -18, -18 677 -18, -18, -18, -18, -18, -18, -18, -18, 30, 30, 678 30, 30, 30, 30, 30, 30, 30, 30, -18, -18, 679 680 -18, -18, -18, -18, -18, 30, 30, 30, 30, 30, 681 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 682 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 683 30, -18, -18, -18, -18, 30, -18, 30, 30, 30, 684 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 685 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 686 30, 30, 30, -18, -18, -18, -18, -18 687 687 }, 688 688 … … 693 693 694 694 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 695 -19, -19, -19, -19, -19, -19, -19, -19, 25, 25,696 25, 25, 25, 25, 25, 25, 25, 25, -19, -19,697 -19, -19, -19, -19, -19, 25, 25, 25, 25, 25,698 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,699 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,700 25, -19, -19, -19, -19, 25, -19, 25, 25, 25,701 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,702 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,703 25, 25, 25, -19, -19, -19, -19, -19695 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 696 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 697 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 698 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 699 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 700 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 701 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 702 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, 703 -19, -19, -19, -19, -19, -19, -19, -19 704 704 705 705 }, … … 710 710 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 711 711 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 712 -20, -20, -20, -20, -20, -20, -20, -20, 26, 26,713 26, 26, 26, 26, 26, 26, 26, 26, -20, -20,714 712 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 715 713 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 716 714 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 717 715 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 716 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 717 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 718 718 719 719 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, … … 723 723 724 724 { 725 3, -21, -21, -21, -21, -21, -21, -21, -21, -21, 725 3, -21, -21, -21, -21, -21, -21, -21, -21, 21, 726 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 727 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 728 -21, -21, 21, -21, -21, -21, -21, -21, -21, -21, 726 729 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 727 730 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 728 731 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 729 -21, -21, -21, -21, -21, -21, 20, -21, 21, 21,730 21, 21, 21, 21, 21, 21, 21, 21, -21, -21,731 -21, -21, -21, -21, -21, -21, -21, -21, -21, 22,732 732 733 733 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 734 734 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 735 735 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 736 -21, 22, -21, -21, -21, -21, -21, -21, -21, -21,736 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 737 737 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, 738 738 -21, -21, -21, -21, -21, -21, -21, -21 … … 745 745 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 746 746 747 -22, -22, -22, 27, -22, 27, -22, -22, 28, 28,748 28, 28, 28, 28, 28, 28, 28, 28, -22, -22,749 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,750 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,751 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,752 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,753 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,754 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,755 -22, -22, -22, -22, -22, -22, -22, -22747 -22, -22, -22, -22, -22, -22, -22, -22, 31, 31, 748 31, 31, 31, 31, 31, 31, 31, 31, -22, -22, 749 -22, -22, -22, -22, -22, 31, 31, 31, 31, 31, 750 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 751 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 752 31, -22, -22, -22, -22, 31, -22, 31, 31, 31, 753 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 754 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 755 31, 31, 31, -22, -22, -22, -22, -22 756 756 }, 757 757 … … 762 762 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 763 763 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 764 -23, -23, -23, -23, -23, -23, -23, -23, 29, 29,765 29, 29, 29, 29, 29, 29, 29, 29, -23, -23,766 -23, -23, -23, -23, -23, 29, 29, 29, 29, 29,767 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,768 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,769 29, -23, -23, -23, -23, 29, -23, 29, 29, 29,770 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,771 772 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,773 29, 29, 29, -23, -23, -23, -23, -23764 -23, -23, -23, -23, -23, -23, -23, -23, 32, 32, 765 32, 32, 32, 32, 32, 32, 32, 32, -23, -23, 766 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 767 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 768 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 769 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 770 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 771 772 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 773 -23, -23, -23, -23, -23, -23, -23, -23 774 774 }, 775 775 … … 779 779 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 780 780 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 781 -24, -24, -24, -24, -24, -24, -24, -24, 24, 24,781 -24, -24, -24, -24, -24, -24, 23, -24, 24, 24, 782 782 24, 24, 24, 24, 24, 24, 24, 24, -24, -24, 783 -24, -24, -24, -24, -24, 24, 24, 24, 24, 24,784 24, 24, 24, 24, 24, 24, 24, 24, 24,24,785 786 24, 24, 24, 24, 24, 24, 24, 24, 24,24,787 24, -24, -24, -24, -24, 24, -24, 24, 24,24,788 24, 24, 24, 24, 24, 24, 24, 24, 24,24,789 24, 24, 24, 24, 24, 24, 24, 24, 24,24,790 24, 24,24, -24, -24, -24, -24, -24783 -24, -24, -24, -24, -24, -24, -24, -24, -24, 25, 784 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 785 786 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 787 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 788 -24, 25, -24, -24, -24, -24, -24, -24, -24, -24, 789 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, 790 -24, -24, -24, -24, -24, -24, -24, -24 791 791 }, 792 792 … … 796 796 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 797 797 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 798 -25, -25, -25, -25, -25, -25, -25, -25, 25, 25,799 800 25, 25, 25, 25, 25, 25, 25, 25, -25, -25,801 -25, -25, -25, -25, -25, 25, 25, 25, 25,25,802 25, 25, 25, 25, 25, 25, 25, 25, 25,25,803 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,806 25, 25, 25, 25, 25, 25, 25, 25, 25,25,807 25, 25,25, -25, -25, -25, -25, -25798 -25, -25, -25, 33, -25, 33, -25, -25, 34, 34, 799 800 34, 34, 34, 34, 34, 34, 34, 34, -25, -25, 801 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 802 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 803 -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, 806 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, 807 -25, -25, -25, -25, -25, -25, -25, -25 808 808 }, 809 809 … … 812 812 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 813 813 814 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,815 -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,818 -26, -26, -26, -26, -26, -26, -26, -26, -26, 22,819 814 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 820 815 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 821 816 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 822 -26, 22, -26, -26, -26, -26, -26, -26, -26, -26, 817 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 818 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 819 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 820 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 821 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 822 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 823 823 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, 824 824 … … 831 831 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 832 832 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 833 -27, -27, -27, -27, -27, -27, -27, -27, 28, 28,834 28, 28, 28, 28, 28, 28, 28, 28, -27, -27,833 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 834 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 835 835 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, 836 836 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, … … 848 848 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, 849 849 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, 850 -28, -28, -28, -28, -28, -28, -28, -28, 28,28,851 28, 28, 28, 28, 28, 28, 28,28, -28, -28,850 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, 851 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, 852 852 853 853 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, … … 866 866 867 867 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, 868 -29, -29, -29, -29, -29, -29, -29, -29, 29, 29, 869 29, 29, 29, 29, 29, 29, 29, 29, -29, -29, 870 -29, -29, -29, -29, -29, 29, 29, 29, 29, 29, 871 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 872 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 873 29, -29, -29, -29, -29, 29, -29, 29, 29, 29, 874 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 875 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 876 29, 29, 29, -29, -29, -29, -29, -29 877 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, -29 877 878 }, 879 880 { 881 3, -30, -30, -30, -30, -30, -30, -30, -30, -30, 882 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 883 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 884 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, 885 -30, -30, -30, -30, -30, -30, -30, -30, 30, 30, 886 30, 30, 30, 30, 30, 30, 30, 30, -30, -30, 887 -30, -30, -30, -30, -30, 30, 30, 30, 30, 30, 888 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 889 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 890 30, -30, -30, -30, -30, 30, -30, 30, 30, 30, 891 892 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 893 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 894 30, 30, 30, -30, -30, -30, -30, -30 895 }, 896 897 { 898 3, -31, -31, -31, -31, -31, -31, -31, -31, -31, 899 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, 900 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, 901 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, 902 -31, -31, -31, -31, -31, -31, -31, -31, 31, 31, 903 31, 31, 31, 31, 31, 31, 31, 31, -31, -31, 904 -31, -31, -31, -31, -31, 31, 31, 31, 31, 31, 905 906 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 907 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 908 31, -31, -31, -31, -31, 31, -31, 31, 31, 31, 909 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 910 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 911 31, 31, 31, -31, -31, -31, -31, -31 912 }, 913 914 { 915 3, -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, -32, -32, 919 920 -32, -32, -32, -32, -32, -32, -32, -32, 32, 32, 921 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, -32 929 }, 930 931 { 932 3, -33, -33, -33, -33, -33, -33, -33, -33, -33, 933 934 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 935 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 936 -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, 939 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 940 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 941 -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, 944 945 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, 946 -33, -33, -33, -33, -33, -33, -33, -33 947 }, 948 949 { 950 3, -34, -34, -34, -34, -34, -34, -34, -34, -34, 951 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 952 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 953 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 954 -34, -34, -34, -34, -34, -34, -34, -34, 34, 34, 955 34, 34, 34, 34, 34, 34, 34, 34, -34, -34, 956 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 957 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 958 959 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 960 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 961 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 962 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, 963 -34, -34, -34, -34, -34, -34, -34, -34 964 }, 965 966 { 967 3, -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, -35, -35, 971 -35, -35, -35, -35, -35, -35, -35, -35, 35, 35, 972 973 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 878 981 }, 879 982 … … 895 998 (yy_c_buf_p) = yy_cp; 896 999 897 #define YY_NUM_RULES 1 4898 #define YY_END_OF_BUFFER 151000 #define YY_NUM_RULES 19 1001 #define YY_END_OF_BUFFER 20 899 1002 /* This struct is not used in this scanner, 900 1003 but its presence is necessary. */ … … 904 1007 flex_int32_t yy_nxt; 905 1008 }; 906 static yyconst flex_int16_t yy_accept[3 0] =1009 static yyconst flex_int16_t yy_accept[36] = 907 1010 { 0, 908 0, 0, 15, 14, 1, 14, 11, 12, 8, 6, 909 7, 9, 2, 14, 5, 10, 13, 1, 4, 0, 910 2, 0, 3, 5, 4, 2, 0, 2, 3 1011 0, 0, 20, 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, 3 911 1015 } ; 912 1016 … … 914 1018 static char *yy_last_accepting_cpos; 915 1019 916 static yyconst yy_state_type yy_NUL_trans[3 0] =1020 static yyconst yy_state_type yy_NUL_trans[36] = 917 1021 { 0, 918 17, 17, 0, 0, 0, 0, 0, 0, 0, 0,1022 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 919 1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920 0, 0, 0, 0, 0, 0, 0, 0, 0 1024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025 0, 0, 0, 0, 0 921 1026 } ; 922 1027 … … 948 1053 #include "yacc_parser.hpp" 949 1054 950 #line 951"lex_parser.cpp"1055 #line 1056 "lex_parser.cpp" 951 1056 952 1057 #define INITIAL 0 … … 1149 1254 1150 1255 1151 #line 1 152"lex_parser.cpp"1256 #line 1257 "lex_parser.cpp" 1152 1257 1153 1258 while ( 1 ) /* loops until end-of-file is reached */ … … 1259 1364 YY_RULE_SETUP 1260 1365 #line 62 "lex_parser.lex" 1261 return LEFT_PARENTHESIS;1366 return EQ; 1262 1367 YY_BREAK 1263 1368 case 12: 1264 1369 YY_RULE_SETUP 1265 1370 #line 63 "lex_parser.lex" 1266 return RIGHT_PARENTHESIS;1371 return LT; 1267 1372 YY_BREAK 1268 1373 case 13: 1269 1374 YY_RULE_SETUP 1270 #line 6 5"lex_parser.lex"1271 return END;1375 #line 64 "lex_parser.lex" 1376 return GT; 1272 1377 YY_BREAK 1273 1378 case 14: 1274 1379 YY_RULE_SETUP 1380 #line 65 "lex_parser.lex" 1381 return LE; 1382 YY_BREAK 1383 case 15: 1384 YY_RULE_SETUP 1275 1385 #line 66 "lex_parser.lex" 1386 return GE; 1387 YY_BREAK 1388 case 16: 1389 YY_RULE_SETUP 1390 #line 68 "lex_parser.lex" 1391 return LEFT_PARENTHESIS; 1392 YY_BREAK 1393 case 17: 1394 YY_RULE_SETUP 1395 #line 69 "lex_parser.lex" 1396 return RIGHT_PARENTHESIS; 1397 YY_BREAK 1398 case 18: 1399 YY_RULE_SETUP 1400 #line 71 "lex_parser.lex" 1401 return END; 1402 YY_BREAK 1403 case 19: 1404 YY_RULE_SETUP 1405 #line 72 "lex_parser.lex" 1276 1406 ECHO; 1277 1407 YY_BREAK 1278 #line 1 279 "lex_parser.cpp"1408 #line 1409 "lex_parser.cpp" 1279 1409 case YY_STATE_EOF(INITIAL): 1280 1410 yyterminate(); … … 2266 2396 #define YYTABLES_NAME "yytables" 2267 2397 2268 #line 65"lex_parser.lex"2398 #line 71 "lex_parser.lex" -
XIOS/trunk/src/parse_expr/lex_parser.lex
r642 r728 60 60 "^" return POWER; 61 61 62 "==" return EQ; 63 "<" return LT; 64 ">" return GT; 65 "<=" return LE; 66 ">=" return GE; 67 62 68 "(" return LEFT_PARENTHESIS; 63 69 ")" return RIGHT_PARENTHESIS; -
XIOS/trunk/src/parse_expr/operator_expr.hpp
r501 r728 8 8 #include "array_new.hpp" 9 9 10 using namespace std 10 using namespace std; 11 11 12 12 namespace xios … … 14 14 class COperatorExpr 15 15 { 16 public: 17 typedef double (*functionScalar)(double) 18 typedef double (*functionScalarScalar)(double, double) 19 typedef CArray<double,1> (*functionField)(const CArray<double,1>&) 20 typedef CArray<double,1> (*functionFieldField)(const CArray<double,1>&, const CArray<double,1>&) 21 typedef CArray<double,1> (*functionFieldScalar)(const CArray<double,1>&, double) 22 typedef CArray<double,1> (*functionScalarField)(double, const CArray<double,1>&) 23 16 public: 17 typedef double (*functionScalar)(double); 18 typedef double (*functionScalarScalar)(double, double); 19 typedef CArray<double,1> (*functionField)(const CArray<double,1>&); 20 typedef CArray<double,1> (*functionFieldField)(const CArray<double,1>&, const CArray<double,1>&); 21 typedef CArray<double,1> (*functionFieldScalar)(const CArray<double,1>&, double); 22 typedef CArray<double,1> (*functionScalarField)(double, const CArray<double,1>&); 23 24 24 COperatorExpr(void) 25 25 { 26 opScalar[string("neg")]=neg_s ; 27 opScalar[string("cos")]=cos_s ; 28 opScalar[string("sin")]=sin_s ; 29 opScalar[string("tan")]=tan_s ; 30 opScalar[string("exp")]=exp_s ; 31 opScalar[string("log")]=log_s ; 32 opScalar[string("log10")]=log10_s ; 33 opScalar[string("sqrt")]=sqrt_s ; 34 35 opScalarScalar[string("add")]=add_ss ; 36 opScalarScalar[string("minus")]=minus_ss ; 37 opScalarScalar[string("mult")]=mult_ss ; 38 opScalarScalar[string("div")]=div_ss ; 39 opScalarScalar[string("pow")]=pow_ss ; 40 41 opField[string("neg")]=neg_f ; 42 opField[string("cos")]=cos_f ; 43 opField[string("sin")]=sin_f ; 44 opField[string("tan")]=tan_f ; 45 opField[string("exp")]=exp_f ; 46 opField[string("log")]=log_f ; 47 opField[string("log10")]=log10_f ; 48 opField[string("sqrt")]=sqrt_f ; 49 50 opFieldField[string("add")]=add_ff ; 51 opFieldField[string("minus")]=minus_ff ; 52 opFieldField[string("mult")]=mult_ff ; 53 opFieldField[string("div")]=div_ff ; 54 opFieldField[string("pow")]=pow_ff ; 55 56 opFieldScalar[string("add")]=add_fs ; 57 opFieldScalar[string("minus")]=minus_fs ; 58 opFieldScalar[string("mult")]=mult_fs ; 59 opFieldScalar[string("div")]=div_fs ; 60 opFieldScalar[string("pow")]=pow_fs ; 61 62 opScalarField[string("add")]=add_sf ; 63 opScalarField[string("minus")]=minus_sf ; 64 opScalarField[string("mult")]=mult_sf ; 65 opScalarField[string("div")]=div_sf ; 66 } 26 opScalar[string("neg")] = neg_s; 27 opScalar[string("cos")] = cos_s; 28 opScalar[string("sin")] = sin_s; 29 opScalar[string("tan")] = tan_s; 30 opScalar[string("exp")] = exp_s; 31 opScalar[string("log")] = log_s; 32 opScalar[string("log10")] = log10_s; 33 opScalar[string("sqrt")] = sqrt_s; 34 35 opScalarScalar[string("add")] = add_ss; 36 opScalarScalar[string("minus")] = minus_ss; 37 opScalarScalar[string("mult")] = mult_ss; 38 opScalarScalar[string("div")] = div_ss; 39 opScalarScalar[string("pow")] = pow_ss; 40 opScalarScalar[string("eq")] = eq_ss; 41 opScalarScalar[string("lt")] = lt_ss; 42 opScalarScalar[string("gt")] = gt_ss; 43 opScalarScalar[string("le")] = le_ss; 44 opScalarScalar[string("ge")] = ge_ss; 45 46 opField[string("neg")] = neg_f; 47 opField[string("cos")] = cos_f; 48 opField[string("sin")] = sin_f; 49 opField[string("tan")] = tan_f; 50 opField[string("exp")] = exp_f; 51 opField[string("log")] = log_f; 52 opField[string("log10")] = log10_f; 53 opField[string("sqrt")] = sqrt_f; 54 55 opFieldField[string("add")] = add_ff; 56 opFieldField[string("minus")] = minus_ff; 57 opFieldField[string("mult")] = mult_ff; 58 opFieldField[string("div")] = div_ff; 59 opFieldField[string("pow")] = pow_ff; 60 opFieldField[string("eq")] = eq_ff; 61 opFieldField[string("lt")] = lt_ff; 62 opFieldField[string("gt")] = gt_ff; 63 opFieldField[string("le")] = le_ff; 64 opFieldField[string("ge")] = ge_ff; 65 66 opFieldScalar[string("add")] = add_fs; 67 opFieldScalar[string("minus")] = minus_fs; 68 opFieldScalar[string("mult")] = mult_fs; 69 opFieldScalar[string("div")] = div_fs; 70 opFieldScalar[string("pow")] = pow_fs; 71 opFieldScalar[string("eq")] = eq_fs; 72 opFieldScalar[string("lt")] = lt_fs; 73 opFieldScalar[string("gt")] = gt_fs; 74 opFieldScalar[string("le")] = le_fs; 75 opFieldScalar[string("ge")] = ge_fs; 76 77 opScalarField[string("add")] = add_sf; 78 opScalarField[string("minus")] = minus_sf; 79 opScalarField[string("mult")] = mult_sf; 80 opScalarField[string("div")] = div_sf; 81 opScalarField[string("eq")] = eq_sf; 82 opScalarField[string("lt")] = lt_sf; 83 opScalarField[string("gt")] = gt_sf; 84 opScalarField[string("le")] = le_sf; 85 opScalarField[string("ge")] = ge_sf; 86 } 67 87 68 88 functionScalar getOpScalar(const string& id) 69 89 { 70 map<string,double (*)(double)>::iterator it 71 it =opScalar.find(id);72 if (it ==opScalar.end()) ERROR("double (*)(double) COperatorExpr::getOpScalar(const string& id)",<<"unknown operator : "<<id)73 return it->second 74 } 75 90 map<string,double (*)(double)>::iterator it; 91 it = opScalar.find(id); 92 if (it == opScalar.end()) ERROR("functionScalar COperatorExpr::getOpScalar(const string& id)", << "unknown operator : " << id) 93 return it->second; 94 } 95 76 96 functionScalarScalar getOpScalarScalar(const string& id) 77 97 { 78 map<string,double (*)(double,double)>::iterator it 79 it =opScalarScalar.find(id);80 if (it ==opScalarScalar.end()) ERROR("double (*)(double) COperatorExpr::getOpScalarScalar(const string& id)",<<"unknown operator : "<<id)81 return it->second ;82 } 83 98 map<string,double (*)(double,double)>::iterator it; 99 it = opScalarScalar.find(id); 100 if (it == opScalarScalar.end()) ERROR("functionScalarScalar COperatorExpr::getOpScalarScalar(const string& id)", << "unknown operator : " << id) 101 return it->second; 102 } 103 84 104 functionField getOpField(const string& id) 85 105 { 86 map<string,functionField>::iterator it 87 it =opField.find(id);88 if (it ==opField.end()) ERROR("functionField COperatorExpr::getOpField(const string& id)",<<"unknown operator : "<<id)89 return it->second ;90 } 91 106 map<string,functionField>::iterator it; 107 it = opField.find(id); 108 if (it == opField.end()) ERROR("functionField COperatorExpr::getOpField(const string& id)", << "unknown operator : " << id) 109 return it->second; 110 } 111 92 112 functionFieldField getOpFieldField(const string& id) 93 113 { 94 map<string,functionFieldField>::iterator it 95 it =opFieldField.find(id);96 if (it ==opFieldField.end()) ERROR("dfunctionFieldField COperatorExpr::getOpFieldField(const string& id)",<<"unknown operator : "<<id)97 return it->second ;98 } 99 114 map<string,functionFieldField>::iterator it; 115 it = opFieldField.find(id); 116 if (it == opFieldField.end()) ERROR("dfunctionFieldField COperatorExpr::getOpFieldField(const string& id)", << "unknown operator : " << id) 117 return it->second; 118 } 119 100 120 functionFieldScalar getOpFieldScalar(const string& id) 101 121 { 102 map<string,functionFieldScalar>::iterator it 103 it =opFieldScalar.find(id);104 if (it ==opFieldScalar.end()) ERROR("functionFieldScalar COperatorExpr::getOpFieldScalar(const string& id)",<<"unknown operator : "<<id)105 return it->second ;106 } 107 122 map<string,functionFieldScalar>::iterator it; 123 it = opFieldScalar.find(id); 124 if (it == opFieldScalar.end()) ERROR("functionFieldScalar COperatorExpr::getOpFieldScalar(const string& id)", << "unknown operator : " << id) 125 return it->second; 126 } 127 108 128 functionScalarField getOpScalarField(const string& id) 109 129 { 110 map<string,functionScalarField>::iterator it ; 111 it=opScalarField.find(id) ; 112 if (it==opScalarField.end()) ERROR("functionScalarField COperatorExpr::getOpFieldField(const string& id)",<<"unknown operator : "<<id) 113 return it->second ; 114 } 115 116 map<string,functionScalar> opScalar ; 117 map<string,functionScalarScalar> opScalarScalar ; 118 map<string,functionField> opField ; 119 map<string,functionFieldField> opFieldField ; 120 map<string,functionFieldScalar> opFieldScalar ; 121 map<string,functionScalarField> opScalarField ; 122 123 static inline double neg_s(double x) {return -x;} 124 static inline double cos_s(double x) {return std::cos(x);} 125 static inline double sin_s(double x) {return std::sin(x);} 126 static inline double tan_s(double x) {return std::tan(x);} 127 static inline double exp_s(double x) {return std::exp(x);} 128 static inline double log_s(double x) {return std::log(x);} 129 static inline double log10_s(double x) {return std::log10(x);} 130 static inline double sqrt_s(double x) {return std::sqrt(x);} 131 132 static inline double add_ss(double x, double y) {return x+y;} 133 static inline double minus_ss(double x, double y) {return x-y;} 134 static inline double mult_ss(double x, double y) {return x*y;} 135 static inline double div_ss(double x, double y) {return x/y;} 136 static inline double pow_ss(double x, double y) {return std::pow(x,y);} 137 138 static inline CArray<double,1> neg_f(const CArray<double,1>& x) {return Array<double,1>(-x);} 139 static inline CArray<double,1> cos_f(const CArray<double,1>& x) {return Array<double,1>(cos(x));} 140 static inline CArray<double,1> sin_f(const CArray<double,1>& x) {return Array<double,1>(sin(x));} 141 static inline CArray<double,1> tan_f(const CArray<double,1>& x) {return Array<double,1>(tan(x));} 142 static inline CArray<double,1> exp_f(const CArray<double,1>& x) {return Array<double,1>(exp(x));} 143 static inline CArray<double,1> log_f(const CArray<double,1>& x) {return Array<double,1>(log(x));} 144 static inline CArray<double,1> log10_f(const CArray<double,1>& x) {return Array<double,1>(log10(x));} 145 static inline CArray<double,1> sqrt_f(const CArray<double,1>& x) {return Array<double,1>(sqrt(x));} 146 147 static inline CArray<double,1> add_ff(const CArray<double,1>& x, const CArray<double,1>& y) {return Array<double,1>(x+y);} 148 static inline CArray<double,1> minus_ff(const CArray<double,1>& x, const CArray<double,1>& y) {return Array<double,1>(x-y);} 149 static inline CArray<double,1> mult_ff(const CArray<double,1>& x, const CArray<double,1>& y) {return Array<double,1>(x*y);} 150 static inline CArray<double,1> div_ff(const CArray<double,1>& x, const CArray<double,1>& y) {return Array<double,1>(x/y);} 151 static inline CArray<double,1> pow_ff(const CArray<double,1>& x, const CArray<double,1>& y) {return Array<double,1>(pow(x,y));} 152 153 static inline CArray<double,1> add_fs(const CArray<double,1>& x, double y) {return Array<double,1>(x+y);} 154 static inline CArray<double,1> minus_fs(const CArray<double,1>& x, double y) {return Array<double,1>(x-y);} 155 static inline CArray<double,1> mult_fs(const CArray<double,1>& x, double y) {return Array<double,1>(x*y);} 156 static inline CArray<double,1> div_fs(const CArray<double,1>& x, double y) {return Array<double,1>(x/y);} 157 static inline CArray<double,1> pow_fs(const CArray<double,1>& x, double y) {return Array<double,1>(pow(x,y));} 158 159 static inline CArray<double,1> add_sf(double x, const CArray<double,1>& y) {return Array<double,1>(x+y);} 160 static inline CArray<double,1> minus_sf(double x, const CArray<double,1>& y) {return Array<double,1>(x-y);} 161 static inline CArray<double,1> mult_sf(double x, const CArray<double,1>& y) {return Array<double,1>(x*y);} 162 static inline CArray<double,1> div_sf(double x, const CArray<double,1>& y) {return Array<double,1>(x/y);} 163 164 165 } ; 166 167 extern COperatorExpr operatorExpr ; 168 130 map<string,functionScalarField>::iterator it; 131 it = opScalarField.find(id); 132 if (it == opScalarField.end()) ERROR("functionScalarField COperatorExpr::getOpFieldField(const string& id)", << "unknown operator : " << id) 133 return it->second; 134 } 135 136 map<string,functionScalar> opScalar; 137 map<string,functionScalarScalar> opScalarScalar; 138 map<string,functionField> opField; 139 map<string,functionFieldField> opFieldField; 140 map<string,functionFieldScalar> opFieldScalar; 141 map<string,functionScalarField> opScalarField; 142 143 static inline double neg_s(double x) { return -x; } 144 static inline double cos_s(double x) { return std::cos(x); } 145 static inline double sin_s(double x) { return std::sin(x); } 146 static inline double tan_s(double x) { return std::tan(x); } 147 static inline double exp_s(double x) { return std::exp(x); } 148 static inline double log_s(double x) { return std::log(x); } 149 static inline double log10_s(double x) { return std::log10(x); } 150 static inline double sqrt_s(double x) { return std::sqrt(x); } 151 152 static inline double add_ss(double x, double y) { return x + y; } 153 static inline double minus_ss(double x, double y) { return x - y; } 154 static inline double mult_ss(double x, double y) { return x * y; } 155 static inline double div_ss(double x, double y) { return x / y; } 156 static inline double pow_ss(double x, double y) { return std::pow(x,y); } 157 static inline double eq_ss(double x, double y) { return x == y; } 158 static inline double lt_ss(double x, double y) { return x < y; } 159 static inline double gt_ss(double x, double y) { return x > y; } 160 static inline double le_ss(double x, double y) { return x <= y; } 161 static inline double ge_ss(double x, double y) { return x >= y; } 162 163 static inline CArray<double,1> neg_f(const CArray<double,1>& x) { return Array<double,1>(-x); } 164 static inline CArray<double,1> cos_f(const CArray<double,1>& x) { return Array<double,1>(cos(x)); } 165 static inline CArray<double,1> sin_f(const CArray<double,1>& x) { return Array<double,1>(sin(x)); } 166 static inline CArray<double,1> tan_f(const CArray<double,1>& x) { return Array<double,1>(tan(x)); } 167 static inline CArray<double,1> exp_f(const CArray<double,1>& x) { return Array<double,1>(exp(x)); } 168 static inline CArray<double,1> log_f(const CArray<double,1>& x) { return Array<double,1>(log(x)); } 169 static inline CArray<double,1> log10_f(const CArray<double,1>& x) { return Array<double,1>(log10(x)); } 170 static inline CArray<double,1> sqrt_f(const CArray<double,1>& x) { return Array<double,1>(sqrt(x)); } 171 172 static inline CArray<double,1> add_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x + y); } 173 static inline CArray<double,1> minus_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x - y); } 174 static inline CArray<double,1> mult_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x * y); } 175 static inline CArray<double,1> div_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x / y); } 176 static inline CArray<double,1> pow_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(pow(x,y)); } 177 static inline CArray<double,1> eq_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x == y); } 178 static inline CArray<double,1> lt_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x < y); } 179 static inline CArray<double,1> gt_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x > y); } 180 static inline CArray<double,1> le_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x <= y); } 181 static inline CArray<double,1> ge_ff(const CArray<double,1>& x, const CArray<double,1>& y) { return Array<double,1>(x >= y); } 182 183 static inline CArray<double,1> add_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x + y); } 184 static inline CArray<double,1> minus_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x - y); } 185 static inline CArray<double,1> mult_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x * y); } 186 static inline CArray<double,1> div_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x / y); } 187 static inline CArray<double,1> pow_fs(const CArray<double,1>& x, double y) { return Array<double,1>(pow(x,y)); } 188 static inline CArray<double,1> eq_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x == y); } 189 static inline CArray<double,1> lt_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x < y); } 190 static inline CArray<double,1> gt_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x > y); } 191 static inline CArray<double,1> le_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x <= y); } 192 static inline CArray<double,1> ge_fs(const CArray<double,1>& x, double y) { return Array<double,1>(x >= y); } 193 194 static inline CArray<double,1> add_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x + y); } 195 static inline CArray<double,1> minus_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x - y); } 196 static inline CArray<double,1> mult_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x * y); } 197 static inline CArray<double,1> div_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x / y); } 198 static inline CArray<double,1> eq_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x == y); } 199 static inline CArray<double,1> lt_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x < y); } 200 static inline CArray<double,1> gt_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x > y); } 201 static inline CArray<double,1> le_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x <= y); } 202 static inline CArray<double,1> ge_sf(double x, const CArray<double,1>& y) { return Array<double,1>(x >= y); } 203 }; 204 205 extern COperatorExpr operatorExpr; 169 206 } 170 207 -
XIOS/trunk/src/parse_expr/yacc_parser.cpp
r643 r728 140 140 DIVIDE = 265, 141 141 POWER = 266, 142 LEFT_PARENTHESIS = 267, 143 RIGHT_PARENTHESIS = 268, 144 END = 269, 145 NEG = 270 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 146 151 }; 147 152 #endif … … 158 163 xios::IFilterExprNode* filterNode; 159 164 160 #line 16 1"yacc_parser.cpp" /* yacc.c:355 */165 #line 166 "yacc_parser.cpp" /* yacc.c:355 */ 161 166 }; 162 167 # define YYSTYPE_IS_TRIVIAL 1 … … 173 178 /* Copy the second part of user declarations. */ 174 179 175 #line 1 76"yacc_parser.cpp" /* yacc.c:358 */180 #line 181 "yacc_parser.cpp" /* yacc.c:358 */ 176 181 177 182 #ifdef short … … 415 420 #define YYFINAL 16 416 421 /* YYLAST -- Last index in YYTABLE. */ 417 #define YYLAST 134422 #define YYLAST 204 418 423 419 424 /* YYNTOKENS -- Number of terminals. */ 420 #define YYNTOKENS 16425 #define YYNTOKENS 21 421 426 /* YYNNTS -- Number of nonterminals. */ 422 427 #define YYNNTS 4 423 428 /* YYNRULES -- Number of rules. */ 424 #define YYNRULES 32429 #define YYNRULES 52 425 430 /* YYNSTATES -- Number of states. */ 426 #define YYNSTATES 68431 #define YYNSTATES 108 427 432 428 433 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 429 434 by yylex, with out-of-bounds checking. */ 430 435 #define YYUNDEFTOK 2 431 #define YYMAXUTOK 27 0436 #define YYMAXUTOK 275 432 437 433 438 #define YYTRANSLATE(YYX) \ … … 465 470 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 466 471 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 467 15 472 15, 16, 17, 18, 19, 20 468 473 }; 469 474 … … 472 477 static const yytype_uint8 yyrline[] = 473 478 { 474 0, 59, 59, 60, 64, 65, 66, 67, 68, 69, 475 70, 71, 72, 73, 77, 78, 79, 80, 81, 82, 476 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 477 93, 94, 95 479 0, 61, 61, 62, 66, 67, 68, 69, 70, 71, 480 72, 73, 74, 75, 76, 77, 78, 79, 80, 84, 481 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 482 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 483 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 484 115, 116, 117 478 485 }; 479 486 #endif … … 485 492 { 486 493 "$end", "error", "$undefined", "NUMBER", "VAR", "ID", "AVERAGE", "PLUS", 487 "MINUS", "TIMES", "DIVIDE", "POWER", " LEFT_PARENTHESIS",488 " RIGHT_PARENTHESIS", "END", "NEG", "$accept", "Line", "Expression",489 " Field_expr", YY_NULLPTR494 "MINUS", "TIMES", "DIVIDE", "POWER", "EQ", "LT", "GT", "LE", "GE", 495 "LEFT_PARENTHESIS", "RIGHT_PARENTHESIS", "END", "NEG", "$accept", "Line", 496 "Expression", "Field_expr", YY_NULLPTR 490 497 }; 491 498 #endif … … 497 504 { 498 505 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 499 265, 266, 267, 268, 269, 270 506 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 507 275 500 508 }; 501 509 # endif 502 510 503 #define YYPACT_NINF - 6511 #define YYPACT_NINF -13 504 512 505 513 #define yypact_value_is_default(Yystate) \ 506 (!!((Yystate) == (- 6)))514 (!!((Yystate) == (-13))) 507 515 508 516 #define YYTABLE_NINF -1 … … 513 521 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 514 522 STATE-NUM. */ 515 static const yytype_int8 yypact[] = 516 { 517 55, -6, -6, -4, -6, -1, -1, -6, 9, 123, 518 73, -1, 14, 20, 81, 88, -6, -1, -1, -1, 519 -1, 67, -1, -1, -1, -1, -1, -6, 95, 102, 520 -6, -6, 13, 19, 13, 19, 14, 20, 14, 20, 521 -2, 67, 67, 14, 13, 19, 13, 19, 14, 20, 522 14, 20, 14, 20, -6, -6, 67, 14, 109, 67, 523 67, 67, 67, 116, 24, 24, 14, 14 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 524 536 }; 525 537 … … 529 541 static const yytype_uint8 yydefact[] = 530 542 { 531 0, 4, 5, 14, 15, 0, 0, 2, 0, 0, 532 0, 0, 10, 20, 0, 0, 1, 0, 0, 0, 543 0, 4, 5, 19, 20, 0, 0, 2, 0, 0, 544 0, 0, 10, 25, 0, 0, 1, 0, 0, 0, 545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533 546 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 534 12, 22, 6, 24, 7, 26, 8, 28, 9, 30, 535 0, 0, 0, 11, 23, 16, 25, 17, 27, 18, 536 29, 19, 31, 21, 13, 32, 0, 10, 0, 0, 537 0, 0, 0, 0, 6, 7, 8, 9 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 538 554 }; 539 555 … … 541 557 static const yytype_int8 yypgoto[] = 542 558 { 543 -6, -6, -5, 21559 -13, -13, -5, 31 544 560 }; 545 561 … … 555 571 static const yytype_uint8 yytable[] = 556 572 { 557 12, 14, 1, 2, 3, 4, 28, 5, 11, 16, 558 56, 6, 32, 34, 36, 38, 43, 44, 46, 48, 559 50, 52, 19, 20, 21, 21, 13, 15, 24, 25, 560 26, 26, 29, 61, 62, 21, 57, 58, 33, 35, 561 37, 39, 0, 45, 47, 49, 51, 53, 0, 0, 562 0, 63, 0, 0, 64, 65, 66, 67, 1, 2, 563 3, 4, 0, 5, 0, 0, 0, 6, 0, 7, 564 1, 2, 40, 0, 0, 41, 0, 0, 0, 42, 565 22, 23, 24, 25, 26, 0, 0, 27, 17, 18, 566 19, 20, 21, 0, 30, 22, 23, 24, 25, 26, 567 0, 31, 17, 18, 19, 20, 21, 0, 54, 22, 568 23, 24, 25, 26, 0, 55, 59, 60, 61, 62, 569 21, 0, 30, 59, 60, 61, 62, 21, 0, 54, 570 17, 18, 19, 20, 21 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 571 594 }; 572 595 573 596 static const yytype_int8 yycheck[] = 574 597 { 575 5, 6, 3, 4, 5, 6, 11, 8, 12, 0, 576 12, 12, 17, 18, 19, 20, 21, 22, 23, 24, 577 25, 26, 9, 10, 11, 11, 5, 6, 9, 10, 578 11, 11, 11, 9, 10, 11, 41, 42, 17, 18, 579 19, 20, -1, 22, 23, 24, 25, 26, -1, -1, 580 -1, 56, -1, -1, 59, 60, 61, 62, 3, 4, 581 5, 6, -1, 8, -1, -1, -1, 12, -1, 14, 582 3, 4, 5, -1, -1, 8, -1, -1, -1, 12, 583 7, 8, 9, 10, 11, -1, -1, 14, 7, 8, 584 9, 10, 11, -1, 13, 7, 8, 9, 10, 11, 585 -1, 13, 7, 8, 9, 10, 11, -1, 13, 7, 586 8, 9, 10, 11, -1, 13, 7, 8, 9, 10, 587 11, -1, 13, 7, 8, 9, 10, 11, -1, 13, 588 7, 8, 9, 10, 11 598 5, 6, 9, 10, 11, 17, 11, 7, 8, 9, 599 10, 11, 17, 18, 19, 20, 21, 22, 23, 24, 600 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 589 619 }; 590 620 … … 593 623 static const yytype_uint8 yystos[] = 594 624 { 595 0, 3, 4, 5, 6, 8, 12, 14, 17, 18, 596 19, 12, 18, 19, 18, 19, 0, 7, 8, 9, 597 10, 11, 7, 8, 9, 10, 11, 14, 18, 19, 598 13, 13, 18, 19, 18, 19, 18, 19, 18, 19, 599 5, 8, 12, 18, 18, 19, 18, 19, 18, 19, 600 18, 19, 18, 19, 13, 13, 12, 18, 18, 7, 601 8, 9, 10, 18, 18, 18, 18, 18 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 602 636 }; 603 637 … … 605 639 static const yytype_uint8 yyr1[] = 606 640 { 607 0, 16, 17, 17, 18, 18, 18, 18, 18, 18, 608 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 609 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 610 19, 19, 19 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 611 647 }; 612 648 … … 615 651 { 616 652 0, 2, 1, 2, 1, 1, 3, 3, 3, 3, 617 2, 3, 3, 4, 1, 1, 3, 3, 3, 3, 618 2, 3, 3, 3, 3, 3, 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, 619 657 3, 3, 4 620 658 }; … … 1294 1332 { 1295 1333 case 2: 1296 #line 59"yacc_parser.yacc" /* yacc.c:1646 */1334 #line 61 "yacc_parser.yacc" /* yacc.c:1646 */ 1297 1335 { /* Nothing to do */ } 1298 #line 1 299"yacc_parser.cpp" /* yacc.c:1646 */1336 #line 1337 "yacc_parser.cpp" /* yacc.c:1646 */ 1299 1337 break; 1300 1338 1301 1339 case 3: 1302 #line 6 0"yacc_parser.yacc" /* yacc.c:1646 */1340 #line 62 "yacc_parser.yacc" /* yacc.c:1646 */ 1303 1341 { parsed = (yyvsp[-1].filterNode); } 1304 #line 13 05"yacc_parser.cpp" /* yacc.c:1646 */1342 #line 1343 "yacc_parser.cpp" /* yacc.c:1646 */ 1305 1343 break; 1306 1344 1307 1345 case 4: 1308 #line 6 4"yacc_parser.yacc" /* yacc.c:1646 */1346 #line 66 "yacc_parser.yacc" /* yacc.c:1646 */ 1309 1347 { (yyval.scalarNode) = new CScalarValExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1310 #line 13 11"yacc_parser.cpp" /* yacc.c:1646 */1348 #line 1349 "yacc_parser.cpp" /* yacc.c:1646 */ 1311 1349 break; 1312 1350 1313 1351 case 5: 1314 #line 6 5"yacc_parser.yacc" /* yacc.c:1646 */1352 #line 67 "yacc_parser.yacc" /* yacc.c:1646 */ 1315 1353 { (yyval.scalarNode) = new CScalarVarExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1316 #line 13 17"yacc_parser.cpp" /* yacc.c:1646 */1354 #line 1355 "yacc_parser.cpp" /* yacc.c:1646 */ 1317 1355 break; 1318 1356 1319 1357 case 6: 1320 #line 6 6"yacc_parser.yacc" /* yacc.c:1646 */1358 #line 68 "yacc_parser.yacc" /* yacc.c:1646 */ 1321 1359 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].scalarNode)); } 1322 #line 13 23"yacc_parser.cpp" /* yacc.c:1646 */1360 #line 1361 "yacc_parser.cpp" /* yacc.c:1646 */ 1323 1361 break; 1324 1362 1325 1363 case 7: 1326 #line 6 7"yacc_parser.yacc" /* yacc.c:1646 */1364 #line 69 "yacc_parser.yacc" /* yacc.c:1646 */ 1327 1365 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].scalarNode)); } 1328 #line 13 29"yacc_parser.cpp" /* yacc.c:1646 */1366 #line 1367 "yacc_parser.cpp" /* yacc.c:1646 */ 1329 1367 break; 1330 1368 1331 1369 case 8: 1332 #line 68"yacc_parser.yacc" /* yacc.c:1646 */1370 #line 70 "yacc_parser.yacc" /* yacc.c:1646 */ 1333 1371 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].scalarNode)); } 1334 #line 13 35"yacc_parser.cpp" /* yacc.c:1646 */1372 #line 1373 "yacc_parser.cpp" /* yacc.c:1646 */ 1335 1373 break; 1336 1374 1337 1375 case 9: 1338 #line 69"yacc_parser.yacc" /* yacc.c:1646 */1376 #line 71 "yacc_parser.yacc" /* yacc.c:1646 */ 1339 1377 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].scalarNode)); } 1340 #line 13 41"yacc_parser.cpp" /* yacc.c:1646 */1378 #line 1379 "yacc_parser.cpp" /* yacc.c:1646 */ 1341 1379 break; 1342 1380 1343 1381 case 10: 1344 #line 7 0"yacc_parser.yacc" /* yacc.c:1646 */1382 #line 72 "yacc_parser.yacc" /* yacc.c:1646 */ 1345 1383 { (yyval.scalarNode) = new CScalarUnaryOpExprNode("neg", (yyvsp[0].scalarNode)); } 1346 #line 13 47"yacc_parser.cpp" /* yacc.c:1646 */1384 #line 1385 "yacc_parser.cpp" /* yacc.c:1646 */ 1347 1385 break; 1348 1386 1349 1387 case 11: 1350 #line 7 1"yacc_parser.yacc" /* yacc.c:1646 */1388 #line 73 "yacc_parser.yacc" /* yacc.c:1646 */ 1351 1389 { (yyval.scalarNode) = new CScalarBinaryOpExprNode((yyvsp[-2].scalarNode), "pow", (yyvsp[0].scalarNode)); } 1352 #line 13 53"yacc_parser.cpp" /* yacc.c:1646 */1390 #line 1391 "yacc_parser.cpp" /* yacc.c:1646 */ 1353 1391 break; 1354 1392 1355 1393 case 12: 1356 #line 72 "yacc_parser.yacc" /* yacc.c:1646 */ 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 */ 1397 break; 1398 1399 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 */ 1403 break; 1404 1405 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 */ 1409 break; 1410 1411 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 */ 1415 break; 1416 1417 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 */ 1421 break; 1422 1423 case 17: 1424 #line 79 "yacc_parser.yacc" /* yacc.c:1646 */ 1357 1425 { (yyval.scalarNode) = (yyvsp[-1].scalarNode); } 1358 #line 1 359"yacc_parser.cpp" /* yacc.c:1646 */1359 break; 1360 1361 case 1 3:1362 #line 73"yacc_parser.yacc" /* yacc.c:1646 */1426 #line 1427 "yacc_parser.cpp" /* yacc.c:1646 */ 1427 break; 1428 1429 case 18: 1430 #line 80 "yacc_parser.yacc" /* yacc.c:1646 */ 1363 1431 { (yyval.scalarNode) = new CScalarUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].scalarNode)); delete (yyvsp[-3].str); } 1364 #line 1 365"yacc_parser.cpp" /* yacc.c:1646 */1365 break; 1366 1367 case 1 4:1368 #line 77"yacc_parser.yacc" /* yacc.c:1646 */1432 #line 1433 "yacc_parser.cpp" /* yacc.c:1646 */ 1433 break; 1434 1435 case 19: 1436 #line 84 "yacc_parser.yacc" /* yacc.c:1646 */ 1369 1437 { (yyval.filterNode) = new CFilterFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1370 #line 1 371"yacc_parser.cpp" /* yacc.c:1646 */1371 break; 1372 1373 case 15:1374 #line 78"yacc_parser.yacc" /* yacc.c:1646 */1438 #line 1439 "yacc_parser.cpp" /* yacc.c:1646 */ 1439 break; 1440 1441 case 20: 1442 #line 85 "yacc_parser.yacc" /* yacc.c:1646 */ 1375 1443 { (yyval.filterNode) = new CFilterTemporalFieldExprNode(*(yyvsp[0].str)); delete (yyvsp[0].str); } 1376 #line 1 377"yacc_parser.cpp" /* yacc.c:1646 */1377 break; 1378 1379 case 16:1380 #line 79"yacc_parser.yacc" /* yacc.c:1646 */1444 #line 1445 "yacc_parser.cpp" /* yacc.c:1646 */ 1445 break; 1446 1447 case 21: 1448 #line 86 "yacc_parser.yacc" /* yacc.c:1646 */ 1381 1449 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].filterNode)); } 1382 #line 1 383"yacc_parser.cpp" /* yacc.c:1646 */1383 break; 1384 1385 case 17:1386 #line 8 0"yacc_parser.yacc" /* yacc.c:1646 */1450 #line 1451 "yacc_parser.cpp" /* yacc.c:1646 */ 1451 break; 1452 1453 case 22: 1454 #line 87 "yacc_parser.yacc" /* yacc.c:1646 */ 1387 1455 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].filterNode)); } 1388 #line 1 389"yacc_parser.cpp" /* yacc.c:1646 */1389 break; 1390 1391 case 18:1392 #line 8 1"yacc_parser.yacc" /* yacc.c:1646 */1456 #line 1457 "yacc_parser.cpp" /* yacc.c:1646 */ 1457 break; 1458 1459 case 23: 1460 #line 88 "yacc_parser.yacc" /* yacc.c:1646 */ 1393 1461 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].filterNode)); } 1394 #line 1 395"yacc_parser.cpp" /* yacc.c:1646 */1395 break; 1396 1397 case 19:1398 #line 8 2"yacc_parser.yacc" /* yacc.c:1646 */1462 #line 1463 "yacc_parser.cpp" /* yacc.c:1646 */ 1463 break; 1464 1465 case 24: 1466 #line 89 "yacc_parser.yacc" /* yacc.c:1646 */ 1399 1467 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].filterNode)); } 1400 #line 14 01"yacc_parser.cpp" /* yacc.c:1646 */1401 break; 1402 1403 case 2 0:1404 #line 83"yacc_parser.yacc" /* yacc.c:1646 */1468 #line 1469 "yacc_parser.cpp" /* yacc.c:1646 */ 1469 break; 1470 1471 case 25: 1472 #line 90 "yacc_parser.yacc" /* yacc.c:1646 */ 1405 1473 { (yyval.filterNode) = new CFilterUnaryOpExprNode("neg", (yyvsp[0].filterNode)); } 1406 #line 14 07"yacc_parser.cpp" /* yacc.c:1646 */1407 break; 1408 1409 case 2 1:1410 #line 84"yacc_parser.yacc" /* yacc.c:1646 */1474 #line 1475 "yacc_parser.cpp" /* yacc.c:1646 */ 1475 break; 1476 1477 case 26: 1478 #line 91 "yacc_parser.yacc" /* yacc.c:1646 */ 1411 1479 { (yyval.filterNode) = new CFilterFieldFieldOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].filterNode)); } 1412 #line 1413 "yacc_parser.cpp" /* yacc.c:1646 */ 1413 break; 1414 1415 case 22: 1416 #line 85 "yacc_parser.yacc" /* yacc.c:1646 */ 1480 #line 1481 "yacc_parser.cpp" /* yacc.c:1646 */ 1481 break; 1482 1483 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 */ 1487 break; 1488 1489 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 */ 1493 break; 1494 1495 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 */ 1499 break; 1500 1501 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 */ 1505 break; 1506 1507 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 */ 1511 break; 1512 1513 case 32: 1514 #line 97 "yacc_parser.yacc" /* yacc.c:1646 */ 1417 1515 { (yyval.filterNode) = (yyvsp[-1].filterNode); } 1418 #line 1 419"yacc_parser.cpp" /* yacc.c:1646 */1419 break; 1420 1421 case 23:1422 #line 86"yacc_parser.yacc" /* yacc.c:1646 */1516 #line 1517 "yacc_parser.cpp" /* yacc.c:1646 */ 1517 break; 1518 1519 case 33: 1520 #line 98 "yacc_parser.yacc" /* yacc.c:1646 */ 1423 1521 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "add", (yyvsp[0].scalarNode)); } 1424 #line 1 425"yacc_parser.cpp" /* yacc.c:1646 */1425 break; 1426 1427 case 24:1428 #line 87"yacc_parser.yacc" /* yacc.c:1646 */1522 #line 1523 "yacc_parser.cpp" /* yacc.c:1646 */ 1523 break; 1524 1525 case 34: 1526 #line 99 "yacc_parser.yacc" /* yacc.c:1646 */ 1429 1527 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "add", (yyvsp[0].filterNode)); } 1430 #line 1 431"yacc_parser.cpp" /* yacc.c:1646 */1431 break; 1432 1433 case 25:1434 #line 88"yacc_parser.yacc" /* yacc.c:1646 */1528 #line 1529 "yacc_parser.cpp" /* yacc.c:1646 */ 1529 break; 1530 1531 case 35: 1532 #line 100 "yacc_parser.yacc" /* yacc.c:1646 */ 1435 1533 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "minus", (yyvsp[0].scalarNode)); } 1436 #line 1 437"yacc_parser.cpp" /* yacc.c:1646 */1437 break; 1438 1439 case 26:1440 #line 89"yacc_parser.yacc" /* yacc.c:1646 */1534 #line 1535 "yacc_parser.cpp" /* yacc.c:1646 */ 1535 break; 1536 1537 case 36: 1538 #line 101 "yacc_parser.yacc" /* yacc.c:1646 */ 1441 1539 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "minus", (yyvsp[0].filterNode)); } 1442 #line 1 443"yacc_parser.cpp" /* yacc.c:1646 */1443 break; 1444 1445 case 27:1446 #line 90"yacc_parser.yacc" /* yacc.c:1646 */1540 #line 1541 "yacc_parser.cpp" /* yacc.c:1646 */ 1541 break; 1542 1543 case 37: 1544 #line 102 "yacc_parser.yacc" /* yacc.c:1646 */ 1447 1545 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "mult", (yyvsp[0].scalarNode)); } 1448 #line 1 449"yacc_parser.cpp" /* yacc.c:1646 */1449 break; 1450 1451 case 28:1452 #line 91"yacc_parser.yacc" /* yacc.c:1646 */1546 #line 1547 "yacc_parser.cpp" /* yacc.c:1646 */ 1547 break; 1548 1549 case 38: 1550 #line 103 "yacc_parser.yacc" /* yacc.c:1646 */ 1453 1551 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "mult", (yyvsp[0].filterNode)); } 1454 #line 1 455"yacc_parser.cpp" /* yacc.c:1646 */1455 break; 1456 1457 case 29:1458 #line 92"yacc_parser.yacc" /* yacc.c:1646 */1552 #line 1553 "yacc_parser.cpp" /* yacc.c:1646 */ 1553 break; 1554 1555 case 39: 1556 #line 104 "yacc_parser.yacc" /* yacc.c:1646 */ 1459 1557 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "div", (yyvsp[0].scalarNode)); } 1460 #line 1 461"yacc_parser.cpp" /* yacc.c:1646 */1461 break; 1462 1463 case 30:1464 #line 93"yacc_parser.yacc" /* yacc.c:1646 */1558 #line 1559 "yacc_parser.cpp" /* yacc.c:1646 */ 1559 break; 1560 1561 case 40: 1562 #line 105 "yacc_parser.yacc" /* yacc.c:1646 */ 1465 1563 { (yyval.filterNode) = new CFilterScalarFieldOpExprNode((yyvsp[-2].scalarNode), "div", (yyvsp[0].filterNode)); } 1466 #line 1 467"yacc_parser.cpp" /* yacc.c:1646 */1467 break; 1468 1469 case 31:1470 #line 94"yacc_parser.yacc" /* yacc.c:1646 */1564 #line 1565 "yacc_parser.cpp" /* yacc.c:1646 */ 1565 break; 1566 1567 case 41: 1568 #line 106 "yacc_parser.yacc" /* yacc.c:1646 */ 1471 1569 { (yyval.filterNode) = new CFilterFieldScalarOpExprNode((yyvsp[-2].filterNode), "pow", (yyvsp[0].scalarNode)); } 1472 #line 1473 "yacc_parser.cpp" /* yacc.c:1646 */ 1473 break; 1474 1475 case 32: 1476 #line 95 "yacc_parser.yacc" /* yacc.c:1646 */ 1570 #line 1571 "yacc_parser.cpp" /* yacc.c:1646 */ 1571 break; 1572 1573 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 */ 1577 break; 1578 1579 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 */ 1583 break; 1584 1585 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 */ 1589 break; 1590 1591 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 */ 1595 break; 1596 1597 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 */ 1601 break; 1602 1603 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 */ 1607 break; 1608 1609 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 */ 1613 break; 1614 1615 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 */ 1619 break; 1620 1621 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 */ 1625 break; 1626 1627 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 */ 1631 break; 1632 1633 case 52: 1634 #line 117 "yacc_parser.yacc" /* yacc.c:1646 */ 1477 1635 { (yyval.filterNode) = new CFilterUnaryOpExprNode(*(yyvsp[-3].str), (yyvsp[-1].filterNode)); delete (yyvsp[-3].str); } 1478 #line 1 479"yacc_parser.cpp" /* yacc.c:1646 */1479 break; 1480 1481 1482 #line 1 483"yacc_parser.cpp" /* yacc.c:1646 */1636 #line 1637 "yacc_parser.cpp" /* yacc.c:1646 */ 1637 break; 1638 1639 1640 #line 1641 "yacc_parser.cpp" /* yacc.c:1646 */ 1483 1641 default: break; 1484 1642 } … … 1708 1866 return yyresult; 1709 1867 } 1710 #line 97"yacc_parser.yacc" /* yacc.c:1906 */1868 #line 119 "yacc_parser.yacc" /* yacc.c:1906 */ 1711 1869 1712 1870 -
XIOS/trunk/src/parse_expr/yacc_parser.hpp
r642 r728 55 55 DIVIDE = 265, 56 56 POWER = 266, 57 LEFT_PARENTHESIS = 267, 58 RIGHT_PARENTHESIS = 268, 59 END = 269, 60 NEG = 270 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 61 66 }; 62 67 #endif … … 73 78 xios::IFilterExprNode* filterNode; 74 79 75 #line 76"yacc_parser.hpp" /* yacc.c:1909 */80 #line 81 "yacc_parser.hpp" /* yacc.c:1909 */ 76 81 }; 77 82 # define YYSTYPE_IS_TRIVIAL 1 -
XIOS/trunk/src/parse_expr/yacc_parser.yacc
r643 r728 42 42 %token <str> VAR ID AVERAGE 43 43 %token PLUS MINUS TIMES DIVIDE POWER 44 %token EQ LT GT LE GE 44 45 %token LEFT_PARENTHESIS RIGHT_PARENTHESIS 45 46 %token <str> END 46 47 48 %left EQ LT GT LE GE 47 49 %left PLUS MINUS 48 50 %left TIMES DIVIDE … … 70 72 | MINUS Expression %prec NEG { $$ = new CScalarUnaryOpExprNode("neg", $2); } 71 73 | Expression POWER Expression { $$ = new CScalarBinaryOpExprNode($1, "pow", $3); } 74 | Expression EQ Expression { $$ = new CScalarBinaryOpExprNode($1, "eq", $3); } 75 | Expression LT Expression { $$ = new CScalarBinaryOpExprNode($1, "lt", $3); } 76 | Expression GT Expression { $$ = new CScalarBinaryOpExprNode($1, "gt", $3); } 77 | Expression LE Expression { $$ = new CScalarBinaryOpExprNode($1, "le", $3); } 78 | Expression GE Expression { $$ = new CScalarBinaryOpExprNode($1, "ge", $3); } 72 79 | LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = $2; } 73 80 | ID LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$ = new CScalarUnaryOpExprNode(*$1, $3); delete $1; } … … 83 90 | MINUS Field_expr %prec NEG { $$ = new CFilterUnaryOpExprNode("neg", $2); } 84 91 | Field_expr POWER Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "pow", $3); } 92 | Field_expr EQ Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "eq", $3); } 93 | Field_expr LT Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "lt", $3); } 94 | Field_expr GT Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "gt", $3); } 95 | Field_expr LE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "le", $3); } 96 | Field_expr GE Field_expr { $$ = new CFilterFieldFieldOpExprNode($1, "ge", $3); } 85 97 | LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = $2; } 86 98 | Field_expr PLUS Expression { $$ = new CFilterFieldScalarOpExprNode($1, "add", $3); } … … 93 105 | Expression DIVIDE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "div", $3); } 94 106 | Field_expr POWER Expression { $$ = new CFilterFieldScalarOpExprNode($1, "pow", $3); } 107 | Field_expr EQ Expression { $$ = new CFilterFieldScalarOpExprNode($1, "eq", $3); } 108 | Expression EQ Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "eq", $3); } 109 | Field_expr LT Expression { $$ = new CFilterFieldScalarOpExprNode($1, "lt", $3); } 110 | Expression LT Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "lt", $3); } 111 | Field_expr GT Expression { $$ = new CFilterFieldScalarOpExprNode($1, "gt", $3); } 112 | Expression GT Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "gt", $3); } 113 | Field_expr LE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "le", $3); } 114 | Expression LE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "le", $3); } 115 | Field_expr GE Expression { $$ = new CFilterFieldScalarOpExprNode($1, "ge", $3); } 116 | Expression GE Field_expr { $$ = new CFilterScalarFieldOpExprNode($1, "ge", $3); } 95 117 | ID LEFT_PARENTHESIS Field_expr RIGHT_PARENTHESIS { $$ = new CFilterUnaryOpExprNode(*$1, $3); delete $1; } 96 118 ;
Note: See TracChangeset
for help on using the changeset viewer.