Kouhei Sutou
null+****@clear*****
Sat Feb 20 18:44:21 JST 2016
Kouhei Sutou 2016-02-20 18:44:21 +0900 (Sat, 20 Feb 2016) New Revision: 1f28419cdc8ad2f58b1a75966c500a73b7a2db45 https://github.com/groonga/groonga/commit/1f28419cdc8ad2f58b1a75966c500a73b7a2db45 Message: Update auto generated files Modified files: lib/grn_ecmascript.c Modified: lib/grn_ecmascript.c (+428 -453) =================================================================== --- lib/grn_ecmascript.c 2016-02-20 18:44:12 +0900 (da72c07) +++ lib/grn_ecmascript.c 2016-02-20 18:44:21 +0900 (6ab1bed) @@ -102,16 +102,16 @@ typedef union { #define grn_expr_parserARG_PDECL , efs_info *efsi #define grn_expr_parserARG_FETCH efs_info *efsi = yypParser->efsi #define grn_expr_parserARG_STORE yypParser->efsi = efsi -#define YYNSTATE 143 -#define YYNRULE 134 -#define YY_MAX_SHIFT 142 -#define YY_MIN_SHIFTREDUCE 229 -#define YY_MAX_SHIFTREDUCE 362 -#define YY_MIN_REDUCE 363 -#define YY_MAX_REDUCE 496 -#define YY_ERROR_ACTION 497 -#define YY_ACCEPT_ACTION 498 -#define YY_NO_ACTION 499 +#define YYNSTATE 142 +#define YYNRULE 133 +#define YY_MAX_SHIFT 141 +#define YY_MIN_SHIFTREDUCE 227 +#define YY_MAX_SHIFTREDUCE 359 +#define YY_MIN_REDUCE 360 +#define YY_MAX_REDUCE 492 +#define YY_ERROR_ACTION 493 +#define YY_ACCEPT_ACTION 494 +#define YY_NO_ACTION 495 /************* End control #defines *******************************************/ /* The yyzerominor constant is used to initialize instances of @@ -185,217 +185,217 @@ static const YYMINORTYPE yyzerominor = { 0 }; *********** Begin parsing tables **********************************************/ #define YY_ACTTAB_COUNT (1759) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 3, 72, 112, 340, 134, 238, 2, 77, 81, 127, - /* 10 */ 1, 233, 70, 498, 78, 109, 129, 243, 233, 319, - /* 20 */ 244, 246, 88, 123, 122, 137, 136, 135, 117, 85, - /* 30 */ 100, 113, 101, 297, 301, 316, 74, 321, 324, 321, - /* 40 */ 324, 238, 73, 234, 81, 142, 9, 344, 70, 343, + /* 0 */ 3, 71, 112, 338, 133, 236, 2, 77, 81, 126, + /* 10 */ 1, 231, 70, 494, 78, 109, 128, 241, 231, 317, + /* 20 */ 242, 244, 88, 123, 122, 136, 135, 134, 117, 85, + /* 30 */ 100, 113, 101, 295, 299, 314, 74, 319, 322, 319, + /* 40 */ 322, 236, 73, 341, 81, 141, 9, 232, 70, 235, /* 50 */ 65, 64, 53, 52, 51, 68, 67, 66, 63, 62, - /* 60 */ 61, 60, 59, 58, 325, 326, 327, 328, 329, 4, - /* 70 */ 124, 69, 57, 56, 319, 244, 246, 88, 123, 122, - /* 80 */ 137, 136, 135, 117, 85, 100, 113, 101, 297, 301, - /* 90 */ 316, 74, 341, 134, 321, 324, 318, 320, 112, 340, - /* 100 */ 134, 238, 2, 237, 81, 127, 1, 107, 70, 77, - /* 110 */ 115, 359, 131, 233, 319, 244, 246, 88, 123, 122, - /* 120 */ 137, 136, 135, 117, 85, 100, 113, 101, 297, 301, - /* 130 */ 316, 74, 241, 7, 321, 324, 323, 71, 358, 131, - /* 140 */ 240, 333, 31, 30, 347, 236, 65, 64, 55, 54, - /* 150 */ 23, 68, 67, 66, 63, 62, 61, 60, 59, 58, - /* 160 */ 325, 326, 327, 328, 329, 4, 83, 82, 79, 238, - /* 170 */ 73, 239, 81, 142, 9, 322, 70, 65, 64, 354, - /* 180 */ 235, 28, 68, 67, 66, 63, 62, 61, 60, 59, - /* 190 */ 58, 325, 326, 327, 328, 329, 4, 108, 332, 355, - /* 200 */ 319, 356, 246, 88, 123, 122, 137, 136, 135, 117, - /* 210 */ 85, 100, 113, 101, 297, 301, 316, 74, 10, 7, - /* 220 */ 321, 324, 323, 71, 36, 35, 334, 6, 352, 319, - /* 230 */ 335, 246, 88, 123, 122, 137, 136, 135, 117, 85, - /* 240 */ 100, 113, 101, 297, 301, 316, 74, 365, 364, 321, - /* 250 */ 324, 11, 84, 7, 314, 315, 323, 71, 477, 478, - /* 260 */ 334, 5, 28, 65, 64, 338, 28, 75, 68, 67, - /* 270 */ 66, 63, 62, 61, 60, 59, 58, 325, 326, 327, - /* 280 */ 328, 329, 4, 331, 7, 80, 362, 323, 71, 128, - /* 290 */ 8, 333, 133, 242, 361, 28, 29, 65, 64, 366, - /* 300 */ 32, 24, 68, 67, 66, 63, 62, 61, 60, 59, - /* 310 */ 58, 325, 326, 327, 328, 329, 4, 330, 26, 130, - /* 320 */ 346, 34, 33, 345, 25, 365, 365, 365, 65, 64, - /* 330 */ 365, 365, 365, 68, 67, 66, 63, 62, 61, 60, - /* 340 */ 59, 58, 325, 326, 327, 328, 329, 4, 365, 365, - /* 350 */ 76, 319, 356, 246, 88, 123, 122, 137, 136, 135, - /* 360 */ 117, 85, 100, 113, 101, 297, 301, 316, 74, 365, - /* 370 */ 365, 321, 324, 365, 365, 365, 365, 365, 365, 353, - /* 380 */ 319, 349, 246, 88, 123, 122, 137, 136, 135, 117, - /* 390 */ 85, 100, 113, 101, 297, 301, 316, 74, 365, 365, - /* 400 */ 321, 324, 365, 365, 365, 365, 365, 111, 115, 365, - /* 410 */ 365, 365, 319, 244, 246, 88, 123, 122, 137, 136, - /* 420 */ 135, 117, 85, 100, 113, 101, 297, 301, 316, 74, - /* 430 */ 118, 365, 321, 324, 319, 244, 246, 88, 123, 122, - /* 440 */ 137, 136, 135, 117, 85, 100, 113, 101, 297, 301, - /* 450 */ 316, 74, 365, 7, 321, 324, 323, 71, 124, 365, - /* 460 */ 365, 365, 319, 244, 246, 88, 123, 122, 137, 136, - /* 470 */ 135, 117, 85, 100, 113, 101, 297, 301, 316, 74, - /* 480 */ 365, 7, 321, 324, 323, 71, 365, 365, 365, 365, - /* 490 */ 365, 365, 365, 365, 365, 365, 365, 65, 64, 365, - /* 500 */ 365, 365, 68, 67, 66, 63, 62, 61, 60, 59, - /* 510 */ 58, 126, 326, 125, 328, 329, 4, 365, 365, 365, - /* 520 */ 365, 365, 365, 365, 365, 65, 64, 365, 365, 365, - /* 530 */ 68, 67, 66, 63, 62, 61, 60, 59, 58, 325, - /* 540 */ 326, 327, 328, 329, 4, 319, 337, 246, 88, 123, - /* 550 */ 122, 137, 136, 135, 117, 85, 100, 113, 101, 297, - /* 560 */ 301, 316, 74, 365, 365, 321, 324, 319, 336, 246, - /* 570 */ 88, 123, 122, 137, 136, 135, 117, 85, 100, 113, - /* 580 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 319, - /* 590 */ 258, 246, 88, 123, 122, 137, 136, 135, 117, 85, - /* 600 */ 100, 113, 101, 297, 301, 316, 74, 365, 365, 321, - /* 610 */ 324, 365, 365, 319, 257, 246, 88, 123, 122, 137, - /* 620 */ 136, 135, 117, 85, 100, 113, 101, 297, 301, 316, - /* 630 */ 74, 365, 365, 321, 324, 319, 256, 246, 88, 123, - /* 640 */ 122, 137, 136, 135, 117, 85, 100, 113, 101, 297, - /* 650 */ 301, 316, 74, 365, 365, 321, 324, 319, 255, 246, - /* 660 */ 88, 123, 122, 137, 136, 135, 117, 85, 100, 113, - /* 670 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 319, - /* 680 */ 254, 246, 88, 123, 122, 137, 136, 135, 117, 85, - /* 690 */ 100, 113, 101, 297, 301, 316, 74, 365, 365, 321, - /* 700 */ 324, 319, 253, 246, 88, 123, 122, 137, 136, 135, - /* 710 */ 117, 85, 100, 113, 101, 297, 301, 316, 74, 365, - /* 720 */ 365, 321, 324, 319, 252, 246, 88, 123, 122, 137, - /* 730 */ 136, 135, 117, 85, 100, 113, 101, 297, 301, 316, - /* 740 */ 74, 365, 365, 321, 324, 319, 251, 246, 88, 123, - /* 750 */ 122, 137, 136, 135, 117, 85, 100, 113, 101, 297, - /* 760 */ 301, 316, 74, 365, 365, 321, 324, 319, 250, 246, - /* 770 */ 88, 123, 122, 137, 136, 135, 117, 85, 100, 113, - /* 780 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 319, - /* 790 */ 249, 246, 88, 123, 122, 137, 136, 135, 117, 85, - /* 800 */ 100, 113, 101, 297, 301, 316, 74, 365, 365, 321, - /* 810 */ 324, 319, 248, 246, 88, 123, 122, 137, 136, 135, - /* 820 */ 117, 85, 100, 113, 101, 297, 301, 316, 74, 365, - /* 830 */ 365, 321, 324, 319, 350, 246, 88, 123, 122, 137, - /* 840 */ 136, 135, 117, 85, 100, 113, 101, 297, 301, 316, - /* 850 */ 74, 365, 365, 321, 324, 319, 342, 246, 88, 123, - /* 860 */ 122, 137, 136, 135, 117, 85, 100, 113, 101, 297, - /* 870 */ 301, 316, 74, 365, 365, 321, 324, 319, 260, 246, - /* 880 */ 88, 123, 122, 137, 136, 135, 117, 85, 100, 113, - /* 890 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 319, - /* 900 */ 141, 246, 88, 123, 122, 137, 136, 135, 117, 85, - /* 910 */ 100, 113, 101, 297, 301, 316, 74, 365, 365, 321, - /* 920 */ 324, 319, 247, 246, 88, 123, 122, 137, 136, 135, - /* 930 */ 117, 85, 100, 113, 101, 297, 301, 316, 74, 365, - /* 940 */ 365, 321, 324, 319, 245, 246, 88, 123, 122, 137, - /* 950 */ 136, 135, 117, 85, 100, 113, 101, 297, 301, 316, - /* 960 */ 74, 365, 319, 321, 324, 119, 365, 110, 137, 136, - /* 970 */ 135, 117, 85, 100, 113, 101, 297, 301, 316, 74, - /* 980 */ 365, 319, 321, 324, 119, 365, 365, 132, 136, 135, - /* 990 */ 117, 85, 100, 113, 101, 297, 301, 316, 74, 365, - /* 1000 */ 365, 321, 324, 319, 365, 365, 119, 365, 365, 140, - /* 1010 */ 136, 135, 117, 85, 100, 113, 101, 297, 301, 316, - /* 1020 */ 74, 365, 365, 321, 324, 319, 365, 365, 119, 365, - /* 1030 */ 365, 365, 139, 135, 117, 85, 100, 113, 101, 297, - /* 1040 */ 301, 316, 74, 365, 365, 321, 324, 319, 365, 365, - /* 1050 */ 119, 365, 365, 365, 365, 138, 117, 85, 100, 113, - /* 1060 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 50, + /* 60 */ 61, 60, 59, 58, 323, 324, 325, 326, 327, 4, + /* 70 */ 124, 69, 57, 56, 317, 242, 244, 88, 123, 122, + /* 80 */ 136, 135, 134, 117, 85, 100, 113, 101, 295, 299, + /* 90 */ 314, 74, 356, 130, 319, 322, 316, 318, 112, 338, + /* 100 */ 133, 236, 2, 239, 81, 126, 1, 107, 70, 77, + /* 110 */ 115, 31, 30, 231, 317, 242, 244, 88, 123, 122, + /* 120 */ 136, 135, 134, 117, 85, 100, 113, 101, 295, 299, + /* 130 */ 314, 74, 238, 7, 319, 322, 321, 72, 355, 130, + /* 140 */ 339, 133, 344, 336, 234, 76, 65, 64, 23, 55, + /* 150 */ 54, 68, 67, 66, 63, 62, 61, 60, 59, 58, + /* 160 */ 323, 324, 325, 326, 327, 4, 83, 82, 79, 236, + /* 170 */ 73, 237, 81, 141, 9, 320, 70, 65, 64, 351, + /* 180 */ 233, 28, 68, 67, 66, 63, 62, 61, 60, 59, + /* 190 */ 58, 323, 324, 325, 326, 327, 4, 108, 331, 352, + /* 200 */ 317, 353, 244, 88, 123, 122, 136, 135, 134, 117, + /* 210 */ 85, 100, 113, 101, 295, 299, 314, 74, 10, 7, + /* 220 */ 319, 322, 321, 72, 36, 35, 332, 6, 349, 317, + /* 230 */ 333, 244, 88, 123, 122, 136, 135, 134, 117, 85, + /* 240 */ 100, 113, 101, 295, 299, 314, 74, 362, 361, 319, + /* 250 */ 322, 11, 84, 7, 474, 330, 321, 72, 312, 313, + /* 260 */ 332, 5, 28, 65, 64, 28, 80, 29, 68, 67, + /* 270 */ 66, 63, 62, 61, 60, 59, 58, 323, 324, 325, + /* 280 */ 326, 327, 4, 329, 7, 359, 358, 321, 72, 26, + /* 290 */ 8, 331, 132, 240, 127, 28, 129, 65, 64, 363, + /* 300 */ 32, 343, 68, 67, 66, 63, 62, 61, 60, 59, + /* 310 */ 58, 323, 324, 325, 326, 327, 4, 328, 24, 34, + /* 320 */ 25, 362, 342, 33, 362, 362, 362, 362, 65, 64, + /* 330 */ 362, 362, 362, 68, 67, 66, 63, 62, 61, 60, + /* 340 */ 59, 58, 323, 324, 325, 326, 327, 4, 362, 362, + /* 350 */ 75, 317, 353, 244, 88, 123, 122, 136, 135, 134, + /* 360 */ 117, 85, 100, 113, 101, 295, 299, 314, 74, 362, + /* 370 */ 362, 319, 322, 362, 362, 362, 362, 362, 362, 350, + /* 380 */ 317, 346, 244, 88, 123, 122, 136, 135, 134, 117, + /* 390 */ 85, 100, 113, 101, 295, 299, 314, 74, 362, 362, + /* 400 */ 319, 322, 362, 362, 362, 362, 362, 111, 115, 362, + /* 410 */ 362, 362, 317, 242, 244, 88, 123, 122, 136, 135, + /* 420 */ 134, 117, 85, 100, 113, 101, 295, 299, 314, 74, + /* 430 */ 118, 362, 319, 322, 317, 242, 244, 88, 123, 122, + /* 440 */ 136, 135, 134, 117, 85, 100, 113, 101, 295, 299, + /* 450 */ 314, 74, 362, 7, 319, 322, 321, 72, 124, 362, + /* 460 */ 362, 362, 317, 242, 244, 88, 123, 122, 136, 135, + /* 470 */ 134, 117, 85, 100, 113, 101, 295, 299, 314, 74, + /* 480 */ 362, 7, 319, 322, 321, 72, 362, 362, 362, 362, + /* 490 */ 362, 362, 362, 362, 362, 362, 362, 65, 64, 362, + /* 500 */ 362, 362, 68, 67, 66, 63, 62, 61, 60, 59, + /* 510 */ 58, 323, 324, 125, 326, 327, 4, 362, 362, 362, + /* 520 */ 362, 362, 362, 362, 362, 65, 64, 362, 362, 362, + /* 530 */ 68, 67, 66, 63, 62, 61, 60, 59, 58, 323, + /* 540 */ 324, 325, 326, 327, 4, 317, 335, 244, 88, 123, + /* 550 */ 122, 136, 135, 134, 117, 85, 100, 113, 101, 295, + /* 560 */ 299, 314, 74, 362, 362, 319, 322, 317, 334, 244, + /* 570 */ 88, 123, 122, 136, 135, 134, 117, 85, 100, 113, + /* 580 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 317, + /* 590 */ 256, 244, 88, 123, 122, 136, 135, 134, 117, 85, + /* 600 */ 100, 113, 101, 295, 299, 314, 74, 362, 362, 319, + /* 610 */ 322, 362, 362, 317, 255, 244, 88, 123, 122, 136, + /* 620 */ 135, 134, 117, 85, 100, 113, 101, 295, 299, 314, + /* 630 */ 74, 362, 362, 319, 322, 317, 254, 244, 88, 123, + /* 640 */ 122, 136, 135, 134, 117, 85, 100, 113, 101, 295, + /* 650 */ 299, 314, 74, 362, 362, 319, 322, 317, 253, 244, + /* 660 */ 88, 123, 122, 136, 135, 134, 117, 85, 100, 113, + /* 670 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 317, + /* 680 */ 252, 244, 88, 123, 122, 136, 135, 134, 117, 85, + /* 690 */ 100, 113, 101, 295, 299, 314, 74, 362, 362, 319, + /* 700 */ 322, 317, 251, 244, 88, 123, 122, 136, 135, 134, + /* 710 */ 117, 85, 100, 113, 101, 295, 299, 314, 74, 362, + /* 720 */ 362, 319, 322, 317, 250, 244, 88, 123, 122, 136, + /* 730 */ 135, 134, 117, 85, 100, 113, 101, 295, 299, 314, + /* 740 */ 74, 362, 362, 319, 322, 317, 249, 244, 88, 123, + /* 750 */ 122, 136, 135, 134, 117, 85, 100, 113, 101, 295, + /* 760 */ 299, 314, 74, 362, 362, 319, 322, 317, 248, 244, + /* 770 */ 88, 123, 122, 136, 135, 134, 117, 85, 100, 113, + /* 780 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 317, + /* 790 */ 247, 244, 88, 123, 122, 136, 135, 134, 117, 85, + /* 800 */ 100, 113, 101, 295, 299, 314, 74, 362, 362, 319, + /* 810 */ 322, 317, 246, 244, 88, 123, 122, 136, 135, 134, + /* 820 */ 117, 85, 100, 113, 101, 295, 299, 314, 74, 362, + /* 830 */ 362, 319, 322, 317, 347, 244, 88, 123, 122, 136, + /* 840 */ 135, 134, 117, 85, 100, 113, 101, 295, 299, 314, + /* 850 */ 74, 362, 362, 319, 322, 317, 340, 244, 88, 123, + /* 860 */ 122, 136, 135, 134, 117, 85, 100, 113, 101, 295, + /* 870 */ 299, 314, 74, 362, 362, 319, 322, 317, 258, 244, + /* 880 */ 88, 123, 122, 136, 135, 134, 117, 85, 100, 113, + /* 890 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 317, + /* 900 */ 140, 244, 88, 123, 122, 136, 135, 134, 117, 85, + /* 910 */ 100, 113, 101, 295, 299, 314, 74, 362, 362, 319, + /* 920 */ 322, 317, 245, 244, 88, 123, 122, 136, 135, 134, + /* 930 */ 117, 85, 100, 113, 101, 295, 299, 314, 74, 362, + /* 940 */ 362, 319, 322, 317, 243, 244, 88, 123, 122, 136, + /* 950 */ 135, 134, 117, 85, 100, 113, 101, 295, 299, 314, + /* 960 */ 74, 362, 317, 319, 322, 119, 362, 110, 136, 135, + /* 970 */ 134, 117, 85, 100, 113, 101, 295, 299, 314, 74, + /* 980 */ 362, 317, 319, 322, 119, 362, 362, 131, 135, 134, + /* 990 */ 117, 85, 100, 113, 101, 295, 299, 314, 74, 362, + /* 1000 */ 362, 319, 322, 317, 362, 362, 119, 362, 362, 139, + /* 1010 */ 135, 134, 117, 85, 100, 113, 101, 295, 299, 314, + /* 1020 */ 74, 362, 362, 319, 322, 317, 362, 362, 119, 362, + /* 1030 */ 362, 362, 138, 134, 117, 85, 100, 113, 101, 295, + /* 1040 */ 299, 314, 74, 362, 362, 319, 322, 317, 362, 362, + /* 1050 */ 119, 362, 362, 362, 362, 137, 117, 85, 100, 113, + /* 1060 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 50, /* 1070 */ 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, /* 1080 */ 39, 38, 37, 27, 22, 21, 20, 19, 18, 17, - /* 1090 */ 16, 15, 14, 13, 12, 319, 365, 365, 119, 365, - /* 1100 */ 365, 365, 365, 365, 121, 85, 100, 113, 101, 297, - /* 1110 */ 301, 316, 74, 365, 365, 321, 324, 365, 319, 365, - /* 1120 */ 365, 119, 365, 365, 365, 314, 315, 365, 86, 100, - /* 1130 */ 113, 101, 297, 301, 316, 74, 365, 365, 321, 324, - /* 1140 */ 319, 365, 365, 119, 365, 365, 365, 365, 365, 365, - /* 1150 */ 87, 100, 113, 101, 297, 301, 316, 74, 365, 319, - /* 1160 */ 321, 324, 119, 365, 365, 365, 365, 365, 365, 365, - /* 1170 */ 89, 113, 101, 297, 301, 316, 74, 365, 319, 321, - /* 1180 */ 324, 119, 365, 365, 365, 365, 365, 365, 365, 90, - /* 1190 */ 113, 101, 297, 301, 316, 74, 365, 365, 321, 324, - /* 1200 */ 365, 319, 365, 365, 119, 365, 365, 7, 365, 365, - /* 1210 */ 323, 71, 91, 113, 101, 297, 301, 316, 74, 365, - /* 1220 */ 365, 321, 324, 319, 365, 365, 119, 365, 365, 365, - /* 1230 */ 365, 365, 365, 365, 92, 113, 101, 297, 301, 316, - /* 1240 */ 74, 365, 319, 321, 324, 119, 365, 365, 365, 365, - /* 1250 */ 365, 365, 365, 93, 113, 101, 297, 301, 316, 74, - /* 1260 */ 365, 319, 321, 324, 119, 325, 326, 327, 328, 329, - /* 1270 */ 4, 365, 94, 113, 101, 297, 301, 316, 74, 365, - /* 1280 */ 365, 321, 324, 365, 319, 365, 365, 119, 365, 365, - /* 1290 */ 365, 365, 365, 365, 365, 95, 113, 101, 297, 301, - /* 1300 */ 316, 74, 365, 365, 321, 324, 319, 365, 365, 119, - /* 1310 */ 365, 365, 365, 365, 365, 365, 365, 96, 113, 101, - /* 1320 */ 297, 301, 316, 74, 365, 319, 321, 324, 119, 365, - /* 1330 */ 365, 365, 365, 365, 365, 365, 97, 113, 101, 297, - /* 1340 */ 301, 316, 74, 365, 319, 321, 324, 119, 365, 365, - /* 1350 */ 365, 365, 365, 365, 365, 98, 113, 101, 297, 301, - /* 1360 */ 316, 74, 365, 365, 321, 324, 365, 319, 365, 365, - /* 1370 */ 119, 365, 365, 365, 365, 365, 365, 365, 99, 113, - /* 1380 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 319, - /* 1390 */ 365, 365, 119, 365, 365, 365, 365, 365, 365, 365, - /* 1400 */ 102, 113, 101, 297, 301, 316, 74, 365, 319, 321, - /* 1410 */ 324, 119, 365, 365, 365, 365, 365, 365, 365, 104, - /* 1420 */ 113, 101, 297, 301, 316, 74, 365, 319, 321, 324, - /* 1430 */ 119, 365, 365, 365, 365, 365, 365, 365, 106, 113, - /* 1440 */ 101, 297, 301, 316, 74, 365, 365, 321, 324, 365, - /* 1450 */ 319, 365, 365, 119, 365, 365, 365, 365, 365, 365, - /* 1460 */ 365, 365, 114, 101, 297, 301, 316, 74, 365, 365, - /* 1470 */ 321, 324, 319, 365, 365, 119, 365, 365, 365, 365, - /* 1480 */ 365, 365, 365, 365, 116, 101, 297, 301, 316, 74, - /* 1490 */ 365, 319, 321, 324, 119, 365, 365, 365, 365, 365, - /* 1500 */ 365, 365, 365, 120, 101, 297, 301, 316, 74, 365, - /* 1510 */ 365, 321, 324, 363, 365, 365, 83, 82, 79, 238, - /* 1520 */ 73, 365, 81, 142, 9, 319, 70, 365, 119, 365, - /* 1530 */ 365, 365, 365, 365, 365, 365, 365, 365, 103, 297, - /* 1540 */ 301, 316, 74, 365, 365, 321, 324, 319, 365, 365, - /* 1550 */ 119, 365, 365, 365, 365, 319, 365, 365, 119, 365, - /* 1560 */ 105, 297, 301, 316, 74, 365, 365, 321, 324, 300, - /* 1570 */ 301, 316, 74, 365, 319, 321, 324, 119, 365, 365, - /* 1580 */ 365, 365, 365, 365, 365, 365, 365, 365, 299, 301, - /* 1590 */ 316, 74, 365, 365, 321, 324, 319, 365, 365, 119, - /* 1600 */ 365, 365, 365, 365, 365, 319, 365, 365, 119, 365, - /* 1610 */ 312, 301, 316, 74, 365, 365, 321, 324, 365, 311, - /* 1620 */ 301, 316, 74, 365, 319, 321, 324, 119, 365, 365, - /* 1630 */ 365, 365, 365, 319, 365, 365, 119, 365, 310, 301, - /* 1640 */ 316, 74, 365, 319, 321, 324, 119, 309, 301, 316, - /* 1650 */ 74, 365, 319, 321, 324, 119, 365, 308, 301, 316, - /* 1660 */ 74, 365, 365, 321, 324, 365, 307, 301, 316, 74, - /* 1670 */ 365, 319, 321, 324, 119, 365, 365, 365, 365, 319, - /* 1680 */ 365, 365, 119, 365, 365, 306, 301, 316, 74, 365, - /* 1690 */ 365, 321, 324, 305, 301, 316, 74, 365, 365, 321, - /* 1700 */ 324, 365, 319, 365, 365, 119, 365, 365, 365, 365, - /* 1710 */ 319, 365, 365, 119, 365, 365, 304, 301, 316, 74, - /* 1720 */ 365, 365, 321, 324, 303, 301, 316, 74, 365, 319, - /* 1730 */ 321, 324, 119, 365, 365, 365, 365, 319, 365, 365, - /* 1740 */ 119, 365, 365, 302, 301, 316, 74, 365, 365, 321, - /* 1750 */ 324, 298, 301, 316, 74, 365, 365, 321, 324, + /* 1090 */ 16, 15, 14, 13, 12, 317, 362, 362, 119, 362, + /* 1100 */ 362, 362, 362, 362, 121, 85, 100, 113, 101, 295, + /* 1110 */ 299, 314, 74, 362, 362, 319, 322, 362, 317, 362, + /* 1120 */ 362, 119, 362, 362, 362, 312, 313, 362, 86, 100, + /* 1130 */ 113, 101, 295, 299, 314, 74, 362, 362, 319, 322, + /* 1140 */ 317, 362, 362, 119, 362, 362, 362, 362, 362, 362, + /* 1150 */ 87, 100, 113, 101, 295, 299, 314, 74, 362, 317, + /* 1160 */ 319, 322, 119, 362, 362, 362, 362, 362, 362, 362, + /* 1170 */ 89, 113, 101, 295, 299, 314, 74, 362, 317, 319, + /* 1180 */ 322, 119, 362, 362, 362, 362, 362, 362, 362, 90, + /* 1190 */ 113, 101, 295, 299, 314, 74, 362, 362, 319, 322, + /* 1200 */ 362, 317, 362, 362, 119, 362, 362, 7, 362, 362, + /* 1210 */ 321, 72, 91, 113, 101, 295, 299, 314, 74, 362, + /* 1220 */ 362, 319, 322, 317, 362, 362, 119, 362, 362, 362, + /* 1230 */ 362, 362, 362, 362, 92, 113, 101, 295, 299, 314, + /* 1240 */ 74, 362, 317, 319, 322, 119, 362, 362, 362, 362, + /* 1250 */ 362, 362, 362, 93, 113, 101, 295, 299, 314, 74, + /* 1260 */ 362, 317, 319, 322, 119, 323, 324, 325, 326, 327, + /* 1270 */ 4, 362, 94, 113, 101, 295, 299, 314, 74, 362, + /* 1280 */ 362, 319, 322, 362, 317, 362, 362, 119, 362, 362, + /* 1290 */ 362, 362, 362, 362, 362, 95, 113, 101, 295, 299, + /* 1300 */ 314, 74, 362, 362, 319, 322, 317, 362, 362, 119, + /* 1310 */ 362, 362, 362, 362, 362, 362, 362, 96, 113, 101, + /* 1320 */ 295, 299, 314, 74, 362, 317, 319, 322, 119, 362, + /* 1330 */ 362, 362, 362, 362, 362, 362, 97, 113, 101, 295, + /* 1340 */ 299, 314, 74, 362, 317, 319, 322, 119, 362, 362, + /* 1350 */ 362, 362, 362, 362, 362, 98, 113, 101, 295, 299, + /* 1360 */ 314, 74, 362, 362, 319, 322, 362, 317, 362, 362, + /* 1370 */ 119, 362, 362, 362, 362, 362, 362, 362, 99, 113, + /* 1380 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 317, + /* 1390 */ 362, 362, 119, 362, 362, 362, 362, 362, 362, 362, + /* 1400 */ 102, 113, 101, 295, 299, 314, 74, 362, 317, 319, + /* 1410 */ 322, 119, 362, 362, 362, 362, 362, 362, 362, 104, + /* 1420 */ 113, 101, 295, 299, 314, 74, 362, 317, 319, 322, + /* 1430 */ 119, 362, 362, 362, 362, 362, 362, 362, 106, 113, + /* 1440 */ 101, 295, 299, 314, 74, 362, 362, 319, 322, 362, + /* 1450 */ 317, 362, 362, 119, 362, 362, 362, 362, 362, 362, + /* 1460 */ 362, 362, 114, 101, 295, 299, 314, 74, 362, 362, + /* 1470 */ 319, 322, 317, 362, 362, 119, 362, 362, 362, 362, + /* 1480 */ 362, 362, 362, 362, 116, 101, 295, 299, 314, 74, + /* 1490 */ 362, 317, 319, 322, 119, 362, 362, 362, 362, 362, + /* 1500 */ 362, 362, 362, 120, 101, 295, 299, 314, 74, 362, + /* 1510 */ 362, 319, 322, 360, 362, 362, 83, 82, 79, 236, + /* 1520 */ 73, 362, 81, 141, 9, 317, 70, 362, 119, 362, + /* 1530 */ 362, 362, 362, 362, 362, 362, 362, 362, 103, 295, + /* 1540 */ 299, 314, 74, 362, 362, 319, 322, 317, 362, 362, + /* 1550 */ 119, 362, 362, 362, 362, 317, 362, 362, 119, 362, + /* 1560 */ 105, 295, 299, 314, 74, 362, 362, 319, 322, 298, + /* 1570 */ 299, 314, 74, 362, 317, 319, 322, 119, 362, 362, + /* 1580 */ 362, 362, 362, 362, 362, 362, 362, 362, 297, 299, + /* 1590 */ 314, 74, 362, 362, 319, 322, 317, 362, 362, 119, + /* 1600 */ 362, 362, 362, 362, 362, 317, 362, 362, 119, 362, + /* 1610 */ 310, 299, 314, 74, 362, 362, 319, 322, 362, 309, + /* 1620 */ 299, 314, 74, 362, 317, 319, 322, 119, 362, 362, + /* 1630 */ 362, 362, 362, 317, 362, 362, 119, 362, 308, 299, + /* 1640 */ 314, 74, 362, 317, 319, 322, 119, 307, 299, 314, + /* 1650 */ 74, 362, 317, 319, 322, 119, 362, 306, 299, 314, + /* 1660 */ 74, 362, 362, 319, 322, 362, 305, 299, 314, 74, + /* 1670 */ 362, 317, 319, 322, 119, 362, 362, 362, 362, 317, + /* 1680 */ 362, 362, 119, 362, 362, 304, 299, 314, 74, 362, + /* 1690 */ 362, 319, 322, 303, 299, 314, 74, 362, 362, 319, + /* 1700 */ 322, 362, 317, 362, 362, 119, 362, 362, 362, 362, + /* 1710 */ 317, 362, 362, 119, 362, 362, 302, 299, 314, 74, + /* 1720 */ 362, 362, 319, 322, 301, 299, 314, 74, 362, 317, + /* 1730 */ 319, 322, 119, 362, 362, 362, 362, 317, 362, 362, + /* 1740 */ 119, 362, 362, 300, 299, 314, 74, 362, 362, 319, + /* 1750 */ 322, 296, 299, 314, 74, 362, 362, 319, 322, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 1, 2, 106, 107, 108, 6, 7, 77, 9, 10, /* 10 */ 11, 81, 13, 76, 77, 78, 10, 82, 81, 82, /* 20 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, /* 30 */ 93, 94, 95, 96, 97, 98, 99, 102, 103, 102, - /* 40 */ 103, 6, 7, 81, 9, 10, 11, 65, 13, 67, + /* 40 */ 103, 6, 7, 67, 9, 10, 11, 81, 13, 81, /* 50 */ 51, 52, 48, 49, 50, 56, 57, 58, 59, 60, /* 60 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, /* 70 */ 78, 53, 54, 55, 82, 83, 84, 85, 86, 87, /* 80 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - /* 90 */ 98, 99, 107, 108, 102, 103, 100, 101, 106, 107, + /* 90 */ 98, 99, 111, 112, 102, 103, 100, 101, 106, 107, /* 100 */ 108, 6, 7, 81, 9, 10, 11, 80, 13, 77, - /* 110 */ 78, 111, 112, 81, 82, 83, 84, 85, 86, 87, + /* 110 */ 78, 3, 4, 81, 82, 83, 84, 85, 86, 87, /* 120 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, /* 130 */ 98, 99, 81, 7, 102, 103, 10, 11, 111, 112, - /* 140 */ 81, 14, 3, 4, 8, 81, 51, 52, 51, 52, - /* 150 */ 14, 56, 57, 58, 59, 60, 61, 62, 63, 64, + /* 140 */ 107, 108, 8, 12, 81, 14, 51, 52, 14, 51, + /* 150 */ 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, /* 160 */ 65, 66, 67, 68, 69, 70, 3, 4, 5, 6, /* 170 */ 7, 8, 9, 10, 11, 8, 13, 51, 52, 53, /* 180 */ 81, 14, 56, 57, 58, 59, 60, 61, 62, 63, - /* 190 */ 64, 65, 66, 67, 68, 69, 70, 79, 71, 73, + /* 190 */ 64, 65, 66, 67, 68, 69, 70, 79, 14, 73, /* 200 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, /* 210 */ 92, 93, 94, 95, 96, 97, 98, 99, 104, 7, /* 220 */ 102, 103, 10, 11, 32, 33, 14, 7, 110, 82, /* 230 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, /* 240 */ 93, 94, 95, 96, 97, 98, 99, 0, 0, 102, - /* 250 */ 103, 104, 105, 7, 57, 58, 10, 11, 28, 28, - /* 260 */ 14, 14, 14, 51, 52, 12, 14, 14, 56, 57, + /* 250 */ 103, 104, 105, 7, 28, 71, 10, 11, 57, 58, + /* 260 */ 14, 14, 14, 51, 52, 14, 9, 5, 56, 57, /* 270 */ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - /* 280 */ 68, 69, 70, 71, 7, 9, 67, 10, 11, 39, - /* 290 */ 70, 14, 72, 12, 65, 14, 5, 51, 52, 0, - /* 300 */ 29, 28, 56, 57, 58, 59, 60, 61, 62, 63, - /* 310 */ 64, 65, 66, 67, 68, 69, 70, 71, 27, 53, - /* 320 */ 10, 31, 30, 71, 28, 113, 113, 113, 51, 52, + /* 280 */ 68, 69, 70, 71, 7, 67, 65, 10, 11, 27, + /* 290 */ 70, 14, 72, 12, 39, 14, 53, 51, 52, 0, + /* 300 */ 29, 10, 56, 57, 58, 59, 60, 61, 62, 63, + /* 310 */ 64, 65, 66, 67, 68, 69, 70, 71, 28, 31, + /* 320 */ 28, 113, 71, 30, 113, 113, 113, 113, 51, 52, /* 330 */ 113, 113, 113, 56, 57, 58, 59, 60, 61, 62, /* 340 */ 63, 64, 65, 66, 67, 68, 69, 70, 113, 113, /* 350 */ 51, 82, 83, 84, 85, 86, 87, 88, 89, 90, @@ -540,9 +540,9 @@ static const YYCODETYPE yy_lookahead[] = { /* 1740 */ 85, 113, 113, 96, 97, 98, 99, 113, 113, 102, /* 1750 */ 103, 96, 97, 98, 99, 113, 113, 102, 103, }; -#define YY_SHIFT_USE_DFLT (-19) -#define YY_SHIFT_COUNT (142) -#define YY_SHIFT_MIN (-18) +#define YY_SHIFT_USE_DFLT (-25) +#define YY_SHIFT_COUNT (141) +#define YY_SHIFT_MIN (-24) #define YY_SHIFT_MAX (1513) static const short yy_shift_ofst[] = { /* 0 */ -1, 446, 95, 126, 277, 126, 474, 474, 474, 474, @@ -552,14 +552,14 @@ static const short yy_shift_ofst[] = { /* 40 */ 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, /* 50 */ 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, /* 60 */ 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, - /* 70 */ 1200, -18, 6, 35, 220, -18, 6, 163, 1513, 35, - /* 80 */ 35, 35, 35, 35, 127, 1035, 1035, 1035, 1068, 4, + /* 70 */ 1200, 6, -24, 35, 220, 6, -24, 163, 1513, 35, + /* 80 */ 35, 35, 35, 35, 184, 1035, 1035, 1035, 1068, 4, /* 90 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, /* 100 */ 4, 18, 4, 18, 4, 18, 4, 299, 247, 248, - /* 110 */ 139, 136, 253, 97, 97, 167, 97, 192, 252, 197, - /* 120 */ 97, 192, 139, 291, 281, 230, 231, 276, 219, 250, - /* 130 */ 229, 266, 271, 310, 273, 290, 292, 271, 290, 292, - /* 140 */ 271, 296, 276, + /* 110 */ 108, 134, 131, 98, 98, 167, 98, 192, 251, 201, + /* 120 */ 98, 192, 108, 262, 281, 226, 257, 218, 255, 221, + /* 130 */ 243, 271, 291, 290, 288, 293, 271, 288, 293, 271, + /* 140 */ 292, 257, }; #define YY_REDUCE_USE_DFLT (-105) #define YY_REDUCE_COUNT (84) @@ -573,25 +573,25 @@ static const short yy_reduce_ofst[] = { /* 40 */ 1141, 1160, 1179, 1202, 1224, 1243, 1262, 1285, 1307, 1326, /* 50 */ 1345, 1368, 1390, 1409, 1443, 1465, 1473, 1492, 1514, 1523, /* 60 */ 1542, 1551, 1561, 1570, 1589, 1597, 1620, 1628, 1647, 1655, - /* 70 */ -65, -104, 27, -70, -4, -15, 0, -38, -38, 22, - /* 80 */ 51, 59, 64, 99, 114, + /* 70 */ -65, 27, -104, -70, -4, -19, 33, -34, -34, -32, + /* 80 */ 22, 51, 63, 99, 114, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 497, 473, 497, 485, 497, 497, 482, 497, 497, 497, - /* 10 */ 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - /* 20 */ 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - /* 30 */ 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - /* 40 */ 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - /* 50 */ 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - /* 60 */ 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, - /* 70 */ 497, 473, 491, 497, 451, 497, 497, 497, 497, 497, - /* 80 */ 497, 497, 497, 497, 497, 406, 408, 407, 447, 423, - /* 90 */ 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, - /* 100 */ 409, 428, 412, 430, 411, 429, 410, 497, 497, 497, - /* 110 */ 396, 497, 497, 424, 427, 497, 426, 404, 497, 447, - /* 120 */ 425, 405, 395, 393, 497, 461, 459, 457, 497, 497, - /* 130 */ 497, 494, 399, 497, 497, 402, 400, 397, 403, 401, - /* 140 */ 398, 497, 497, + /* 0 */ 493, 470, 493, 481, 493, 493, 478, 493, 493, 493, + /* 10 */ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + /* 20 */ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + /* 30 */ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + /* 40 */ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + /* 50 */ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + /* 60 */ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + /* 70 */ 493, 487, 470, 493, 448, 493, 493, 493, 493, 493, + /* 80 */ 493, 493, 493, 493, 493, 403, 405, 404, 444, 420, + /* 90 */ 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, + /* 100 */ 406, 425, 409, 427, 408, 426, 407, 493, 493, 493, + /* 110 */ 393, 493, 493, 421, 424, 493, 423, 401, 493, 444, + /* 120 */ 422, 402, 392, 390, 493, 458, 454, 493, 493, 493, + /* 130 */ 490, 396, 493, 493, 399, 397, 394, 400, 398, 395, + /* 140 */ 493, 493, }; /********** End of lemon-generated parsing tables *****************************/ @@ -844,25 +844,24 @@ static const char *const yyRuleName[] = { /* 112 */ "property_name_and_value_list ::= property_name_and_value_list COMMA property_name_and_value", /* 113 */ "property_name_and_value ::= property_name COLON assignment_expression", /* 114 */ "property_name ::= STRING", - /* 115 */ "property_name ::= DECIMAL", - /* 116 */ "member_expression_part ::= BRACKETL expression BRACKETR", - /* 117 */ "member_expression_part ::= DOT IDENTIFIER", - /* 118 */ "arguments ::= PARENL argument_list PARENR", - /* 119 */ "argument_list ::=", - /* 120 */ "argument_list ::= assignment_expression", - /* 121 */ "argument_list ::= argument_list COMMA assignment_expression", - /* 122 */ "output_columns ::=", - /* 123 */ "output_columns ::= output_column", - /* 124 */ "output_columns ::= output_columns COMMA output_column", - /* 125 */ "output_column ::= STAR", - /* 126 */ "output_column ::= NONEXISTENT_COLUMN", - /* 127 */ "output_column ::= assignment_expression", - /* 128 */ "adjuster ::=", - /* 129 */ "adjuster ::= adjust_expression", - /* 130 */ "adjuster ::= adjuster PLUS adjust_expression", - /* 131 */ "adjust_expression ::= adjust_match_expression", - /* 132 */ "adjust_expression ::= adjust_match_expression STAR DECIMAL", - /* 133 */ "adjust_match_expression ::= IDENTIFIER MATCH STRING", + /* 115 */ "member_expression_part ::= BRACKETL expression BRACKETR", + /* 116 */ "member_expression_part ::= DOT IDENTIFIER", + /* 117 */ "arguments ::= PARENL argument_list PARENR", + /* 118 */ "argument_list ::=", + /* 119 */ "argument_list ::= assignment_expression", + /* 120 */ "argument_list ::= argument_list COMMA assignment_expression", + /* 121 */ "output_columns ::=", + /* 122 */ "output_columns ::= output_column", + /* 123 */ "output_columns ::= output_columns COMMA output_column", + /* 124 */ "output_column ::= STAR", + /* 125 */ "output_column ::= NONEXISTENT_COLUMN", + /* 126 */ "output_column ::= assignment_expression", + /* 127 */ "adjuster ::=", + /* 128 */ "adjuster ::= adjust_expression", + /* 129 */ "adjuster ::= adjuster PLUS adjust_expression", + /* 130 */ "adjust_expression ::= adjust_match_expression", + /* 131 */ "adjust_expression ::= adjust_match_expression STAR DECIMAL", + /* 132 */ "adjust_match_expression ::= IDENTIFIER MATCH STRING", }; #endif /* NDEBUG */ @@ -959,7 +958,7 @@ static void yy_destructor( (void)efsi; -#line 963 "grn_ecmascript.c" +#line 962 "grn_ecmascript.c" } break; /********* End destructor definitions *****************************************/ @@ -1315,7 +1314,6 @@ static const struct { { 106, 3 }, { 107, 3 }, { 108, 1 }, - { 108, 1 }, { 101, 3 }, { 101, 2 }, { 100, 3 }, @@ -1374,46 +1372,46 @@ static void yy_reduce( */ /********** Begin reduce actions **********************************************/ case 5: /* query ::= query query_element */ -#line 53 "grn_ecmascript.lemon" +#line 46 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, grn_int32_value_at(&efsi->op_stack, -1), 2); } -#line 1382 "grn_ecmascript.c" +#line 1380 "grn_ecmascript.c" break; case 6: /* query ::= query LOGICAL_AND query_element */ case 35: /* logical_and_expression ::= logical_and_expression LOGICAL_AND bitwise_or_expression */ yytestcase(yyruleno==35); -#line 56 "grn_ecmascript.lemon" +#line 49 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_AND, 2); } -#line 1390 "grn_ecmascript.c" +#line 1388 "grn_ecmascript.c" break; case 7: /* query ::= query LOGICAL_AND_NOT query_element */ case 36: /* logical_and_expression ::= logical_and_expression LOGICAL_AND_NOT bitwise_or_expression */ yytestcase(yyruleno==36); -#line 59 "grn_ecmascript.lemon" +#line 52 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_AND_NOT, 2); } -#line 1398 "grn_ecmascript.c" +#line 1396 "grn_ecmascript.c" break; case 8: /* query ::= query LOGICAL_OR query_element */ case 33: /* logical_or_expression ::= logical_or_expression LOGICAL_OR logical_and_expression */ yytestcase(yyruleno==33); -#line 62 "grn_ecmascript.lemon" +#line 55 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_OR, 2); } -#line 1406 "grn_ecmascript.c" +#line 1404 "grn_ecmascript.c" break; case 11: /* query_element ::= RELATIVE_OP query_element */ -#line 69 "grn_ecmascript.lemon" +#line 62 "grn_ecmascript.lemon" { int mode; GRN_INT32_POP(&efsi->mode_stack, mode); } -#line 1414 "grn_ecmascript.c" +#line 1412 "grn_ecmascript.c" break; case 12: /* query_element ::= IDENTIFIER RELATIVE_OP query_element */ -#line 73 "grn_ecmascript.lemon" +#line 66 "grn_ecmascript.lemon" { int mode; grn_obj *c; @@ -1437,317 +1435,317 @@ static void yy_reduce( break; } } -#line 1441 "grn_ecmascript.c" +#line 1439 "grn_ecmascript.c" break; case 13: /* query_element ::= BRACEL expression BRACER */ case 14: /* query_element ::= EVAL primary_expression */ yytestcase(yyruleno==14); -#line 96 "grn_ecmascript.lemon" +#line 89 "grn_ecmascript.lemon" { efsi->flags = efsi->default_flags; } -#line 1449 "grn_ecmascript.c" +#line 1447 "grn_ecmascript.c" break; case 16: /* expression ::= expression COMMA assignment_expression */ -#line 104 "grn_ecmascript.lemon" +#line 97 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_COMMA, 2); } -#line 1456 "grn_ecmascript.c" +#line 1454 "grn_ecmascript.c" break; case 18: /* assignment_expression ::= lefthand_side_expression ASSIGN assignment_expression */ -#line 109 "grn_ecmascript.lemon" +#line 102 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_ASSIGN, 2); } -#line 1463 "grn_ecmascript.c" +#line 1461 "grn_ecmascript.c" break; case 19: /* assignment_expression ::= lefthand_side_expression STAR_ASSIGN assignment_expression */ -#line 112 "grn_ecmascript.lemon" +#line 105 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_STAR_ASSIGN, 2); } -#line 1470 "grn_ecmascript.c" +#line 1468 "grn_ecmascript.c" break; case 20: /* assignment_expression ::= lefthand_side_expression SLASH_ASSIGN assignment_expression */ -#line 115 "grn_ecmascript.lemon" +#line 108 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SLASH_ASSIGN, 2); } -#line 1477 "grn_ecmascript.c" +#line 1475 "grn_ecmascript.c" break; case 21: /* assignment_expression ::= lefthand_side_expression MOD_ASSIGN assignment_expression */ -#line 118 "grn_ecmascript.lemon" +#line 111 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_MOD_ASSIGN, 2); } -#line 1484 "grn_ecmascript.c" +#line 1482 "grn_ecmascript.c" break; case 22: /* assignment_expression ::= lefthand_side_expression PLUS_ASSIGN assignment_expression */ -#line 121 "grn_ecmascript.lemon" +#line 114 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_PLUS_ASSIGN, 2); } -#line 1491 "grn_ecmascript.c" +#line 1489 "grn_ecmascript.c" break; case 23: /* assignment_expression ::= lefthand_side_expression MINUS_ASSIGN assignment_expression */ -#line 124 "grn_ecmascript.lemon" +#line 117 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_MINUS_ASSIGN, 2); } -#line 1498 "grn_ecmascript.c" +#line 1496 "grn_ecmascript.c" break; case 24: /* assignment_expression ::= lefthand_side_expression SHIFTL_ASSIGN assignment_expression */ -#line 127 "grn_ecmascript.lemon" +#line 120 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SHIFTL_ASSIGN, 2); } -#line 1505 "grn_ecmascript.c" +#line 1503 "grn_ecmascript.c" break; case 25: /* assignment_expression ::= lefthand_side_expression SHIFTR_ASSIGN assignment_expression */ -#line 130 "grn_ecmascript.lemon" +#line 123 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SHIFTR_ASSIGN, 2); } -#line 1512 "grn_ecmascript.c" +#line 1510 "grn_ecmascript.c" break; case 26: /* assignment_expression ::= lefthand_side_expression SHIFTRR_ASSIGN assignment_expression */ -#line 133 "grn_ecmascript.lemon" +#line 126 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SHIFTRR_ASSIGN, 2); } -#line 1519 "grn_ecmascript.c" +#line 1517 "grn_ecmascript.c" break; case 27: /* assignment_expression ::= lefthand_side_expression AND_ASSIGN assignment_expression */ -#line 136 "grn_ecmascript.lemon" +#line 129 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_AND_ASSIGN, 2); } -#line 1526 "grn_ecmascript.c" +#line 1524 "grn_ecmascript.c" break; case 28: /* assignment_expression ::= lefthand_side_expression XOR_ASSIGN assignment_expression */ -#line 139 "grn_ecmascript.lemon" +#line 132 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_XOR_ASSIGN, 2); } -#line 1533 "grn_ecmascript.c" +#line 1531 "grn_ecmascript.c" break; case 29: /* assignment_expression ::= lefthand_side_expression OR_ASSIGN assignment_expression */ -#line 142 "grn_ecmascript.lemon" +#line 135 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_OR_ASSIGN, 2); } -#line 1540 "grn_ecmascript.c" +#line 1538 "grn_ecmascript.c" break; case 31: /* conditional_expression ::= logical_or_expression QUESTION assignment_expression COLON assignment_expression */ -#line 147 "grn_ecmascript.lemon" +#line 140 "grn_ecmascript.lemon" { grn_expr *e = (grn_expr *)efsi->e; e->codes[yymsp[-3].minor.yy0].nargs = yymsp[-1].minor.yy0 - yymsp[-3].minor.yy0; e->codes[yymsp[-1].minor.yy0].nargs = e->codes_curr - yymsp[-1].minor.yy0 - 1; } -#line 1549 "grn_ecmascript.c" +#line 1547 "grn_ecmascript.c" break; case 38: /* bitwise_or_expression ::= bitwise_or_expression BITWISE_OR bitwise_xor_expression */ -#line 167 "grn_ecmascript.lemon" +#line 160 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_BITWISE_OR, 2); } -#line 1556 "grn_ecmascript.c" +#line 1554 "grn_ecmascript.c" break; case 40: /* bitwise_xor_expression ::= bitwise_xor_expression BITWISE_XOR bitwise_and_expression */ -#line 172 "grn_ecmascript.lemon" +#line 165 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_BITWISE_XOR, 2); } -#line 1563 "grn_ecmascript.c" +#line 1561 "grn_ecmascript.c" break; case 42: /* bitwise_and_expression ::= bitwise_and_expression BITWISE_AND equality_expression */ -#line 177 "grn_ecmascript.lemon" +#line 170 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_BITWISE_AND, 2); } -#line 1570 "grn_ecmascript.c" +#line 1568 "grn_ecmascript.c" break; case 44: /* equality_expression ::= equality_expression EQUAL relational_expression */ -#line 182 "grn_ecmascript.lemon" +#line 175 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_EQUAL, 2); } -#line 1577 "grn_ecmascript.c" +#line 1575 "grn_ecmascript.c" break; case 45: /* equality_expression ::= equality_expression NOT_EQUAL relational_expression */ -#line 185 "grn_ecmascript.lemon" +#line 178 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_NOT_EQUAL, 2); } -#line 1584 "grn_ecmascript.c" +#line 1582 "grn_ecmascript.c" break; case 47: /* relational_expression ::= relational_expression LESS shift_expression */ -#line 190 "grn_ecmascript.lemon" +#line 183 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_LESS, 2); } -#line 1591 "grn_ecmascript.c" +#line 1589 "grn_ecmascript.c" break; case 48: /* relational_expression ::= relational_expression GREATER shift_expression */ -#line 193 "grn_ecmascript.lemon" +#line 186 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_GREATER, 2); } -#line 1598 "grn_ecmascript.c" +#line 1596 "grn_ecmascript.c" break; case 49: /* relational_expression ::= relational_expression LESS_EQUAL shift_expression */ -#line 196 "grn_ecmascript.lemon" +#line 189 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_LESS_EQUAL, 2); } -#line 1605 "grn_ecmascript.c" +#line 1603 "grn_ecmascript.c" break; case 50: /* relational_expression ::= relational_expression GREATER_EQUAL shift_expression */ -#line 199 "grn_ecmascript.lemon" +#line 192 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_GREATER_EQUAL, 2); } -#line 1612 "grn_ecmascript.c" +#line 1610 "grn_ecmascript.c" break; case 51: /* relational_expression ::= relational_expression IN shift_expression */ -#line 202 "grn_ecmascript.lemon" +#line 195 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_IN, 2); } -#line 1619 "grn_ecmascript.c" +#line 1617 "grn_ecmascript.c" break; case 52: /* relational_expression ::= relational_expression MATCH shift_expression */ - case 133: /* adjust_match_expression ::= IDENTIFIER MATCH STRING */ yytestcase(yyruleno==133); -#line 205 "grn_ecmascript.lemon" + case 132: /* adjust_match_expression ::= IDENTIFIER MATCH STRING */ yytestcase(yyruleno==132); +#line 198 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_MATCH, 2); } -#line 1627 "grn_ecmascript.c" +#line 1625 "grn_ecmascript.c" break; case 53: /* relational_expression ::= relational_expression NEAR shift_expression */ -#line 208 "grn_ecmascript.lemon" +#line 201 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_NEAR, 2); } -#line 1634 "grn_ecmascript.c" +#line 1632 "grn_ecmascript.c" break; case 54: /* relational_expression ::= relational_expression NEAR2 shift_expression */ -#line 211 "grn_ecmascript.lemon" +#line 204 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_NEAR2, 2); } -#line 1641 "grn_ecmascript.c" +#line 1639 "grn_ecmascript.c" break; case 55: /* relational_expression ::= relational_expression SIMILAR shift_expression */ -#line 214 "grn_ecmascript.lemon" +#line 207 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SIMILAR, 2); } -#line 1648 "grn_ecmascript.c" +#line 1646 "grn_ecmascript.c" break; case 56: /* relational_expression ::= relational_expression TERM_EXTRACT shift_expression */ -#line 217 "grn_ecmascript.lemon" +#line 210 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_TERM_EXTRACT, 2); } -#line 1655 "grn_ecmascript.c" +#line 1653 "grn_ecmascript.c" break; case 57: /* relational_expression ::= relational_expression LCP shift_expression */ -#line 220 "grn_ecmascript.lemon" +#line 213 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_LCP, 2); } -#line 1662 "grn_ecmascript.c" +#line 1660 "grn_ecmascript.c" break; case 58: /* relational_expression ::= relational_expression PREFIX shift_expression */ -#line 223 "grn_ecmascript.lemon" +#line 216 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_PREFIX, 2); } -#line 1669 "grn_ecmascript.c" +#line 1667 "grn_ecmascript.c" break; case 59: /* relational_expression ::= relational_expression SUFFIX shift_expression */ -#line 226 "grn_ecmascript.lemon" +#line 219 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SUFFIX, 2); } -#line 1676 "grn_ecmascript.c" +#line 1674 "grn_ecmascript.c" break; case 60: /* relational_expression ::= relational_expression REGEXP shift_expression */ -#line 229 "grn_ecmascript.lemon" +#line 222 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_REGEXP, 2); } -#line 1683 "grn_ecmascript.c" +#line 1681 "grn_ecmascript.c" break; case 62: /* shift_expression ::= shift_expression SHIFTL additive_expression */ -#line 234 "grn_ecmascript.lemon" +#line 227 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SHIFTL, 2); } -#line 1690 "grn_ecmascript.c" +#line 1688 "grn_ecmascript.c" break; case 63: /* shift_expression ::= shift_expression SHIFTR additive_expression */ -#line 237 "grn_ecmascript.lemon" +#line 230 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SHIFTR, 2); } -#line 1697 "grn_ecmascript.c" +#line 1695 "grn_ecmascript.c" break; case 64: /* shift_expression ::= shift_expression SHIFTRR additive_expression */ -#line 240 "grn_ecmascript.lemon" +#line 233 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SHIFTRR, 2); } -#line 1704 "grn_ecmascript.c" +#line 1702 "grn_ecmascript.c" break; case 66: /* additive_expression ::= additive_expression PLUS multiplicative_expression */ - case 130: /* adjuster ::= adjuster PLUS adjust_expression */ yytestcase(yyruleno==130); -#line 245 "grn_ecmascript.lemon" + case 129: /* adjuster ::= adjuster PLUS adjust_expression */ yytestcase(yyruleno==129); +#line 238 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_PLUS, 2); } -#line 1712 "grn_ecmascript.c" +#line 1710 "grn_ecmascript.c" break; case 67: /* additive_expression ::= additive_expression MINUS multiplicative_expression */ -#line 248 "grn_ecmascript.lemon" +#line 241 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_MINUS, 2); } -#line 1719 "grn_ecmascript.c" +#line 1717 "grn_ecmascript.c" break; case 69: /* multiplicative_expression ::= multiplicative_expression STAR unary_expression */ - case 132: /* adjust_expression ::= adjust_match_expression STAR DECIMAL */ yytestcase(yyruleno==132); -#line 253 "grn_ecmascript.lemon" + case 131: /* adjust_expression ::= adjust_match_expression STAR DECIMAL */ yytestcase(yyruleno==131); +#line 246 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_STAR, 2); } -#line 1727 "grn_ecmascript.c" +#line 1725 "grn_ecmascript.c" break; case 70: /* multiplicative_expression ::= multiplicative_expression SLASH unary_expression */ -#line 256 "grn_ecmascript.lemon" +#line 249 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_SLASH, 2); } -#line 1734 "grn_ecmascript.c" +#line 1732 "grn_ecmascript.c" break; case 71: /* multiplicative_expression ::= multiplicative_expression MOD unary_expression */ -#line 259 "grn_ecmascript.lemon" +#line 252 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_MOD, 2); } -#line 1741 "grn_ecmascript.c" +#line 1739 "grn_ecmascript.c" break; case 73: /* unary_expression ::= DELETE unary_expression */ -#line 264 "grn_ecmascript.lemon" +#line 257 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_DELETE, 1); } -#line 1748 "grn_ecmascript.c" +#line 1746 "grn_ecmascript.c" break; case 74: /* unary_expression ::= INCR unary_expression */ -#line 267 "grn_ecmascript.lemon" +#line 260 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_expr *e = (grn_expr *)(efsi->e); @@ -1759,16 +1757,16 @@ static void yy_reduce( grn_expr_dfi_put(ctx, e, dfi_->type, dfi_->domain, dfi_->code); if (const_p) { ERR(GRN_SYNTAX_ERROR, - "constant can't be incremented (%.*s)", + "constant can't be incremented: <%.*s>", (int)(efsi->str_end - efsi->str), efsi->str); } else { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_INCR, 1); } } -#line 1769 "grn_ecmascript.c" +#line 1767 "grn_ecmascript.c" break; case 75: /* unary_expression ::= DECR unary_expression */ -#line 284 "grn_ecmascript.lemon" +#line 277 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_expr *e = (grn_expr *)(efsi->e); @@ -1780,72 +1778,72 @@ static void yy_reduce( grn_expr_dfi_put(ctx, e, dfi_->type, dfi_->domain, dfi_->code); if (const_p) { ERR(GRN_SYNTAX_ERROR, - "constant can't be decremented (%.*s)", + "constant can't be decremented: <%.*s>", (int)(efsi->str_end - efsi->str), efsi->str); } else { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_DECR, 1); } } -#line 1790 "grn_ecmascript.c" +#line 1788 "grn_ecmascript.c" break; case 76: /* unary_expression ::= PLUS unary_expression */ -#line 301 "grn_ecmascript.lemon" +#line 294 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_PLUS, 1); } -#line 1797 "grn_ecmascript.c" +#line 1795 "grn_ecmascript.c" break; case 77: /* unary_expression ::= MINUS unary_expression */ -#line 304 "grn_ecmascript.lemon" +#line 297 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_MINUS, 1); } -#line 1804 "grn_ecmascript.c" +#line 1802 "grn_ecmascript.c" break; case 78: /* unary_expression ::= NOT unary_expression */ -#line 307 "grn_ecmascript.lemon" +#line 300 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_NOT, 1); } -#line 1811 "grn_ecmascript.c" +#line 1809 "grn_ecmascript.c" break; case 79: /* unary_expression ::= BITWISE_NOT unary_expression */ -#line 310 "grn_ecmascript.lemon" +#line 303 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_BITWISE_NOT, 1); } -#line 1818 "grn_ecmascript.c" +#line 1816 "grn_ecmascript.c" break; case 80: /* unary_expression ::= ADJUST unary_expression */ -#line 313 "grn_ecmascript.lemon" +#line 306 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_ADJUST, 1); } -#line 1825 "grn_ecmascript.c" +#line 1823 "grn_ecmascript.c" break; case 81: /* unary_expression ::= EXACT unary_expression */ -#line 316 "grn_ecmascript.lemon" +#line 309 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_EXACT, 1); } -#line 1832 "grn_ecmascript.c" +#line 1830 "grn_ecmascript.c" break; case 82: /* unary_expression ::= PARTIAL unary_expression */ -#line 319 "grn_ecmascript.lemon" +#line 312 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_PARTIAL, 1); } -#line 1839 "grn_ecmascript.c" +#line 1837 "grn_ecmascript.c" break; case 83: /* unary_expression ::= UNSPLIT unary_expression */ -#line 322 "grn_ecmascript.lemon" +#line 315 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_UNSPLIT, 1); } -#line 1846 "grn_ecmascript.c" +#line 1844 "grn_ecmascript.c" break; case 85: /* postfix_expression ::= lefthand_side_expression INCR */ -#line 327 "grn_ecmascript.lemon" +#line 320 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_expr *e = (grn_expr *)(efsi->e); @@ -1857,16 +1855,16 @@ static void yy_reduce( grn_expr_dfi_put(ctx, e, dfi_->type, dfi_->domain, dfi_->code); if (const_p) { ERR(GRN_SYNTAX_ERROR, - "constant can't be incremented (%.*s)", + "constant can't be incremented: <%.*s>", (int)(efsi->str_end - efsi->str), efsi->str); } else { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_INCR_POST, 1); } } -#line 1867 "grn_ecmascript.c" +#line 1865 "grn_ecmascript.c" break; case 86: /* postfix_expression ::= lefthand_side_expression DECR */ -#line 344 "grn_ecmascript.lemon" +#line 337 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_expr *e = (grn_expr *)(efsi->e); @@ -1878,127 +1876,112 @@ static void yy_reduce( grn_expr_dfi_put(ctx, e, dfi_->type, dfi_->domain, dfi_->code); if (const_p) { ERR(GRN_SYNTAX_ERROR, - "constant can't be decremented (%.*s)", + "constant can't be decremented: <%.*s>", (int)(efsi->str_end - efsi->str), efsi->str); } else { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_DECR_POST, 1); } } -#line 1888 "grn_ecmascript.c" +#line 1886 "grn_ecmascript.c" break; case 89: /* call_expression ::= member_expression arguments */ -#line 365 "grn_ecmascript.lemon" +#line 358 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_CALL, yymsp[0].minor.yy0); } -#line 1895 "grn_ecmascript.c" +#line 1893 "grn_ecmascript.c" break; case 109: /* object_literal ::= BRACEL property_name_and_value_list BRACER */ -#line 393 "grn_ecmascript.lemon" +#line 386 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_expr *e = (grn_expr *)(efsi->e); - grn_expr_append_const_ptr(ctx, (grn_obj *)e, (grn_obj *)efsi->hash_args, + grn_expr_append_const_ptr(ctx, (grn_obj *)e, (grn_obj *)efsi->object_literal, GRN_OP_PUSH, 1); + efsi->object_literal = NULL; } -#line 1905 "grn_ecmascript.c" +#line 1904 "grn_ecmascript.c" break; case 113: /* property_name_and_value ::= property_name COLON assignment_expression */ -#line 404 "grn_ecmascript.lemon" +#line 398 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_expr *e = (grn_expr *)(efsi->e); grn_obj *property = e->codes[e->codes_curr - 3].value; grn_obj *value = e->codes[e->codes_curr - 1].value; - if (!efsi->hash_args) { - efsi->hash_args = + if (!efsi->object_literal) { + efsi->object_literal = grn_hash_create(ctx, NULL, GRN_TABLE_MAX_KEY_SIZE, sizeof(grn_obj), GRN_OBJ_KEY_VAR_SIZE|GRN_OBJ_TEMPORARY|GRN_HASH_TINY); } - if (!efsi->hash_args) { + if (!efsi->object_literal) { ERR(GRN_NO_MEMORY_AVAILABLE, - "couldn't create hash table for parsing object literal arguments (%.*s)", + "couldn't create hash table for parsing object literal: <%.*s>", (int)(efsi->str_end - efsi->str), efsi->str); } else { grn_obj *buf; int added; - if (grn_hash_add(ctx, (grn_hash *)efsi->hash_args, - GRN_BULK_HEAD(property), GRN_BULK_VSIZE(property), + if (grn_hash_add(ctx, (grn_hash *)efsi->object_literal, + GRN_TEXT_VALUE(property), GRN_TEXT_LEN(property), (void **)&buf, &added)) { if (added) { GRN_OBJ_INIT(buf, value->header.type, 0, value->header.domain); GRN_TEXT_PUT(ctx, buf, GRN_TEXT_VALUE(value), GRN_TEXT_LEN(value)); } else { - grn_obj inspected; - grn_obj *obj; - GRN_TEXT_INIT(&inspected, 0); - grn_inspect(ctx, &inspected, property); ERR(GRN_INVALID_ARGUMENT, - "same property has already been specified (%.*s)", - (int)GRN_TEXT_LEN(&inspected), GRN_TEXT_VALUE(&inspected)); - GRN_OBJ_FIN(ctx, &inspected); - GRN_HASH_EACH(ctx, efsi->hash_args, i, NULL, NULL, (void **)&obj, { - GRN_OBJ_FIN(ctx, obj); - }); - grn_hash_close(efsi->ctx, efsi->hash_args); + "duplicated property name: <%.*s>", + (int)GRN_TEXT_LEN(property), + GRN_TEXT_VALUE(property)); } e->codes_curr -= 3; } else { - grn_obj inspected; - grn_obj *obj; - GRN_TEXT_INIT(&inspected, 0); - grn_inspect(ctx, &inspected, value); ERR(GRN_NO_MEMORY_AVAILABLE, - "failed parse object literal arguments (%.*s)", - (int)GRN_TEXT_LEN(&inspected), GRN_TEXT_VALUE(&inspected)); - GRN_OBJ_FIN(ctx, &inspected); - GRN_HASH_EACH(ctx, efsi->hash_args, i, NULL, NULL, (void **)&obj, { - GRN_OBJ_FIN(ctx, obj); - }); - grn_hash_close(efsi->ctx, efsi->hash_args); + "failed to add a property to object literal: <%.*s>", + (int)GRN_TEXT_LEN(property), + GRN_TEXT_VALUE(property)); } } } -#line 1965 "grn_ecmascript.c" +#line 1948 "grn_ecmascript.c" break; - case 116: /* member_expression_part ::= BRACKETL expression BRACKETR */ -#line 464 "grn_ecmascript.lemon" + case 115: /* member_expression_part ::= BRACKETL expression BRACKETR */ +#line 441 "grn_ecmascript.lemon" { grn_expr_append_op(efsi->ctx, efsi->e, GRN_OP_GET_MEMBER, 2); } -#line 1972 "grn_ecmascript.c" +#line 1955 "grn_ecmascript.c" break; - case 118: /* arguments ::= PARENL argument_list PARENR */ -#line 469 "grn_ecmascript.lemon" + case 117: /* arguments ::= PARENL argument_list PARENR */ +#line 446 "grn_ecmascript.lemon" { yygotominor.yy0 = yymsp[-1].minor.yy0; } -#line 1977 "grn_ecmascript.c" +#line 1960 "grn_ecmascript.c" break; - case 119: /* argument_list ::= */ -#line 470 "grn_ecmascript.lemon" + case 118: /* argument_list ::= */ +#line 447 "grn_ecmascript.lemon" { yygotominor.yy0 = 0; } -#line 1982 "grn_ecmascript.c" +#line 1965 "grn_ecmascript.c" break; - case 120: /* argument_list ::= assignment_expression */ -#line 471 "grn_ecmascript.lemon" + case 119: /* argument_list ::= assignment_expression */ +#line 448 "grn_ecmascript.lemon" { yygotominor.yy0 = 1; } -#line 1987 "grn_ecmascript.c" +#line 1970 "grn_ecmascript.c" break; - case 121: /* argument_list ::= argument_list COMMA assignment_expression */ -#line 472 "grn_ecmascript.lemon" + case 120: /* argument_list ::= argument_list COMMA assignment_expression */ +#line 449 "grn_ecmascript.lemon" { yygotominor.yy0 = yymsp[-2].minor.yy0 + 1; } -#line 1992 "grn_ecmascript.c" +#line 1975 "grn_ecmascript.c" break; - case 122: /* output_columns ::= */ -#line 474 "grn_ecmascript.lemon" + case 121: /* output_columns ::= */ +#line 451 "grn_ecmascript.lemon" { yygotominor.yy0 = 0; } -#line 1999 "grn_ecmascript.c" +#line 1982 "grn_ecmascript.c" break; - case 123: /* output_columns ::= output_column */ -#line 477 "grn_ecmascript.lemon" + case 122: /* output_columns ::= output_column */ +#line 454 "grn_ecmascript.lemon" { if (yymsp[0].minor.yy0) { yygotominor.yy0 = 0; @@ -2006,10 +1989,10 @@ static void yy_reduce( yygotominor.yy0 = 1; } } -#line 2010 "grn_ecmascript.c" +#line 1993 "grn_ecmascript.c" break; - case 124: /* output_columns ::= output_columns COMMA output_column */ -#line 485 "grn_ecmascript.lemon" + case 123: /* output_columns ::= output_columns COMMA output_column */ +#line 462 "grn_ecmascript.lemon" { if (yymsp[0].minor.yy0) { yygotominor.yy0 = yymsp[-2].minor.yy0; @@ -2020,10 +2003,10 @@ static void yy_reduce( yygotominor.yy0 = 1; } } -#line 2024 "grn_ecmascript.c" +#line 2007 "grn_ecmascript.c" break; - case 125: /* output_column ::= STAR */ -#line 496 "grn_ecmascript.lemon" + case 124: /* output_column ::= STAR */ +#line 473 "grn_ecmascript.lemon" { grn_ctx *ctx = efsi->ctx; grn_obj *expr = efsi->e; @@ -2061,21 +2044,21 @@ static void yy_reduce( yygotominor.yy0 = GRN_TRUE; } } -#line 2065 "grn_ecmascript.c" +#line 2048 "grn_ecmascript.c" break; - case 126: /* output_column ::= NONEXISTENT_COLUMN */ -#line 533 "grn_ecmascript.lemon" + case 125: /* output_column ::= NONEXISTENT_COLUMN */ +#line 510 "grn_ecmascript.lemon" { yygotominor.yy0 = GRN_TRUE; } -#line 2072 "grn_ecmascript.c" +#line 2055 "grn_ecmascript.c" break; - case 127: /* output_column ::= assignment_expression */ -#line 536 "grn_ecmascript.lemon" + case 126: /* output_column ::= assignment_expression */ +#line 513 "grn_ecmascript.lemon" { yygotominor.yy0 = GRN_FALSE; } -#line 2079 "grn_ecmascript.c" +#line 2062 "grn_ecmascript.c" break; default: /* (0) input ::= query */ yytestcase(yyruleno==0); @@ -2125,11 +2108,10 @@ static void yy_reduce( /* (111) property_name_and_value_list ::= property_name_and_value */ yytestcase(yyruleno==111); /* (112) property_name_and_value_list ::= property_name_and_value_list COMMA property_name_and_value */ yytestcase(yyruleno==112); /* (114) property_name ::= STRING */ yytestcase(yyruleno==114); - /* (115) property_name ::= DECIMAL */ yytestcase(yyruleno==115); - /* (117) member_expression_part ::= DOT IDENTIFIER */ yytestcase(yyruleno==117); - /* (128) adjuster ::= */ yytestcase(yyruleno==128); - /* (129) adjuster ::= adjust_expression */ yytestcase(yyruleno==129); - /* (131) adjust_expression ::= adjust_match_expression */ yytestcase(yyruleno==131); + /* (116) member_expression_part ::= DOT IDENTIFIER */ yytestcase(yyruleno==116); + /* (127) adjuster ::= */ yytestcase(yyruleno==127); + /* (128) adjuster ::= adjust_expression */ yytestcase(yyruleno==128); + /* (130) adjust_expression ::= adjust_match_expression */ yytestcase(yyruleno==130); break; /********** End reduce actions ************************************************/ }; @@ -2210,19 +2192,12 @@ static void yy_syntax_error( } else { GRN_TEXT_PUTC(ctx, &message, '|'); } - if (efsi->hash_args) { - grn_obj *value; - GRN_HASH_EACH(ctx, efsi->hash_args, i, NULL, NULL, (void **)&value, { - GRN_OBJ_FIN(ctx, value); - }); - grn_hash_close(efsi->ctx, efsi->hash_args); - } ERR(GRN_SYNTAX_ERROR, "Syntax error: <%.*s>", (int)GRN_TEXT_LEN(&message), GRN_TEXT_VALUE(&message)); GRN_OBJ_FIN(ctx, &message); } } -#line 2226 "grn_ecmascript.c" +#line 2201 "grn_ecmascript.c" /************ End %syntax_error code ******************************************/ grn_expr_parserARG_STORE; /* Suppress warning about unused %extra_argument variable */ }