[Groonga-commit] groonga/groonga at 1f28419 [master] Update auto generated files

Back to archive index

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 */
 }




More information about the Groonga-commit mailing list
Back to archive index