diff options
| author | Ben Fuhrmannek | 2021-12-20 19:47:56 +0100 |
|---|---|---|
| committer | Ben Fuhrmannek | 2021-12-20 19:47:56 +0100 |
| commit | 578f879e26ce4e3f1cd7693cb9d9a8a6f35cc389 (patch) | |
| tree | 8b60e4910f1229ee5639a72771bc94002fa4808b | |
| parent | 2863344b21977bb5b1df276b2f17e2ac9572e42a (diff) | |
make set + @log/@info/@error conditional
| -rw-r--r-- | src/sp_config_scanner.cached.c | 718 | ||||
| -rw-r--r-- | src/sp_config_scanner.re | 14 |
2 files changed, 424 insertions, 308 deletions
diff --git a/src/sp_config_scanner.cached.c b/src/sp_config_scanner.cached.c index dd6f4f6..bb23cf9 100644 --- a/src/sp_config_scanner.cached.c +++ b/src/sp_config_scanner.cached.c | |||
| @@ -297,26 +297,41 @@ yy17: | |||
| 297 | if (yych == 'o') goto yy26; | 297 | if (yych == 'o') goto yy26; |
| 298 | yy18: | 298 | yy18: |
| 299 | YYCURSOR = YYMARKER; | 299 | YYCURSOR = YYMARKER; |
| 300 | if (yyaccept <= 2) { | 300 | if (yyaccept <= 4) { |
| 301 | if (yyaccept <= 1) { | 301 | if (yyaccept <= 2) { |
| 302 | if (yyaccept == 0) { | 302 | if (yyaccept <= 1) { |
| 303 | goto yy5; | 303 | if (yyaccept == 0) { |
| 304 | goto yy5; | ||
| 305 | } else { | ||
| 306 | yyt2 = YYCURSOR; | ||
| 307 | goto yy66; | ||
| 308 | } | ||
| 304 | } else { | 309 | } else { |
| 305 | goto yy66; | 310 | yyt2 = YYCURSOR; |
| 311 | goto yy70; | ||
| 306 | } | 312 | } |
| 307 | } else { | 313 | } else { |
| 308 | goto yy70; | 314 | if (yyaccept == 3) { |
| 315 | goto yy66; | ||
| 316 | } else { | ||
| 317 | goto yy70; | ||
| 318 | } | ||
| 309 | } | 319 | } |
| 310 | } else { | 320 | } else { |
| 311 | if (yyaccept <= 4) { | 321 | if (yyaccept <= 6) { |
| 312 | if (yyaccept == 3) { | 322 | if (yyaccept == 5) { |
| 313 | goto yy83; | 323 | yyt2 = YYCURSOR; |
| 324 | goto yy85; | ||
| 314 | } else { | 325 | } else { |
| 315 | yyt4 = YYCURSOR; | 326 | yyt4 = YYCURSOR; |
| 316 | goto yy88; | 327 | goto yy90; |
| 317 | } | 328 | } |
| 318 | } else { | 329 | } else { |
| 319 | goto yy88; | 330 | if (yyaccept == 7) { |
| 331 | goto yy85; | ||
| 332 | } else { | ||
| 333 | goto yy90; | ||
| 334 | } | ||
| 320 | } | 335 | } |
| 321 | } | 336 | } |
| 322 | yy19: | 337 | yy19: |
| @@ -558,11 +573,14 @@ yy64: | |||
| 558 | if (yych == 'n') goto yy79; | 573 | if (yych == 'n') goto yy79; |
| 559 | goto yy18; | 574 | goto yy18; |
| 560 | yy65: | 575 | yy65: |
| 561 | ++YYCURSOR; | 576 | yych = *++YYCURSOR; |
| 577 | yyt2 = YYCURSOR; | ||
| 578 | if (yych == ';') goto yy80; | ||
| 562 | yy66: | 579 | yy66: |
| 563 | t1 = yyt1; | 580 | t1 = yyt1; |
| 564 | t2 = YYCURSOR; | 581 | t2 = yyt2; |
| 565 | { | 582 | { |
| 583 | if (!cond_res[0]) { goto yyc_init; } | ||
| 566 | TMPSTR(tmpstr, t2, t1); | 584 | TMPSTR(tmpstr, t2, t1); |
| 567 | cs_log_error("[line %d]: %s", lineno, tmpstr); | 585 | cs_log_error("[line %d]: %s", lineno, tmpstr); |
| 568 | goto out; | 586 | goto out; |
| @@ -573,14 +591,17 @@ yy67: | |||
| 573 | goto yy53; | 591 | goto yy53; |
| 574 | } | 592 | } |
| 575 | if (yych <= '\r') goto yy18; | 593 | if (yych <= '\r') goto yy18; |
| 576 | if (yych <= '"') goto yy80; | 594 | if (yych <= '"') goto yy81; |
| 577 | goto yy67; | 595 | goto yy67; |
| 578 | yy69: | 596 | yy69: |
| 579 | ++YYCURSOR; | 597 | yych = *++YYCURSOR; |
| 598 | yyt2 = YYCURSOR; | ||
| 599 | if (yych == ';') goto yy82; | ||
| 580 | yy70: | 600 | yy70: |
| 581 | t1 = yyt1; | 601 | t1 = yyt1; |
| 582 | t2 = YYCURSOR; | 602 | t2 = yyt2; |
| 583 | { | 603 | { |
| 604 | if (!cond_res[0]) { goto yyc_init; } | ||
| 584 | TMPSTR(tmpstr, t2, t1); | 605 | TMPSTR(tmpstr, t2, t1); |
| 585 | cs_log_info("[line %d]: %s", lineno, tmpstr); | 606 | cs_log_info("[line %d]: %s", lineno, tmpstr); |
| 586 | goto yyc_init; | 607 | goto yyc_init; |
| @@ -594,7 +615,7 @@ yy71: | |||
| 594 | } else { | 615 | } else { |
| 595 | if (yych <= '"') { | 616 | if (yych <= '"') { |
| 596 | if (yych <= '!') goto yy56; | 617 | if (yych <= '!') goto yy56; |
| 597 | goto yy81; | 618 | goto yy83; |
| 598 | } else { | 619 | } else { |
| 599 | if (yych == '\\') goto yy71; | 620 | if (yych == '\\') goto yy71; |
| 600 | goto yy56; | 621 | goto yy56; |
| @@ -609,15 +630,15 @@ yy73: | |||
| 609 | } else { | 630 | } else { |
| 610 | if (yych <= '"') { | 631 | if (yych <= '"') { |
| 611 | if (yych <= '!') goto yy73; | 632 | if (yych <= '!') goto yy73; |
| 612 | goto yy82; | 633 | goto yy84; |
| 613 | } else { | 634 | } else { |
| 614 | if (yych == '\\') goto yy84; | 635 | if (yych == '\\') goto yy86; |
| 615 | goto yy73; | 636 | goto yy73; |
| 616 | } | 637 | } |
| 617 | } | 638 | } |
| 618 | yy75: | 639 | yy75: |
| 619 | yych = *++YYCURSOR; | 640 | yych = *++YYCURSOR; |
| 620 | if (yych == 'g') goto yy86; | 641 | if (yych == 'g') goto yy88; |
| 621 | goto yy18; | 642 | goto yy18; |
| 622 | yy76: | 643 | yy76: |
| 623 | yych = *++YYCURSOR; | 644 | yych = *++YYCURSOR; |
| @@ -628,56 +649,92 @@ yy76: | |||
| 628 | } else { | 649 | } else { |
| 629 | if (yych <= '"') { | 650 | if (yych <= '"') { |
| 630 | if (yych <= '!') goto yy76; | 651 | if (yych <= '!') goto yy76; |
| 631 | goto yy87; | 652 | goto yy89; |
| 632 | } else { | 653 | } else { |
| 633 | if (yych == '\\') goto yy89; | 654 | if (yych == '\\') goto yy91; |
| 634 | goto yy76; | 655 | goto yy76; |
| 635 | } | 656 | } |
| 636 | } | 657 | } |
| 637 | yy78: | 658 | yy78: |
| 638 | yych = *++YYCURSOR; | 659 | yych = *++YYCURSOR; |
| 639 | if (yych == 'o') goto yy91; | 660 | if (yych == 'o') goto yy93; |
| 640 | goto yy18; | 661 | goto yy18; |
| 641 | yy79: | 662 | yy79: |
| 642 | yych = *++YYCURSOR; | 663 | yych = *++YYCURSOR; |
| 643 | if (yych == 'd') goto yy92; | 664 | if (yych == 'd') goto yy94; |
| 644 | goto yy18; | 665 | goto yy18; |
| 645 | yy80: | 666 | yy80: |
| 667 | ++YYCURSOR; | ||
| 668 | goto yy66; | ||
| 669 | yy81: | ||
| 646 | yyaccept = 1; | 670 | yyaccept = 1; |
| 647 | yych = *(YYMARKER = ++YYCURSOR); | 671 | yych = *(YYMARKER = ++YYCURSOR); |
| 648 | if (yybm[0+yych] & 64) { | 672 | if (yybm[0+yych] & 128) { |
| 649 | goto yy53; | 673 | goto yy67; |
| 650 | } | 674 | } |
| 651 | if (yych <= '\r') goto yy66; | ||
| 652 | if (yych <= '"') goto yy65; | ||
| 653 | goto yy67; | ||
| 654 | yy81: | ||
| 655 | yyaccept = 2; | ||
| 656 | yych = *(YYMARKER = ++YYCURSOR); | ||
| 657 | if (yych <= '\r') { | 675 | if (yych <= '\r') { |
| 658 | if (yych == '\n') goto yy70; | 676 | if (yych == '\n') { |
| 659 | if (yych <= '\f') goto yy56; | 677 | yyt2 = YYCURSOR; |
| 660 | goto yy70; | 678 | goto yy66; |
| 679 | } | ||
| 680 | if (yych <= '\f') goto yy53; | ||
| 681 | yyt2 = YYCURSOR; | ||
| 682 | goto yy66; | ||
| 661 | } else { | 683 | } else { |
| 662 | if (yych <= '"') { | 684 | if (yych <= '"') { |
| 663 | if (yych <= '!') goto yy56; | 685 | if (yych <= '!') goto yy53; |
| 664 | goto yy69; | 686 | goto yy65; |
| 665 | } else { | 687 | } else { |
| 666 | if (yych == '\\') goto yy71; | 688 | if (yych == ';') { |
| 667 | goto yy56; | 689 | yyt2 = YYCURSOR; |
| 690 | goto yy95; | ||
| 691 | } | ||
| 692 | goto yy53; | ||
| 668 | } | 693 | } |
| 669 | } | 694 | } |
| 670 | yy82: | 695 | yy82: |
| 671 | ++YYCURSOR; | 696 | ++YYCURSOR; |
| 697 | goto yy70; | ||
| 672 | yy83: | 698 | yy83: |
| 699 | yyaccept = 2; | ||
| 700 | yych = *(YYMARKER = ++YYCURSOR); | ||
| 701 | if (yych <= '!') { | ||
| 702 | if (yych <= '\n') { | ||
| 703 | if (yych <= '\t') goto yy56; | ||
| 704 | yyt2 = YYCURSOR; | ||
| 705 | goto yy70; | ||
| 706 | } else { | ||
| 707 | if (yych == '\r') { | ||
| 708 | yyt2 = YYCURSOR; | ||
| 709 | goto yy70; | ||
| 710 | } | ||
| 711 | goto yy56; | ||
| 712 | } | ||
| 713 | } else { | ||
| 714 | if (yych <= ';') { | ||
| 715 | if (yych <= '"') goto yy69; | ||
| 716 | if (yych <= ':') goto yy56; | ||
| 717 | yyt2 = YYCURSOR; | ||
| 718 | goto yy96; | ||
| 719 | } else { | ||
| 720 | if (yych == '\\') goto yy71; | ||
| 721 | goto yy56; | ||
| 722 | } | ||
| 723 | } | ||
| 724 | yy84: | ||
| 725 | yych = *++YYCURSOR; | ||
| 726 | yyt2 = YYCURSOR; | ||
| 727 | if (yych == ';') goto yy97; | ||
| 728 | yy85: | ||
| 673 | t1 = yyt1; | 729 | t1 = yyt1; |
| 674 | t2 = YYCURSOR; | 730 | t2 = yyt2; |
| 675 | { | 731 | { |
| 732 | if (!cond_res[0]) { goto yyc_init; } | ||
| 676 | TMPSTR(tmpstr, t2, t1); | 733 | TMPSTR(tmpstr, t2, t1); |
| 677 | cs_log_warning("[line %d]: %s", lineno, tmpstr); | 734 | cs_log_warning("[line %d]: %s", lineno, tmpstr); |
| 678 | goto yyc_init; | 735 | goto yyc_init; |
| 679 | } | 736 | } |
| 680 | yy84: | 737 | yy86: |
| 681 | yych = *++YYCURSOR; | 738 | yych = *++YYCURSOR; |
| 682 | if (yych <= '\r') { | 739 | if (yych <= '\r') { |
| 683 | if (yych == '\n') goto yy18; | 740 | if (yych == '\n') goto yy18; |
| @@ -686,26 +743,27 @@ yy84: | |||
| 686 | } else { | 743 | } else { |
| 687 | if (yych <= '"') { | 744 | if (yych <= '"') { |
| 688 | if (yych <= '!') goto yy73; | 745 | if (yych <= '!') goto yy73; |
| 689 | goto yy93; | 746 | goto yy98; |
| 690 | } else { | 747 | } else { |
| 691 | if (yych == '\\') goto yy84; | 748 | if (yych == '\\') goto yy86; |
| 692 | goto yy73; | 749 | goto yy73; |
| 693 | } | 750 | } |
| 694 | } | 751 | } |
| 695 | yy86: | 752 | yy88: |
| 696 | yych = *++YYCURSOR; | 753 | yych = *++YYCURSOR; |
| 697 | if (yych == '"') goto yy18; | 754 | if (yych == '"') goto yy18; |
| 698 | goto yy59; | 755 | goto yy59; |
| 699 | yy87: | 756 | yy89: |
| 700 | yych = *++YYCURSOR; | 757 | yych = *++YYCURSOR; |
| 701 | yyt4 = YYCURSOR; | 758 | yyt4 = YYCURSOR; |
| 702 | goto yy95; | 759 | goto yy100; |
| 703 | yy88: | 760 | yy90: |
| 704 | t1 = yyt1; | 761 | t1 = yyt1; |
| 705 | t2 = yyt2; | 762 | t2 = yyt2; |
| 706 | t3 = yyt3; | 763 | t3 = yyt3; |
| 707 | t4 = yyt4; | 764 | t4 = yyt4; |
| 708 | { | 765 | { |
| 766 | if (!cond_res[0]) { goto yyc_init; } | ||
| 709 | char *key = (char*)t1; | 767 | char *key = (char*)t1; |
| 710 | int keylen = t2-t1; | 768 | int keylen = t2-t1; |
| 711 | zend_string *tmp = zend_hash_str_find_ptr(&vars, key, keylen); | 769 | zend_string *tmp = zend_hash_str_find_ptr(&vars, key, keylen); |
| @@ -716,7 +774,7 @@ yy88: | |||
| 716 | zend_hash_str_add_ptr(&vars, key, keylen, tmp); | 774 | zend_hash_str_add_ptr(&vars, key, keylen, tmp); |
| 717 | goto yyc_init; | 775 | goto yyc_init; |
| 718 | } | 776 | } |
| 719 | yy89: | 777 | yy91: |
| 720 | yych = *++YYCURSOR; | 778 | yych = *++YYCURSOR; |
| 721 | if (yych <= '\r') { | 779 | if (yych <= '\r') { |
| 722 | if (yych == '\n') goto yy18; | 780 | if (yych == '\n') goto yy18; |
| @@ -725,153 +783,207 @@ yy89: | |||
| 725 | } else { | 783 | } else { |
| 726 | if (yych <= '"') { | 784 | if (yych <= '"') { |
| 727 | if (yych <= '!') goto yy76; | 785 | if (yych <= '!') goto yy76; |
| 728 | goto yy97; | 786 | goto yy102; |
| 729 | } else { | 787 | } else { |
| 730 | if (yych == '\\') goto yy89; | 788 | if (yych == '\\') goto yy91; |
| 731 | goto yy76; | 789 | goto yy76; |
| 732 | } | 790 | } |
| 733 | } | 791 | } |
| 734 | yy91: | 792 | yy93: |
| 735 | yych = *++YYCURSOR; | 793 | yych = *++YYCURSOR; |
| 736 | if (yych == 'n') goto yy98; | 794 | if (yych == 'n') goto yy103; |
| 737 | goto yy18; | 795 | goto yy18; |
| 738 | yy92: | 796 | yy94: |
| 739 | yych = *++YYCURSOR; | 797 | yych = *++YYCURSOR; |
| 740 | if (yych == 'i') goto yy99; | 798 | if (yych == 'i') goto yy104; |
| 741 | goto yy18; | 799 | goto yy18; |
| 742 | yy93: | 800 | yy95: |
| 743 | yyaccept = 3; | 801 | yyaccept = 3; |
| 744 | yych = *(YYMARKER = ++YYCURSOR); | 802 | yych = *(YYMARKER = ++YYCURSOR); |
| 803 | if (yybm[0+yych] & 64) { | ||
| 804 | goto yy53; | ||
| 805 | } | ||
| 806 | if (yych <= '\r') goto yy66; | ||
| 807 | if (yych <= '"') goto yy65; | ||
| 808 | goto yy67; | ||
| 809 | yy96: | ||
| 810 | yyaccept = 4; | ||
| 811 | yych = *(YYMARKER = ++YYCURSOR); | ||
| 745 | if (yych <= '\r') { | 812 | if (yych <= '\r') { |
| 746 | if (yych == '\n') goto yy83; | 813 | if (yych == '\n') goto yy70; |
| 747 | if (yych <= '\f') goto yy73; | 814 | if (yych <= '\f') goto yy56; |
| 748 | goto yy83; | 815 | goto yy70; |
| 749 | } else { | 816 | } else { |
| 750 | if (yych <= '"') { | 817 | if (yych <= '"') { |
| 751 | if (yych <= '!') goto yy73; | 818 | if (yych <= '!') goto yy56; |
| 752 | goto yy82; | 819 | goto yy69; |
| 820 | } else { | ||
| 821 | if (yych == '\\') goto yy71; | ||
| 822 | goto yy56; | ||
| 823 | } | ||
| 824 | } | ||
| 825 | yy97: | ||
| 826 | ++YYCURSOR; | ||
| 827 | goto yy85; | ||
| 828 | yy98: | ||
| 829 | yyaccept = 5; | ||
| 830 | yych = *(YYMARKER = ++YYCURSOR); | ||
| 831 | if (yych <= '!') { | ||
| 832 | if (yych <= '\n') { | ||
| 833 | if (yych <= '\t') goto yy73; | ||
| 834 | yyt2 = YYCURSOR; | ||
| 835 | goto yy85; | ||
| 836 | } else { | ||
| 837 | if (yych == '\r') { | ||
| 838 | yyt2 = YYCURSOR; | ||
| 839 | goto yy85; | ||
| 840 | } | ||
| 841 | goto yy73; | ||
| 842 | } | ||
| 843 | } else { | ||
| 844 | if (yych <= ';') { | ||
| 845 | if (yych <= '"') goto yy84; | ||
| 846 | if (yych <= ':') goto yy73; | ||
| 847 | yyt2 = YYCURSOR; | ||
| 848 | goto yy105; | ||
| 753 | } else { | 849 | } else { |
| 754 | if (yych == '\\') goto yy84; | 850 | if (yych == '\\') goto yy86; |
| 755 | goto yy73; | 851 | goto yy73; |
| 756 | } | 852 | } |
| 757 | } | 853 | } |
| 758 | yy94: | 854 | yy99: |
| 759 | yych = *++YYCURSOR; | 855 | yych = *++YYCURSOR; |
| 760 | yy95: | 856 | yy100: |
| 761 | if (yych <= 0x1F) { | 857 | if (yych <= 0x1F) { |
| 762 | if (yych == '\t') goto yy94; | 858 | if (yych == '\t') goto yy99; |
| 763 | goto yy88; | 859 | goto yy90; |
| 764 | } else { | 860 | } else { |
| 765 | if (yych <= ' ') goto yy94; | 861 | if (yych <= ' ') goto yy99; |
| 766 | if (yych != ';') goto yy88; | 862 | if (yych != ';') goto yy90; |
| 767 | } | 863 | } |
| 768 | ++YYCURSOR; | 864 | ++YYCURSOR; |
| 769 | goto yy88; | 865 | goto yy90; |
| 770 | yy97: | 866 | yy102: |
| 771 | yyaccept = 4; | 867 | yyaccept = 6; |
| 772 | yych = *(YYMARKER = ++YYCURSOR); | 868 | yych = *(YYMARKER = ++YYCURSOR); |
| 773 | if (yych <= ' ') { | 869 | if (yych <= ' ') { |
| 774 | if (yych <= '\n') { | 870 | if (yych <= '\n') { |
| 775 | if (yych <= 0x08) goto yy76; | 871 | if (yych <= 0x08) goto yy76; |
| 776 | if (yych <= '\t') { | 872 | if (yych <= '\t') { |
| 777 | yyt4 = YYCURSOR; | 873 | yyt4 = YYCURSOR; |
| 778 | goto yy100; | 874 | goto yy106; |
| 779 | } | 875 | } |
| 780 | yyt4 = YYCURSOR; | 876 | yyt4 = YYCURSOR; |
| 781 | goto yy88; | 877 | goto yy90; |
| 782 | } else { | 878 | } else { |
| 783 | if (yych == '\r') { | 879 | if (yych == '\r') { |
| 784 | yyt4 = YYCURSOR; | 880 | yyt4 = YYCURSOR; |
| 785 | goto yy88; | 881 | goto yy90; |
| 786 | } | 882 | } |
| 787 | if (yych <= 0x1F) goto yy76; | 883 | if (yych <= 0x1F) goto yy76; |
| 788 | yyt4 = YYCURSOR; | 884 | yyt4 = YYCURSOR; |
| 789 | goto yy100; | 885 | goto yy106; |
| 790 | } | 886 | } |
| 791 | } else { | 887 | } else { |
| 792 | if (yych <= ':') { | 888 | if (yych <= ':') { |
| 793 | if (yych == '"') goto yy87; | 889 | if (yych == '"') goto yy89; |
| 794 | goto yy76; | 890 | goto yy76; |
| 795 | } else { | 891 | } else { |
| 796 | if (yych <= ';') { | 892 | if (yych <= ';') { |
| 797 | yyt4 = YYCURSOR; | 893 | yyt4 = YYCURSOR; |
| 798 | goto yy102; | 894 | goto yy108; |
| 799 | } | 895 | } |
| 800 | if (yych == '\\') goto yy89; | 896 | if (yych == '\\') goto yy91; |
| 801 | goto yy76; | 897 | goto yy76; |
| 802 | } | 898 | } |
| 803 | } | 899 | } |
| 804 | yy98: | 900 | yy103: |
| 805 | yych = *++YYCURSOR; | 901 | yych = *++YYCURSOR; |
| 806 | if (yych == '\t') goto yy103; | 902 | if (yych == '\t') goto yy109; |
| 807 | if (yych == ' ') goto yy103; | 903 | if (yych == ' ') goto yy109; |
| 808 | goto yy18; | 904 | goto yy18; |
| 809 | yy99: | 905 | yy104: |
| 810 | yych = *++YYCURSOR; | 906 | yych = *++YYCURSOR; |
| 811 | if (yych == 't') goto yy106; | 907 | if (yych == 't') goto yy112; |
| 812 | goto yy18; | 908 | goto yy18; |
| 813 | yy100: | 909 | yy105: |
| 814 | yyaccept = 5; | 910 | yyaccept = 7; |
| 911 | yych = *(YYMARKER = ++YYCURSOR); | ||
| 912 | if (yych <= '\r') { | ||
| 913 | if (yych == '\n') goto yy85; | ||
| 914 | if (yych <= '\f') goto yy73; | ||
| 915 | goto yy85; | ||
| 916 | } else { | ||
| 917 | if (yych <= '"') { | ||
| 918 | if (yych <= '!') goto yy73; | ||
| 919 | goto yy84; | ||
| 920 | } else { | ||
| 921 | if (yych == '\\') goto yy86; | ||
| 922 | goto yy73; | ||
| 923 | } | ||
| 924 | } | ||
| 925 | yy106: | ||
| 926 | yyaccept = 8; | ||
| 815 | yych = *(YYMARKER = ++YYCURSOR); | 927 | yych = *(YYMARKER = ++YYCURSOR); |
| 816 | if (yych <= ' ') { | 928 | if (yych <= ' ') { |
| 817 | if (yych <= '\n') { | 929 | if (yych <= '\n') { |
| 818 | if (yych <= 0x08) goto yy76; | 930 | if (yych <= 0x08) goto yy76; |
| 819 | if (yych <= '\t') goto yy100; | 931 | if (yych <= '\t') goto yy106; |
| 820 | goto yy88; | 932 | goto yy90; |
| 821 | } else { | 933 | } else { |
| 822 | if (yych == '\r') goto yy88; | 934 | if (yych == '\r') goto yy90; |
| 823 | if (yych <= 0x1F) goto yy76; | 935 | if (yych <= 0x1F) goto yy76; |
| 824 | goto yy100; | 936 | goto yy106; |
| 825 | } | 937 | } |
| 826 | } else { | 938 | } else { |
| 827 | if (yych <= ':') { | 939 | if (yych <= ':') { |
| 828 | if (yych == '"') goto yy87; | 940 | if (yych == '"') goto yy89; |
| 829 | goto yy76; | 941 | goto yy76; |
| 830 | } else { | 942 | } else { |
| 831 | if (yych <= ';') goto yy102; | 943 | if (yych <= ';') goto yy108; |
| 832 | if (yych == '\\') goto yy89; | 944 | if (yych == '\\') goto yy91; |
| 833 | goto yy76; | 945 | goto yy76; |
| 834 | } | 946 | } |
| 835 | } | 947 | } |
| 836 | yy102: | 948 | yy108: |
| 837 | yyaccept = 5; | 949 | yyaccept = 8; |
| 838 | yych = *(YYMARKER = ++YYCURSOR); | 950 | yych = *(YYMARKER = ++YYCURSOR); |
| 839 | if (yych <= '\r') { | 951 | if (yych <= '\r') { |
| 840 | if (yych == '\n') goto yy88; | 952 | if (yych == '\n') goto yy90; |
| 841 | if (yych <= '\f') goto yy76; | 953 | if (yych <= '\f') goto yy76; |
| 842 | goto yy88; | 954 | goto yy90; |
| 843 | } else { | 955 | } else { |
| 844 | if (yych <= '"') { | 956 | if (yych <= '"') { |
| 845 | if (yych <= '!') goto yy76; | 957 | if (yych <= '!') goto yy76; |
| 846 | goto yy87; | 958 | goto yy89; |
| 847 | } else { | 959 | } else { |
| 848 | if (yych == '\\') goto yy89; | 960 | if (yych == '\\') goto yy91; |
| 849 | goto yy76; | 961 | goto yy76; |
| 850 | } | 962 | } |
| 851 | } | 963 | } |
| 852 | yy103: | 964 | yy109: |
| 853 | yych = *++YYCURSOR; | 965 | yych = *++YYCURSOR; |
| 854 | if (yych == '\t') goto yy103; | 966 | if (yych == '\t') goto yy109; |
| 855 | if (yych == ' ') goto yy103; | 967 | if (yych == ' ') goto yy109; |
| 856 | { goto yyc_cond; } | 968 | { cond_res_i = 0; goto yyc_cond; } |
| 857 | yy106: | 969 | yy112: |
| 858 | yych = *++YYCURSOR; | 970 | yych = *++YYCURSOR; |
| 859 | if (yych != 'i') goto yy18; | 971 | if (yych != 'i') goto yy18; |
| 860 | yych = *++YYCURSOR; | 972 | yych = *++YYCURSOR; |
| 861 | if (yych != 'o') goto yy18; | 973 | if (yych != 'o') goto yy18; |
| 862 | yych = *++YYCURSOR; | 974 | yych = *++YYCURSOR; |
| 863 | if (yych != 'n') goto yy18; | 975 | if (yych != 'n') goto yy18; |
| 864 | yy109: | 976 | yy115: |
| 865 | yych = *++YYCURSOR; | 977 | yych = *++YYCURSOR; |
| 866 | if (yych <= 0x1F) { | 978 | if (yych <= 0x1F) { |
| 867 | if (yych == '\t') goto yy109; | 979 | if (yych == '\t') goto yy115; |
| 868 | goto yy18; | 980 | goto yy18; |
| 869 | } else { | 981 | } else { |
| 870 | if (yych <= ' ') goto yy109; | 982 | if (yych <= ' ') goto yy115; |
| 871 | if (yych != ';') goto yy18; | 983 | if (yych != ';') goto yy18; |
| 872 | } | 984 | } |
| 873 | ++YYCURSOR; | 985 | ++YYCURSOR; |
| 874 | { cond_res[0] = 1; goto yyc_init; } | 986 | { cond_res[0] = 1; cond_res_i = 0; goto yyc_init; } |
| 875 | } | 987 | } |
| 876 | /* *********************************** */ | 988 | /* *********************************** */ |
| 877 | yyc_cond: | 989 | yyc_cond: |
| @@ -912,85 +1024,85 @@ yyc_cond: | |||
| 912 | }; | 1024 | }; |
| 913 | yych = *YYCURSOR; | 1025 | yych = *YYCURSOR; |
| 914 | if (yybm[0+yych] & 8) { | 1026 | if (yybm[0+yych] & 8) { |
| 915 | goto yy117; | 1027 | goto yy123; |
| 916 | } | 1028 | } |
| 917 | if (yych <= '(') { | 1029 | if (yych <= '(') { |
| 918 | if (yych <= '\r') { | 1030 | if (yych <= '\r') { |
| 919 | if (yych <= 0x08) goto yy115; | 1031 | if (yych <= 0x08) goto yy121; |
| 920 | if (yych <= '\n') goto yy120; | 1032 | if (yych <= '\n') goto yy126; |
| 921 | if (yych >= '\r') goto yy122; | 1033 | if (yych >= '\r') goto yy128; |
| 922 | } else { | 1034 | } else { |
| 923 | if (yych <= 0x1F) goto yy115; | 1035 | if (yych <= 0x1F) goto yy121; |
| 924 | if (yych <= '!') goto yy123; | 1036 | if (yych <= '!') goto yy129; |
| 925 | if (yych >= '(') goto yy125; | 1037 | if (yych >= '(') goto yy131; |
| 926 | } | 1038 | } |
| 927 | } else { | 1039 | } else { |
| 928 | if (yych <= 'Z') { | 1040 | if (yych <= 'Z') { |
| 929 | if (yych <= '/') goto yy115; | 1041 | if (yych <= '/') goto yy121; |
| 930 | if (yych <= '9') { | 1042 | if (yych <= '9') { |
| 931 | yyt1 = YYCURSOR; | 1043 | yyt1 = YYCURSOR; |
| 932 | goto yy127; | 1044 | goto yy133; |
| 933 | } | 1045 | } |
| 934 | if (yych >= 'A') { | 1046 | if (yych >= 'A') { |
| 935 | yyt1 = YYCURSOR; | 1047 | yyt1 = YYCURSOR; |
| 936 | goto yy130; | 1048 | goto yy136; |
| 937 | } | 1049 | } |
| 938 | } else { | 1050 | } else { |
| 939 | if (yych <= '_') { | 1051 | if (yych <= '_') { |
| 940 | if (yych >= '_') { | 1052 | if (yych >= '_') { |
| 941 | yyt1 = YYCURSOR; | 1053 | yyt1 = YYCURSOR; |
| 942 | goto yy130; | 1054 | goto yy136; |
| 943 | } | 1055 | } |
| 944 | } else { | 1056 | } else { |
| 945 | if (yych <= '`') goto yy115; | 1057 | if (yych <= '`') goto yy121; |
| 946 | if (yych <= 'z') { | 1058 | if (yych <= 'z') { |
| 947 | yyt1 = YYCURSOR; | 1059 | yyt1 = YYCURSOR; |
| 948 | goto yy130; | 1060 | goto yy136; |
| 949 | } | 1061 | } |
| 950 | } | 1062 | } |
| 951 | } | 1063 | } |
| 952 | } | 1064 | } |
| 953 | yy115: | 1065 | yy121: |
| 954 | ++YYCURSOR; | 1066 | ++YYCURSOR; |
| 955 | yy116: | 1067 | yy122: |
| 956 | { cs_log_error("Syntax error in condition on line %d", lineno); goto out; } | 1068 | { cs_log_error("Syntax error in condition on line %d", lineno); goto out; } |
| 957 | yy117: | 1069 | yy123: |
| 958 | yych = *++YYCURSOR; | 1070 | yych = *++YYCURSOR; |
| 959 | if (yybm[0+yych] & 8) { | 1071 | if (yybm[0+yych] & 8) { |
| 960 | goto yy117; | 1072 | goto yy123; |
| 961 | } | 1073 | } |
| 962 | { goto yyc_cond; } | 1074 | { goto yyc_cond; } |
| 963 | yy120: | 1075 | yy126: |
| 964 | ++YYCURSOR; | 1076 | ++YYCURSOR; |
| 965 | { lineno++; goto yyc_cond; } | 1077 | { lineno++; goto yyc_cond; } |
| 966 | yy122: | 1078 | yy128: |
| 967 | yych = *++YYCURSOR; | 1079 | yych = *++YYCURSOR; |
| 968 | if (yych == '\n') goto yy120; | 1080 | if (yych == '\n') goto yy126; |
| 969 | goto yy116; | 1081 | goto yy122; |
| 970 | yy123: | 1082 | yy129: |
| 971 | ++YYCURSOR; | 1083 | ++YYCURSOR; |
| 972 | t1 = YYCURSOR - 1; | 1084 | t1 = YYCURSOR - 1; |
| 973 | { sy_op_push(*t1); goto yyc_cond; } | 1085 | { sy_op_push(*t1); goto yyc_cond; } |
| 974 | yy125: | 1086 | yy131: |
| 975 | ++YYCURSOR; | 1087 | ++YYCURSOR; |
| 976 | t1 = YYCURSOR - 1; | 1088 | t1 = YYCURSOR - 1; |
| 977 | { sy_op_push(*t1); goto yyc_cond; } | 1089 | { sy_op_push(*t1); goto yyc_cond; } |
| 978 | yy127: | 1090 | yy133: |
| 979 | yych = *++YYCURSOR; | 1091 | yych = *++YYCURSOR; |
| 980 | if (yybm[0+yych] & 16) { | 1092 | if (yybm[0+yych] & 16) { |
| 981 | goto yy127; | 1093 | goto yy133; |
| 982 | } | 1094 | } |
| 983 | t1 = yyt1; | 1095 | t1 = yyt1; |
| 984 | t2 = YYCURSOR; | 1096 | t2 = YYCURSOR; |
| 985 | { sy_res_push(atoi(t1)); goto yyc_cond_op; } | 1097 | { sy_res_push(atoi(t1)); goto yyc_cond_op; } |
| 986 | yy130: | 1098 | yy136: |
| 987 | yyaccept = 0; | 1099 | yyaccept = 0; |
| 988 | yych = *(YYMARKER = ++YYCURSOR); | 1100 | yych = *(YYMARKER = ++YYCURSOR); |
| 989 | if (yybm[0+yych] & 32) { | 1101 | if (yybm[0+yych] & 32) { |
| 990 | goto yy130; | 1102 | goto yy136; |
| 991 | } | 1103 | } |
| 992 | if (yych == '(') goto yy133; | 1104 | if (yych == '(') goto yy139; |
| 993 | yy132: | 1105 | yy138: |
| 994 | t1 = yyt1; | 1106 | t1 = yyt1; |
| 995 | t2 = YYCURSOR; | 1107 | t2 = YYCURSOR; |
| 996 | { | 1108 | { |
| @@ -1002,34 +1114,34 @@ yy132: | |||
| 1002 | sy_res_push(atoi(ZSTR_VAL(tmp))); | 1114 | sy_res_push(atoi(ZSTR_VAL(tmp))); |
| 1003 | goto yyc_cond_op; | 1115 | goto yyc_cond_op; |
| 1004 | } | 1116 | } |
| 1005 | yy133: | 1117 | yy139: |
| 1006 | yych = *++YYCURSOR; | 1118 | yych = *++YYCURSOR; |
| 1007 | if (yych == '"') { | 1119 | if (yych == '"') { |
| 1008 | yyt2 = YYCURSOR; | 1120 | yyt2 = YYCURSOR; |
| 1009 | goto yy135; | 1121 | goto yy141; |
| 1010 | } | 1122 | } |
| 1011 | if (yych == ')') { | 1123 | if (yych == ')') { |
| 1012 | yyt2 = YYCURSOR; | 1124 | yyt2 = YYCURSOR; |
| 1013 | goto yy137; | 1125 | goto yy143; |
| 1014 | } | 1126 | } |
| 1015 | yy134: | 1127 | yy140: |
| 1016 | YYCURSOR = YYMARKER; | 1128 | YYCURSOR = YYMARKER; |
| 1017 | if (yyaccept == 0) { | 1129 | if (yyaccept == 0) { |
| 1018 | goto yy132; | ||
| 1019 | } else { | ||
| 1020 | goto yy138; | 1130 | goto yy138; |
| 1131 | } else { | ||
| 1132 | goto yy144; | ||
| 1021 | } | 1133 | } |
| 1022 | yy135: | 1134 | yy141: |
| 1023 | yych = *++YYCURSOR; | 1135 | yych = *++YYCURSOR; |
| 1024 | if (yybm[0+yych] & 64) { | 1136 | if (yybm[0+yych] & 64) { |
| 1025 | goto yy135; | 1137 | goto yy141; |
| 1026 | } | 1138 | } |
| 1027 | if (yych <= '\r') goto yy134; | 1139 | if (yych <= '\r') goto yy140; |
| 1028 | if (yych <= '"') goto yy139; | 1140 | if (yych <= '"') goto yy145; |
| 1029 | goto yy140; | 1141 | goto yy146; |
| 1030 | yy137: | 1142 | yy143: |
| 1031 | ++YYCURSOR; | 1143 | ++YYCURSOR; |
| 1032 | yy138: | 1144 | yy144: |
| 1033 | t1 = yyt1; | 1145 | t1 = yyt1; |
| 1034 | t3 = yyt2; | 1146 | t3 = yyt2; |
| 1035 | t2 = yyt2 - 1; | 1147 | t2 = yyt2 - 1; |
| @@ -1044,41 +1156,41 @@ yy138: | |||
| 1044 | } | 1156 | } |
| 1045 | goto yyc_cond_op; | 1157 | goto yyc_cond_op; |
| 1046 | } | 1158 | } |
| 1047 | yy139: | 1159 | yy145: |
| 1048 | yych = *++YYCURSOR; | 1160 | yych = *++YYCURSOR; |
| 1049 | if (yych == ')') goto yy137; | 1161 | if (yych == ')') goto yy143; |
| 1050 | goto yy134; | 1162 | goto yy140; |
| 1051 | yy140: | 1163 | yy146: |
| 1052 | yych = *++YYCURSOR; | 1164 | yych = *++YYCURSOR; |
| 1053 | if (yybm[0+yych] & 64) { | 1165 | if (yybm[0+yych] & 64) { |
| 1054 | goto yy135; | 1166 | goto yy141; |
| 1055 | } | 1167 | } |
| 1056 | if (yych <= '\r') goto yy134; | 1168 | if (yych <= '\r') goto yy140; |
| 1057 | if (yych >= '#') goto yy140; | 1169 | if (yych >= '#') goto yy146; |
| 1058 | yych = *++YYCURSOR; | 1170 | yych = *++YYCURSOR; |
| 1059 | if (yybm[0+yych] & 128) { | 1171 | if (yybm[0+yych] & 128) { |
| 1060 | goto yy140; | 1172 | goto yy146; |
| 1061 | } | 1173 | } |
| 1062 | if (yych <= '\r') { | 1174 | if (yych <= '\r') { |
| 1063 | if (yych == '\n') goto yy134; | 1175 | if (yych == '\n') goto yy140; |
| 1064 | if (yych <= '\f') goto yy135; | 1176 | if (yych <= '\f') goto yy141; |
| 1065 | goto yy134; | 1177 | goto yy140; |
| 1066 | } else { | 1178 | } else { |
| 1067 | if (yych <= '"') { | 1179 | if (yych <= '"') { |
| 1068 | if (yych <= '!') goto yy135; | 1180 | if (yych <= '!') goto yy141; |
| 1069 | goto yy139; | 1181 | goto yy145; |
| 1070 | } else { | 1182 | } else { |
| 1071 | if (yych != ')') goto yy135; | 1183 | if (yych != ')') goto yy141; |
| 1072 | } | 1184 | } |
| 1073 | } | 1185 | } |
| 1074 | yyaccept = 1; | 1186 | yyaccept = 1; |
| 1075 | yych = *(YYMARKER = ++YYCURSOR); | 1187 | yych = *(YYMARKER = ++YYCURSOR); |
| 1076 | if (yybm[0+yych] & 64) { | 1188 | if (yybm[0+yych] & 64) { |
| 1077 | goto yy135; | 1189 | goto yy141; |
| 1078 | } | 1190 | } |
| 1079 | if (yych <= '\r') goto yy138; | 1191 | if (yych <= '\r') goto yy144; |
| 1080 | if (yych <= '"') goto yy139; | 1192 | if (yych <= '"') goto yy145; |
| 1081 | goto yy140; | 1193 | goto yy146; |
| 1082 | } | 1194 | } |
| 1083 | /* *********************************** */ | 1195 | /* *********************************** */ |
| 1084 | yyc_cond_op: | 1196 | yyc_cond_op: |
| @@ -1119,63 +1231,63 @@ yyc_cond_op: | |||
| 1119 | }; | 1231 | }; |
| 1120 | yych = *YYCURSOR; | 1232 | yych = *YYCURSOR; |
| 1121 | if (yybm[0+yych] & 128) { | 1233 | if (yybm[0+yych] & 128) { |
| 1122 | goto yy148; | 1234 | goto yy154; |
| 1123 | } | 1235 | } |
| 1124 | if (yych <= ')') { | 1236 | if (yych <= ')') { |
| 1125 | if (yych <= '\r') { | 1237 | if (yych <= '\r') { |
| 1126 | if (yych <= 0x08) goto yy146; | 1238 | if (yych <= 0x08) goto yy152; |
| 1127 | if (yych <= '\n') goto yy151; | 1239 | if (yych <= '\n') goto yy157; |
| 1128 | if (yych >= '\r') goto yy153; | 1240 | if (yych >= '\r') goto yy159; |
| 1129 | } else { | 1241 | } else { |
| 1130 | if (yych == '&') { | 1242 | if (yych == '&') { |
| 1131 | yyt1 = YYCURSOR; | 1243 | yyt1 = YYCURSOR; |
| 1132 | goto yy154; | 1244 | goto yy160; |
| 1133 | } | 1245 | } |
| 1134 | if (yych >= ')') goto yy155; | 1246 | if (yych >= ')') goto yy161; |
| 1135 | } | 1247 | } |
| 1136 | } else { | 1248 | } else { |
| 1137 | if (yych <= '=') { | 1249 | if (yych <= '=') { |
| 1138 | if (yych <= ':') goto yy146; | 1250 | if (yych <= ':') goto yy152; |
| 1139 | if (yych <= ';') goto yy157; | 1251 | if (yych <= ';') goto yy163; |
| 1140 | if (yych <= '<') { | 1252 | if (yych <= '<') { |
| 1141 | yyt1 = YYCURSOR; | 1253 | yyt1 = YYCURSOR; |
| 1142 | goto yy159; | 1254 | goto yy165; |
| 1143 | } | 1255 | } |
| 1144 | yyt1 = YYCURSOR; | 1256 | yyt1 = YYCURSOR; |
| 1145 | goto yy161; | 1257 | goto yy167; |
| 1146 | } else { | 1258 | } else { |
| 1147 | if (yych <= '>') { | 1259 | if (yych <= '>') { |
| 1148 | yyt1 = YYCURSOR; | 1260 | yyt1 = YYCURSOR; |
| 1149 | goto yy159; | 1261 | goto yy165; |
| 1150 | } | 1262 | } |
| 1151 | if (yych == '|') { | 1263 | if (yych == '|') { |
| 1152 | yyt1 = YYCURSOR; | 1264 | yyt1 = YYCURSOR; |
| 1153 | goto yy162; | 1265 | goto yy168; |
| 1154 | } | 1266 | } |
| 1155 | } | 1267 | } |
| 1156 | } | 1268 | } |
| 1157 | yy146: | 1269 | yy152: |
| 1158 | ++YYCURSOR; | 1270 | ++YYCURSOR; |
| 1159 | yy147: | 1271 | yy153: |
| 1160 | { cs_log_error("Syntax error in condition on line %d", lineno); goto out; } | 1272 | { cs_log_error("Syntax error in condition on line %d", lineno); goto out; } |
| 1161 | yy148: | 1273 | yy154: |
| 1162 | yych = *++YYCURSOR; | 1274 | yych = *++YYCURSOR; |
| 1163 | if (yybm[0+yych] & 128) { | 1275 | if (yybm[0+yych] & 128) { |
| 1164 | goto yy148; | 1276 | goto yy154; |
| 1165 | } | 1277 | } |
| 1166 | { goto yyc_cond_op; } | 1278 | { goto yyc_cond_op; } |
| 1167 | yy151: | 1279 | yy157: |
| 1168 | ++YYCURSOR; | 1280 | ++YYCURSOR; |
| 1169 | { lineno++; goto yyc_cond_op; } | 1281 | { lineno++; goto yyc_cond_op; } |
| 1170 | yy153: | 1282 | yy159: |
| 1171 | yych = *++YYCURSOR; | 1283 | yych = *++YYCURSOR; |
| 1172 | if (yych == '\n') goto yy151; | 1284 | if (yych == '\n') goto yy157; |
| 1173 | goto yy147; | 1285 | goto yy153; |
| 1174 | yy154: | 1286 | yy160: |
| 1175 | yych = *++YYCURSOR; | 1287 | yych = *++YYCURSOR; |
| 1176 | if (yych == '&') goto yy163; | 1288 | if (yych == '&') goto yy169; |
| 1177 | goto yy147; | 1289 | goto yy153; |
| 1178 | yy155: | 1290 | yy161: |
| 1179 | ++YYCURSOR; | 1291 | ++YYCURSOR; |
| 1180 | { | 1292 | { |
| 1181 | while (cond_op_i && sy_op_peek() != '(') { | 1293 | while (cond_op_i && sy_op_peek() != '(') { |
| @@ -1187,7 +1299,7 @@ yy155: | |||
| 1187 | cond_op_i--; | 1299 | cond_op_i--; |
| 1188 | goto yyc_cond_op; | 1300 | goto yyc_cond_op; |
| 1189 | } | 1301 | } |
| 1190 | yy157: | 1302 | yy163: |
| 1191 | ++YYCURSOR; | 1303 | ++YYCURSOR; |
| 1192 | { | 1304 | { |
| 1193 | while (cond_op_i) { | 1305 | while (cond_op_i) { |
| @@ -1197,10 +1309,10 @@ yy157: | |||
| 1197 | if (cond_res_i > 1) { cs_log_error("invalid condition on line %d", lineno); goto out; } | 1309 | if (cond_res_i > 1) { cs_log_error("invalid condition on line %d", lineno); goto out; } |
| 1198 | goto yyc_init; | 1310 | goto yyc_init; |
| 1199 | } | 1311 | } |
| 1200 | yy159: | 1312 | yy165: |
| 1201 | yych = *++YYCURSOR; | 1313 | yych = *++YYCURSOR; |
| 1202 | if (yych == '=') goto yy163; | 1314 | if (yych == '=') goto yy169; |
| 1203 | yy160: | 1315 | yy166: |
| 1204 | t1 = yyt1; | 1316 | t1 = yyt1; |
| 1205 | t2 = YYCURSOR; | 1317 | t2 = YYCURSOR; |
| 1206 | { | 1318 | { |
| @@ -1217,16 +1329,16 @@ yy160: | |||
| 1217 | sy_op_push(*t1); | 1329 | sy_op_push(*t1); |
| 1218 | goto yyc_cond; | 1330 | goto yyc_cond; |
| 1219 | } | 1331 | } |
| 1220 | yy161: | 1332 | yy167: |
| 1221 | yych = *++YYCURSOR; | 1333 | yych = *++YYCURSOR; |
| 1222 | if (yych == '=') goto yy163; | 1334 | if (yych == '=') goto yy169; |
| 1223 | goto yy147; | 1335 | goto yy153; |
| 1224 | yy162: | 1336 | yy168: |
| 1225 | yych = *++YYCURSOR; | 1337 | yych = *++YYCURSOR; |
| 1226 | if (yych != '|') goto yy147; | 1338 | if (yych != '|') goto yy153; |
| 1227 | yy163: | 1339 | yy169: |
| 1228 | ++YYCURSOR; | 1340 | ++YYCURSOR; |
| 1229 | goto yy160; | 1341 | goto yy166; |
| 1230 | } | 1342 | } |
| 1231 | /* *********************************** */ | 1343 | /* *********************************** */ |
| 1232 | yyc_rule: | 1344 | yyc_rule: |
| @@ -1267,77 +1379,77 @@ yyc_rule: | |||
| 1267 | }; | 1379 | }; |
| 1268 | yych = *YYCURSOR; | 1380 | yych = *YYCURSOR; |
| 1269 | if (yybm[0+yych] & 8) { | 1381 | if (yybm[0+yych] & 8) { |
| 1270 | goto yy168; | 1382 | goto yy174; |
| 1271 | } | 1383 | } |
| 1272 | if (yych <= '\r') { | 1384 | if (yych <= '\r') { |
| 1273 | if (yych <= 0x08) goto yy166; | 1385 | if (yych <= 0x08) goto yy172; |
| 1274 | if (yych <= '\n') goto yy171; | 1386 | if (yych <= '\n') goto yy177; |
| 1275 | if (yych >= '\r') goto yy172; | 1387 | if (yych >= '\r') goto yy178; |
| 1276 | } else { | 1388 | } else { |
| 1277 | if (yych <= '.') { | 1389 | if (yych <= '.') { |
| 1278 | if (yych >= '.') goto yy173; | 1390 | if (yych >= '.') goto yy179; |
| 1279 | } else { | 1391 | } else { |
| 1280 | if (yych == ';') goto yy174; | 1392 | if (yych == ';') goto yy180; |
| 1281 | } | 1393 | } |
| 1282 | } | 1394 | } |
| 1283 | yy166: | 1395 | yy172: |
| 1284 | ++YYCURSOR; | 1396 | ++YYCURSOR; |
| 1285 | yy167: | 1397 | yy173: |
| 1286 | { goto end_of_rule; } | 1398 | { goto end_of_rule; } |
| 1287 | yy168: | 1399 | yy174: |
| 1288 | yych = *++YYCURSOR; | 1400 | yych = *++YYCURSOR; |
| 1289 | if (yybm[0+yych] & 8) { | 1401 | if (yybm[0+yych] & 8) { |
| 1290 | goto yy168; | 1402 | goto yy174; |
| 1291 | } | 1403 | } |
| 1292 | { goto yyc_rule; } | 1404 | { goto yyc_rule; } |
| 1293 | yy171: | 1405 | yy177: |
| 1294 | yyaccept = 0; | 1406 | yyaccept = 0; |
| 1295 | yych = *(YYMARKER = ++YYCURSOR); | 1407 | yych = *(YYMARKER = ++YYCURSOR); |
| 1296 | if (yych <= '\r') { | 1408 | if (yych <= '\r') { |
| 1297 | if (yych <= 0x08) goto yy167; | 1409 | if (yych <= 0x08) goto yy173; |
| 1298 | if (yych <= '\n') { | 1410 | if (yych <= '\n') { |
| 1299 | yyt1 = YYCURSOR; | 1411 | yyt1 = YYCURSOR; |
| 1300 | goto yy176; | 1412 | goto yy182; |
| 1301 | } | 1413 | } |
| 1302 | if (yych <= '\f') goto yy167; | 1414 | if (yych <= '\f') goto yy173; |
| 1303 | yyt1 = YYCURSOR; | 1415 | yyt1 = YYCURSOR; |
| 1304 | goto yy179; | 1416 | goto yy185; |
| 1305 | } else { | 1417 | } else { |
| 1306 | if (yych <= ' ') { | 1418 | if (yych <= ' ') { |
| 1307 | if (yych <= 0x1F) goto yy167; | 1419 | if (yych <= 0x1F) goto yy173; |
| 1308 | yyt1 = YYCURSOR; | 1420 | yyt1 = YYCURSOR; |
| 1309 | goto yy176; | 1421 | goto yy182; |
| 1310 | } else { | 1422 | } else { |
| 1311 | if (yych == '.') { | 1423 | if (yych == '.') { |
| 1312 | yyt1 = YYCURSOR; | 1424 | yyt1 = YYCURSOR; |
| 1313 | goto yy180; | 1425 | goto yy186; |
| 1314 | } | 1426 | } |
| 1315 | goto yy167; | 1427 | goto yy173; |
| 1316 | } | 1428 | } |
| 1317 | } | 1429 | } |
| 1318 | yy172: | 1430 | yy178: |
| 1319 | yyaccept = 0; | 1431 | yyaccept = 0; |
| 1320 | yych = *(YYMARKER = ++YYCURSOR); | 1432 | yych = *(YYMARKER = ++YYCURSOR); |
| 1321 | if (yych == '\n') goto yy182; | 1433 | if (yych == '\n') goto yy188; |
| 1322 | goto yy167; | 1434 | goto yy173; |
| 1323 | yy173: | 1435 | yy179: |
| 1324 | yych = *++YYCURSOR; | 1436 | yych = *++YYCURSOR; |
| 1325 | if (yych <= '^') { | 1437 | if (yych <= '^') { |
| 1326 | if (yych <= '@') goto yy167; | 1438 | if (yych <= '@') goto yy173; |
| 1327 | if (yych <= 'Z') { | 1439 | if (yych <= 'Z') { |
| 1328 | yyt1 = YYCURSOR; | 1440 | yyt1 = YYCURSOR; |
| 1329 | goto yy183; | 1441 | goto yy189; |
| 1330 | } | 1442 | } |
| 1331 | goto yy167; | 1443 | goto yy173; |
| 1332 | } else { | 1444 | } else { |
| 1333 | if (yych == '`') goto yy167; | 1445 | if (yych == '`') goto yy173; |
| 1334 | if (yych <= 'z') { | 1446 | if (yych <= 'z') { |
| 1335 | yyt1 = YYCURSOR; | 1447 | yyt1 = YYCURSOR; |
| 1336 | goto yy183; | 1448 | goto yy189; |
| 1337 | } | 1449 | } |
| 1338 | goto yy167; | 1450 | goto yy173; |
| 1339 | } | 1451 | } |
| 1340 | yy174: | 1452 | yy180: |
| 1341 | ++YYCURSOR; | 1453 | ++YYCURSOR; |
| 1342 | { | 1454 | { |
| 1343 | end_of_rule: | 1455 | end_of_rule: |
| @@ -1348,71 +1460,71 @@ yy174: | |||
| 1348 | } | 1460 | } |
| 1349 | goto yyc_init; | 1461 | goto yyc_init; |
| 1350 | } | 1462 | } |
| 1351 | yy176: | 1463 | yy182: |
| 1352 | yych = *++YYCURSOR; | 1464 | yych = *++YYCURSOR; |
| 1353 | if (yybm[0+yych] & 16) { | 1465 | if (yybm[0+yych] & 16) { |
| 1354 | goto yy176; | 1466 | goto yy182; |
| 1355 | } | 1467 | } |
| 1356 | if (yych == '\r') goto yy179; | 1468 | if (yych == '\r') goto yy185; |
| 1357 | if (yych == '.') goto yy180; | 1469 | if (yych == '.') goto yy186; |
| 1358 | yy178: | 1470 | yy184: |
| 1359 | YYCURSOR = YYMARKER; | 1471 | YYCURSOR = YYMARKER; |
| 1360 | if (yyaccept <= 1) { | 1472 | if (yyaccept <= 1) { |
| 1361 | if (yyaccept == 0) { | 1473 | if (yyaccept == 0) { |
| 1362 | goto yy167; | 1474 | goto yy173; |
| 1363 | } else { | 1475 | } else { |
| 1364 | yyt3 = yyt4 = NULL; | 1476 | yyt3 = yyt4 = NULL; |
| 1365 | yyt2 = YYCURSOR; | 1477 | yyt2 = YYCURSOR; |
| 1366 | goto yy185; | 1478 | goto yy191; |
| 1367 | } | 1479 | } |
| 1368 | } else { | 1480 | } else { |
| 1369 | goto yy185; | 1481 | goto yy191; |
| 1370 | } | 1482 | } |
| 1371 | yy179: | 1483 | yy185: |
| 1372 | yych = *++YYCURSOR; | 1484 | yych = *++YYCURSOR; |
| 1373 | if (yych == '\n') goto yy176; | 1485 | if (yych == '\n') goto yy182; |
| 1374 | goto yy178; | 1486 | goto yy184; |
| 1375 | yy180: | 1487 | yy186: |
| 1376 | ++YYCURSOR; | 1488 | ++YYCURSOR; |
| 1377 | YYCURSOR = yyt1; | 1489 | YYCURSOR = yyt1; |
| 1378 | { lineno++; goto yyc_rule; } | 1490 | { lineno++; goto yyc_rule; } |
| 1379 | yy182: | 1491 | yy188: |
| 1380 | yych = *++YYCURSOR; | 1492 | yych = *++YYCURSOR; |
| 1381 | if (yych <= '\r') { | 1493 | if (yych <= '\r') { |
| 1382 | if (yych <= 0x08) goto yy178; | 1494 | if (yych <= 0x08) goto yy184; |
| 1383 | if (yych <= '\n') { | 1495 | if (yych <= '\n') { |
| 1384 | yyt1 = YYCURSOR; | 1496 | yyt1 = YYCURSOR; |
| 1385 | goto yy176; | 1497 | goto yy182; |
| 1386 | } | 1498 | } |
| 1387 | if (yych <= '\f') goto yy178; | 1499 | if (yych <= '\f') goto yy184; |
| 1388 | yyt1 = YYCURSOR; | 1500 | yyt1 = YYCURSOR; |
| 1389 | goto yy179; | 1501 | goto yy185; |
| 1390 | } else { | 1502 | } else { |
| 1391 | if (yych <= ' ') { | 1503 | if (yych <= ' ') { |
| 1392 | if (yych <= 0x1F) goto yy178; | 1504 | if (yych <= 0x1F) goto yy184; |
| 1393 | yyt1 = YYCURSOR; | 1505 | yyt1 = YYCURSOR; |
| 1394 | goto yy176; | 1506 | goto yy182; |
| 1395 | } else { | 1507 | } else { |
| 1396 | if (yych == '.') { | 1508 | if (yych == '.') { |
| 1397 | yyt1 = YYCURSOR; | 1509 | yyt1 = YYCURSOR; |
| 1398 | goto yy180; | 1510 | goto yy186; |
| 1399 | } | 1511 | } |
| 1400 | goto yy178; | 1512 | goto yy184; |
| 1401 | } | 1513 | } |
| 1402 | } | 1514 | } |
| 1403 | yy183: | 1515 | yy189: |
| 1404 | yyaccept = 1; | 1516 | yyaccept = 1; |
| 1405 | yych = *(YYMARKER = ++YYCURSOR); | 1517 | yych = *(YYMARKER = ++YYCURSOR); |
| 1406 | if (yybm[0+yych] & 32) { | 1518 | if (yybm[0+yych] & 32) { |
| 1407 | goto yy183; | 1519 | goto yy189; |
| 1408 | } | 1520 | } |
| 1409 | if (yych == '(') { | 1521 | if (yych == '(') { |
| 1410 | yyt2 = YYCURSOR; | 1522 | yyt2 = YYCURSOR; |
| 1411 | goto yy186; | 1523 | goto yy192; |
| 1412 | } | 1524 | } |
| 1413 | yyt3 = yyt4 = NULL; | 1525 | yyt3 = yyt4 = NULL; |
| 1414 | yyt2 = YYCURSOR; | 1526 | yyt2 = YYCURSOR; |
| 1415 | yy185: | 1527 | yy191: |
| 1416 | t1 = yyt1; | 1528 | t1 = yyt1; |
| 1417 | t2 = yyt2; | 1529 | t2 = yyt2; |
| 1418 | t3 = yyt3; | 1530 | t3 = yyt3; |
| @@ -1447,110 +1559,110 @@ yy185: | |||
| 1447 | parsed_rule[kw_i++] = kw; | 1559 | parsed_rule[kw_i++] = kw; |
| 1448 | goto yyc_rule; | 1560 | goto yyc_rule; |
| 1449 | } | 1561 | } |
| 1450 | yy186: | 1562 | yy192: |
| 1451 | yych = *++YYCURSOR; | 1563 | yych = *++YYCURSOR; |
| 1452 | if (yych <= '@') { | 1564 | if (yych <= '@') { |
| 1453 | if (yych <= '"') { | 1565 | if (yych <= '"') { |
| 1454 | if (yych <= '!') goto yy178; | 1566 | if (yych <= '!') goto yy184; |
| 1455 | yyt3 = YYCURSOR; | 1567 | yyt3 = YYCURSOR; |
| 1456 | } else { | 1568 | } else { |
| 1457 | if (yych == ')') { | 1569 | if (yych == ')') { |
| 1458 | yyt3 = yyt4 = YYCURSOR; | 1570 | yyt3 = yyt4 = YYCURSOR; |
| 1459 | goto yy189; | 1571 | goto yy195; |
| 1460 | } | 1572 | } |
| 1461 | goto yy178; | 1573 | goto yy184; |
| 1462 | } | 1574 | } |
| 1463 | } else { | 1575 | } else { |
| 1464 | if (yych <= '_') { | 1576 | if (yych <= '_') { |
| 1465 | if (yych <= 'Z') { | 1577 | if (yych <= 'Z') { |
| 1466 | yyt3 = YYCURSOR; | 1578 | yyt3 = YYCURSOR; |
| 1467 | goto yy190; | 1579 | goto yy196; |
| 1468 | } | 1580 | } |
| 1469 | if (yych <= '^') goto yy178; | 1581 | if (yych <= '^') goto yy184; |
| 1470 | yyt3 = YYCURSOR; | 1582 | yyt3 = YYCURSOR; |
| 1471 | goto yy190; | 1583 | goto yy196; |
| 1472 | } else { | 1584 | } else { |
| 1473 | if (yych <= '`') goto yy178; | 1585 | if (yych <= '`') goto yy184; |
| 1474 | if (yych <= 'z') { | 1586 | if (yych <= 'z') { |
| 1475 | yyt3 = YYCURSOR; | 1587 | yyt3 = YYCURSOR; |
| 1476 | goto yy190; | 1588 | goto yy196; |
| 1477 | } | 1589 | } |
| 1478 | goto yy178; | 1590 | goto yy184; |
| 1479 | } | 1591 | } |
| 1480 | } | 1592 | } |
| 1481 | yy187: | 1593 | yy193: |
| 1482 | yych = *++YYCURSOR; | 1594 | yych = *++YYCURSOR; |
| 1483 | if (yybm[0+yych] & 64) { | 1595 | if (yybm[0+yych] & 64) { |
| 1484 | goto yy187; | 1596 | goto yy193; |
| 1485 | } | 1597 | } |
| 1486 | if (yych <= '\r') goto yy178; | 1598 | if (yych <= '\r') goto yy184; |
| 1487 | if (yych <= '"') goto yy192; | 1599 | if (yych <= '"') goto yy198; |
| 1488 | goto yy193; | 1600 | goto yy199; |
| 1489 | yy189: | 1601 | yy195: |
| 1490 | ++YYCURSOR; | 1602 | ++YYCURSOR; |
| 1491 | goto yy185; | 1603 | goto yy191; |
| 1492 | yy190: | 1604 | yy196: |
| 1493 | yych = *++YYCURSOR; | 1605 | yych = *++YYCURSOR; |
| 1494 | if (yych <= '@') { | 1606 | if (yych <= '@') { |
| 1495 | if (yych <= ')') { | 1607 | if (yych <= ')') { |
| 1496 | if (yych <= '(') goto yy178; | 1608 | if (yych <= '(') goto yy184; |
| 1497 | yyt4 = YYCURSOR; | 1609 | yyt4 = YYCURSOR; |
| 1498 | goto yy189; | 1610 | goto yy195; |
| 1499 | } else { | 1611 | } else { |
| 1500 | if (yych <= '/') goto yy178; | 1612 | if (yych <= '/') goto yy184; |
| 1501 | if (yych <= '9') goto yy190; | 1613 | if (yych <= '9') goto yy196; |
| 1502 | goto yy178; | 1614 | goto yy184; |
| 1503 | } | 1615 | } |
| 1504 | } else { | 1616 | } else { |
| 1505 | if (yych <= '_') { | 1617 | if (yych <= '_') { |
| 1506 | if (yych <= 'Z') goto yy190; | 1618 | if (yych <= 'Z') goto yy196; |
| 1507 | if (yych <= '^') goto yy178; | 1619 | if (yych <= '^') goto yy184; |
| 1508 | goto yy190; | 1620 | goto yy196; |
| 1509 | } else { | 1621 | } else { |
| 1510 | if (yych <= '`') goto yy178; | 1622 | if (yych <= '`') goto yy184; |
| 1511 | if (yych <= 'z') goto yy190; | 1623 | if (yych <= 'z') goto yy196; |
| 1512 | goto yy178; | 1624 | goto yy184; |
| 1513 | } | 1625 | } |
| 1514 | } | 1626 | } |
| 1515 | yy192: | 1627 | yy198: |
| 1516 | yych = *++YYCURSOR; | 1628 | yych = *++YYCURSOR; |
| 1517 | if (yych == ')') { | 1629 | if (yych == ')') { |
| 1518 | yyt4 = YYCURSOR; | 1630 | yyt4 = YYCURSOR; |
| 1519 | goto yy189; | 1631 | goto yy195; |
| 1520 | } | 1632 | } |
| 1521 | goto yy178; | 1633 | goto yy184; |
| 1522 | yy193: | 1634 | yy199: |
| 1523 | yych = *++YYCURSOR; | 1635 | yych = *++YYCURSOR; |
| 1524 | if (yybm[0+yych] & 64) { | 1636 | if (yybm[0+yych] & 64) { |
| 1525 | goto yy187; | 1637 | goto yy193; |
| 1526 | } | 1638 | } |
| 1527 | if (yych <= '\r') goto yy178; | 1639 | if (yych <= '\r') goto yy184; |
| 1528 | if (yych >= '#') goto yy193; | 1640 | if (yych >= '#') goto yy199; |
| 1529 | yych = *++YYCURSOR; | 1641 | yych = *++YYCURSOR; |
| 1530 | if (yybm[0+yych] & 128) { | 1642 | if (yybm[0+yych] & 128) { |
| 1531 | goto yy193; | 1643 | goto yy199; |
| 1532 | } | 1644 | } |
| 1533 | if (yych <= '\r') { | 1645 | if (yych <= '\r') { |
| 1534 | if (yych == '\n') goto yy178; | 1646 | if (yych == '\n') goto yy184; |
| 1535 | if (yych <= '\f') goto yy187; | 1647 | if (yych <= '\f') goto yy193; |
| 1536 | goto yy178; | 1648 | goto yy184; |
| 1537 | } else { | 1649 | } else { |
| 1538 | if (yych <= '"') { | 1650 | if (yych <= '"') { |
| 1539 | if (yych <= '!') goto yy187; | 1651 | if (yych <= '!') goto yy193; |
| 1540 | goto yy192; | 1652 | goto yy198; |
| 1541 | } else { | 1653 | } else { |
| 1542 | if (yych != ')') goto yy187; | 1654 | if (yych != ')') goto yy193; |
| 1543 | yyt4 = YYCURSOR; | 1655 | yyt4 = YYCURSOR; |
| 1544 | } | 1656 | } |
| 1545 | } | 1657 | } |
| 1546 | yyaccept = 2; | 1658 | yyaccept = 2; |
| 1547 | yych = *(YYMARKER = ++YYCURSOR); | 1659 | yych = *(YYMARKER = ++YYCURSOR); |
| 1548 | if (yybm[0+yych] & 64) { | 1660 | if (yybm[0+yych] & 64) { |
| 1549 | goto yy187; | 1661 | goto yy193; |
| 1550 | } | 1662 | } |
| 1551 | if (yych <= '\r') goto yy185; | 1663 | if (yych <= '\r') goto yy191; |
| 1552 | if (yych <= '"') goto yy192; | 1664 | if (yych <= '"') goto yy198; |
| 1553 | goto yy193; | 1665 | goto yy199; |
| 1554 | } | 1666 | } |
| 1555 | } | 1667 | } |
| 1556 | 1668 | ||
diff --git a/src/sp_config_scanner.re b/src/sp_config_scanner.re index b0ee5d5..6b52b20 100644 --- a/src/sp_config_scanner.re +++ b/src/sp_config_scanner.re | |||
| @@ -182,6 +182,7 @@ zend_result sp_config_scan(char *data, zend_result (*process_rule)(sp_parsed_key | |||
| 182 | <init> "sp" { kw_i = 0; goto yyc_rule; } | 182 | <init> "sp" { kw_i = 0; goto yyc_rule; } |
| 183 | <init> end { ret = SUCCESS; goto out; } | 183 | <init> end { ret = SUCCESS; goto out; } |
| 184 | <init> "set" ws+ @t1 keyword @t2 ws+ @t3 string @t4 ws* ";"? { | 184 | <init> "set" ws+ @t1 keyword @t2 ws+ @t3 string @t4 ws* ";"? { |
| 185 | if (!cond_res[0]) { goto yyc_init; } | ||
| 185 | char *key = (char*)t1; | 186 | char *key = (char*)t1; |
| 186 | int keylen = t2-t1; | 187 | int keylen = t2-t1; |
| 187 | zend_string *tmp = zend_hash_str_find_ptr(&vars, key, keylen); | 188 | zend_string *tmp = zend_hash_str_find_ptr(&vars, key, keylen); |
| @@ -192,19 +193,22 @@ zend_result sp_config_scan(char *data, zend_result (*process_rule)(sp_parsed_key | |||
| 192 | zend_hash_str_add_ptr(&vars, key, keylen, tmp); | 193 | zend_hash_str_add_ptr(&vars, key, keylen, tmp); |
| 193 | goto yyc_init; | 194 | goto yyc_init; |
| 194 | } | 195 | } |
| 195 | <init> "@condition" ws+ { goto yyc_cond; } | 196 | <init> "@condition" ws+ { cond_res_i = 0; goto yyc_cond; } |
| 196 | <init> "@end_condition" ws* ";" { cond_res[0] = 1; goto yyc_init; } | 197 | <init> "@end_condition" ws* ";" { cond_res[0] = 1; cond_res_i = 0; goto yyc_init; } |
| 197 | <init> ( "@log" | "@info" ) ws+ @t1 string @t2 { | 198 | <init> ( "@log" | "@info" ) ws+ @t1 string @t2 ";"? { |
| 199 | if (!cond_res[0]) { goto yyc_init; } | ||
| 198 | TMPSTR(tmpstr, t2, t1); | 200 | TMPSTR(tmpstr, t2, t1); |
| 199 | cs_log_info("[line %d]: %s", lineno, tmpstr); | 201 | cs_log_info("[line %d]: %s", lineno, tmpstr); |
| 200 | goto yyc_init; | 202 | goto yyc_init; |
| 201 | } | 203 | } |
| 202 | <init> ( "@warn" | "@warning" ) ws+ @t1 string @t2 { | 204 | <init> ( "@warn" | "@warning" ) ws+ @t1 string @t2 ";"? { |
| 205 | if (!cond_res[0]) { goto yyc_init; } | ||
| 203 | TMPSTR(tmpstr, t2, t1); | 206 | TMPSTR(tmpstr, t2, t1); |
| 204 | cs_log_warning("[line %d]: %s", lineno, tmpstr); | 207 | cs_log_warning("[line %d]: %s", lineno, tmpstr); |
| 205 | goto yyc_init; | 208 | goto yyc_init; |
| 206 | } | 209 | } |
| 207 | <init> ( "@err" | "@error" ) ws+ @t1 string @t2 { | 210 | <init> ( "@err" | "@error" ) ws+ @t1 string @t2 ";"? { |
| 211 | if (!cond_res[0]) { goto yyc_init; } | ||
| 208 | TMPSTR(tmpstr, t2, t1); | 212 | TMPSTR(tmpstr, t2, t1); |
| 209 | cs_log_error("[line %d]: %s", lineno, tmpstr); | 213 | cs_log_error("[line %d]: %s", lineno, tmpstr); |
| 210 | goto out; | 214 | goto out; |
