server/util_expr_eval.c:621: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `ap_expr_yyparse`.

server/util_expr_eval.c:619:5: Call
617.     ctx.at_start    = 1;
618. 
619.     ap_expr_yylex_init(&ctx.scanner);
         ^
620.     ap_expr_yyset_extra(&ctx, ctx.scanner);
621.     rc = ap_expr_yyparse(&ctx);

server/util_expr_scan.c:2716:12: Call
  2714.     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
  2715. 
  2716.     return yy_init_globals ( *ptr_yy_globals );
                   ^
  2717. }
  2718. 

server/util_expr_scan.c:2764:5: Assignment
    2762.     yyg->yy_buffer_stack = NULL;
    2763.     yyg->yy_buffer_stack_top = 0;
    2764.     yyg->yy_buffer_stack_max = 0;
              ^
    2765.     yyg->yy_c_buf_p = NULL;
    2766.     yyg->yy_init = 0;

server/util_expr_eval.c:621:10: Call
619.     ap_expr_yylex_init(&ctx.scanner);
620.     ap_expr_yyset_extra(&ctx, ctx.scanner);
621.     rc = ap_expr_yyparse(&ctx);
              ^
622.     ap_expr_yylex_destroy(ctx.scanner);
623. 

server/util_expr_parse.c:1310:1: Parameter `ctx->scanner->yy_buffer_stack_max`
  1308. #if (defined __STDC__ || defined __C99__FUNC__ \
  1309.      || defined __cplusplus || defined _MSC_VER)
  1310. int
        ^
  1311. yyparse (ap_expr_parse_ctx_t *ctx)
  1312. #else

server/util_expr_parse.c:1505:16: Call
  1503.     {
  1504.       YYDPRINTF ((stderr, "Reading a token: "));
  1505.       yychar = YYLEX;
                       ^
  1506.     }
  1507. 

server/util_expr_scan.c:992:1: Parameter `yyscanner->yy_buffer_stack_max`
    990. /** The main scanner function which does all the work.
    991.  */
    992. YY_DECL
         ^
    993. {
    994. 	yy_state_type yy_current_state;

server/util_expr_scan.c:1019:4: Call
    1017. 
    1018. 		if ( ! YY_CURRENT_BUFFER ) {
    1019. 			ap_expr_yyensure_buffer_stack (yyscanner);
             ^
    1020. 			YY_CURRENT_BUFFER_LVALUE =
    1021. 				ap_expr_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);

server/util_expr_scan.c:2359:1: <LHS trace>
2357.  *  Guarantees space for at least one push.
2358.  */
2359. static void ap_expr_yyensure_buffer_stack (yyscan_t yyscanner)
      ^
2360. {
2361. 	int num_to_alloc;

server/util_expr_scan.c:2359:1: Parameter `yyscanner->yy_buffer_stack_max`
      2357.  *  Guarantees space for at least one push.
      2358.  */
      2359. static void ap_expr_yyensure_buffer_stack (yyscan_t yyscanner)
            ^
      2360. {
      2361. 	int num_to_alloc;

server/util_expr_scan.c:2384:6: Binary operation: ([0, +oo] - 1):unsigned64 by call to `ap_expr_yyparse` 
      2382. 	}
      2383. 
      2384. 	if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
                 ^
      2385. 
      2386. 		/* Increase the buffer to prepare for a possible push. */

static void ap_expr_yyensure_buffer_stack (yyscan_t yyscanner)
{
	int num_to_alloc;
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
	if (!yyg->yy_buffer_stack) {
      num_to_alloc = 1;
		yyg->yy_buffer_stack = (struct yy_buffer_state**)ap_expr_yyalloc
								(num_to_alloc * sizeof(struct yy_buffer_state*)
								, yyscanner);
		if ( ! yyg->yy_buffer_stack )
			YY_FATAL_ERROR( "out of dynamic memory in ap_expr_yyensure_buffer_stack()" );
		memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
		yyg->yy_buffer_stack_max = num_to_alloc;
		yyg->yy_buffer_stack_top = 0;
		return;
	}
	if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
		yy_size_t grow_size = 8  ;
		num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
		yyg->yy_buffer_stack = (struct yy_buffer_state**)ap_expr_yyrealloc
								(yyg->yy_buffer_stack,
								num_to_alloc * sizeof(struct yy_buffer_state*)
								, yyscanner);
		if ( ! yyg->yy_buffer_stack )
			YY_FATAL_ERROR( "out of dynamic memory in ap_expr_yyensure_buffer_stack()" );
		memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
		yyg->yy_buffer_stack_max = num_to_alloc;
	}
}
['AP_DECLARE(const char *) ap_expr_parse(apr_pool_t *pool, apr_pool_t *ptemp,\n                                       ap_expr_info_t *info, const char *expr,\n                                       ap_expr_lookup_fn_t *lookup_fn)\n{\n    ap_expr_parse_ctx_t ctx;\n    int rc;\n    memset(&ctx, 0, sizeof ctx);\n    ctx.pool     = pool;\n    ctx.ptemp    = ptemp;\n    ctx.inputbuf = expr;\n    ctx.inputlen = strlen(expr);\n    ctx.inputptr = ctx.inputbuf;\n    ctx.flags    = info->flags;\n    ctx.lookup_fn   = lookup_fn ? lookup_fn : ap_expr_lookup_default;\n    ctx.at_start    = 1;\n    ap_expr_yylex_init(&ctx.scanner);\n    ap_expr_yyset_extra(&ctx, ctx.scanner);\n    rc = ap_expr_yyparse(&ctx);\n    ap_expr_yylex_destroy(ctx.scanner);\n    if (ctx.error) {\n        if (ctx.error2)\n            return apr_psprintf(pool, "%s: %s", ctx.error, ctx.error2);\n        else\n            return ctx.error;\n    }\n    else if (ctx.error2) {\n        return ctx.error2;\n    }\n    if (rc)\n        return "syntax error";\n#ifdef AP_EXPR_DEBUG\n    if (ctx.expr)\n        expr_dump_tree(ctx.expr, NULL, APLOG_NOTICE, 2);\n#endif\n    info->root_node = ctx.expr;\n    return NULL;\n}', 'int ap_expr_yylex_init(yyscan_t* ptr_yy_globals)\n{\n    if (ptr_yy_globals == NULL){\n        errno = EINVAL;\n        return 1;\n    }\n    *ptr_yy_globals = (yyscan_t) ap_expr_yyalloc ( sizeof( struct yyguts_t ), NULL );\n    if (*ptr_yy_globals == NULL){\n        errno = ENOMEM;\n        return 1;\n    }\n    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));\n    return yy_init_globals ( *ptr_yy_globals );\n}', 'static int yy_init_globals (yyscan_t yyscanner)\n{\n    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;\n    yyg->yy_buffer_stack = NULL;\n    yyg->yy_buffer_stack_top = 0;\n    yyg->yy_buffer_stack_max = 0;\n    yyg->yy_c_buf_p = NULL;\n    yyg->yy_init = 0;\n    yyg->yy_start = 0;\n    yyg->yy_start_stack_ptr = 0;\n    yyg->yy_start_stack_depth = 0;\n    yyg->yy_start_stack =  NULL;\n#ifdef YY_STDINIT\n    yyin = stdin;\n    yyout = stdout;\n#else\n    yyin = NULL;\n    yyout = NULL;\n#endif\n    return 0;\n}', 'int\nyyparse (ap_expr_parse_ctx_t *ctx)\n#else\nint\nyyparse (ctx)\n    ap_expr_parse_ctx_t *ctx;\n#endif\n#endif\n{\nint yychar;\n#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__\n# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \\\n    _Pragma ("GCC diagnostic push") \\\n    _Pragma ("GCC diagnostic ignored \\"-Wuninitialized\\"")\\\n    _Pragma ("GCC diagnostic ignored \\"-Wmaybe-uninitialized\\"")\n# define YY_IGNORE_MAYBE_UNINITIALIZED_END \\\n    _Pragma ("GCC diagnostic pop")\n#else\nstatic YYSTYPE yyval_default;\n# define YY_INITIAL_VALUE(Value) = Value\n#endif\n#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN\n# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN\n# define YY_IGNORE_MAYBE_UNINITIALIZED_END\n#endif\n#ifndef YY_INITIAL_VALUE\n# define YY_INITIAL_VALUE(Value)\n#endif\nYYSTYPE yylval YY_INITIAL_VALUE(yyval_default);\n    int yynerrs;\n    int yystate;\n    int yyerrstatus;\n    yytype_int16 yyssa[YYINITDEPTH];\n    yytype_int16 *yyss;\n    yytype_int16 *yyssp;\n    YYSTYPE yyvsa[YYINITDEPTH];\n    YYSTYPE *yyvs;\n    YYSTYPE *yyvsp;\n    YYSIZE_T yystacksize;\n  int yyn;\n  int yyresult;\n  int yytoken = 0;\n  YYSTYPE yyval;\n#if YYERROR_VERBOSE\n  char yymsgbuf[128];\n  char *yymsg = yymsgbuf;\n  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;\n#endif\n#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))\n  int yylen = 0;\n  yyssp = yyss = yyssa;\n  yyvsp = yyvs = yyvsa;\n  yystacksize = YYINITDEPTH;\n  YYDPRINTF ((stderr, "Starting parse\\n"));\n  yystate = 0;\n  yyerrstatus = 0;\n  yynerrs = 0;\n  yychar = YYEMPTY;\n  goto yysetstate;\n yynewstate:\n  yyssp++;\n yysetstate:\n  *yyssp = yystate;\n  if (yyss + yystacksize - 1 <= yyssp)\n    {\n      YYSIZE_T yysize = yyssp - yyss + 1;\n#ifdef yyoverflow\n      {\n\tYYSTYPE *yyvs1 = yyvs;\n\tyytype_int16 *yyss1 = yyss;\n\tyyoverflow (YY_("memory exhausted"),\n\t\t    &yyss1, yysize * sizeof (*yyssp),\n\t\t    &yyvs1, yysize * sizeof (*yyvsp),\n\t\t    &yystacksize);\n\tyyss = yyss1;\n\tyyvs = yyvs1;\n      }\n#else\n# ifndef YYSTACK_RELOCATE\n      goto yyexhaustedlab;\n# else\n      if (YYMAXDEPTH <= yystacksize)\n\tgoto yyexhaustedlab;\n      yystacksize *= 2;\n      if (YYMAXDEPTH < yystacksize)\n\tyystacksize = YYMAXDEPTH;\n      {\n\tyytype_int16 *yyss1 = yyss;\n\tunion yyalloc *yyptr =\n\t  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));\n\tif (! yyptr)\n\t  goto yyexhaustedlab;\n\tYYSTACK_RELOCATE (yyss_alloc, yyss);\n\tYYSTACK_RELOCATE (yyvs_alloc, yyvs);\n#  undef YYSTACK_RELOCATE\n\tif (yyss1 != yyssa)\n\t  YYSTACK_FREE (yyss1);\n      }\n# endif\n#endif\n      yyssp = yyss + yysize - 1;\n      yyvsp = yyvs + yysize - 1;\n      YYDPRINTF ((stderr, "Stack size increased to %lu\\n",\n\t\t  (unsigned long int) yystacksize));\n      if (yyss + yystacksize - 1 <= yyssp)\n\tYYABORT;\n    }\n  YYDPRINTF ((stderr, "Entering state %d\\n", yystate));\n  if (yystate == YYFINAL)\n    YYACCEPT;\n  goto yybackup;\nyybackup:\n  yyn = yypact[yystate];\n  if (yypact_value_is_default (yyn))\n    goto yydefault;\n  if (yychar == YYEMPTY)\n    {\n      YYDPRINTF ((stderr, "Reading a token: "));\n      yychar = YYLEX;\n    }\n  if (yychar <= YYEOF)\n    {\n      yychar = yytoken = YYEOF;\n      YYDPRINTF ((stderr, "Now at end of input.\\n"));\n    }\n  else\n    {\n      yytoken = YYTRANSLATE (yychar);\n      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);\n    }\n  yyn += yytoken;\n  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)\n    goto yydefault;\n  yyn = yytable[yyn];\n  if (yyn <= 0)\n    {\n      if (yytable_value_is_error (yyn))\n        goto yyerrlab;\n      yyn = -yyn;\n      goto yyreduce;\n    }\n  if (yyerrstatus)\n    yyerrstatus--;\n  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);\n  yychar = YYEMPTY;\n  yystate = yyn;\n  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN\n  *++yyvsp = yylval;\n  YY_IGNORE_MAYBE_UNINITIALIZED_END\n  goto yynewstate;\nyydefault:\n  yyn = yydefact[yystate];\n  if (yyn == 0)\n    goto yyerrlab;\n  goto yyreduce;\nyyreduce:\n  yylen = yyr2[yyn];\n  yyval = yyvsp[1-yylen];\n  YY_REDUCE_PRINT (yyn);\n  switch (yyn)\n    {\n        case 2:\n#line 126 "util_expr_parse.y"\n    { ctx->expr = (yyvsp[(2) - (2)].exVal); }\n    break;\n  case 3:\n#line 127 "util_expr_parse.y"\n    { ctx->expr = (yyvsp[(2) - (2)].exVal); }\n    break;\n  case 4:\n#line 128 "util_expr_parse.y"\n    { YYABORT; }\n    break;\n  case 5:\n#line 131 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_True,        NULL, NULL, ctx); }\n    break;\n  case 6:\n#line 132 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_False,       NULL, NULL, ctx); }\n    break;\n  case 7:\n#line 133 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_Not,         (yyvsp[(2) - (2)].exVal),   NULL, ctx); }\n    break;\n  case 8:\n#line 134 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_Or,          (yyvsp[(1) - (3)].exVal),   (yyvsp[(3) - (3)].exVal),   ctx); }\n    break;\n  case 9:\n#line 135 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_And,         (yyvsp[(1) - (3)].exVal),   (yyvsp[(3) - (3)].exVal),   ctx); }\n    break;\n  case 10:\n#line 136 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_Comp,        (yyvsp[(1) - (1)].exVal),   NULL, ctx); }\n    break;\n  case 11:\n#line 137 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_unary_op_make(       (yyvsp[(1) - (2)].cpVal),   (yyvsp[(2) - (2)].exVal),   ctx); }\n    break;\n  case 12:\n#line 138 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_binary_op_make((yyvsp[(2) - (3)].cpVal),   (yyvsp[(1) - (3)].exVal),   (yyvsp[(3) - (3)].exVal),   ctx); }\n    break;\n  case 13:\n#line 139 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }\n    break;\n  case 14:\n#line 140 "util_expr_parse.y"\n    { YYABORT; }\n    break;\n  case 15:\n#line 143 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_EQ,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 16:\n#line 144 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_NE,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 17:\n#line 145 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_LT,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 18:\n#line 146 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_LE,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 19:\n#line 147 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_GT,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 20:\n#line 148 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_GE,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 21:\n#line 149 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_STR_EQ,  (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 22:\n#line 150 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_STR_NE,  (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 23:\n#line 151 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_STR_LT,  (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 24:\n#line 152 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_STR_LE,  (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 25:\n#line 153 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_STR_GT,  (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 26:\n#line 154 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_STR_GE,  (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 27:\n#line 155 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_IN,      (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 28:\n#line 156 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_REG,     (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 29:\n#line 157 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_NRE,     (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 30:\n#line 160 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 31:\n#line 161 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_list_regex_make((yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 32:\n#line 162 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_list_regex_make((yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }\n    break;\n  case 33:\n#line 163 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }\n    break;\n  case 34:\n#line 164 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }\n    break;\n  case 35:\n#line 167 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_ListElement, (yyvsp[(1) - (1)].exVal), NULL, ctx); }\n    break;\n  case 36:\n#line 168 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_ListElement, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal),   ctx); }\n    break;\n  case 37:\n#line 171 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 38:\n#line 172 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_concat_make((yyvsp[(1) - (2)].exVal), (yyvsp[(2) - (2)].exVal), ctx); }\n    break;\n  case 39:\n#line 173 "util_expr_parse.y"\n    { YYABORT; }\n    break;\n  case 40:\n#line 176 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_String, (yyvsp[(1) - (1)].cpVal), NULL, ctx); }\n    break;\n  case 41:\n#line 177 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 42:\n#line 178 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 43:\n#line 181 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_var_make((yyvsp[(2) - (3)].cpVal), ctx); }\n    break;\n  case 44:\n#line 182 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(2) - (5)].cpVal), (yyvsp[(4) - (5)].exVal), ctx); }\n    break;\n  case 45:\n#line 183 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_str_word_make((yyvsp[(2) - (3)].exVal), ctx); }\n    break;\n  case 46:\n#line 184 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_str_bool_make((yyvsp[(2) - (3)].exVal), ctx); }\n    break;\n  case 47:\n#line 187 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_Digit,  (yyvsp[(1) - (1)].cpVal), NULL, ctx); }\n    break;\n  case 48:\n#line 188 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_String, "", NULL, ctx); }\n    break;\n  case 49:\n#line 189 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }\n    break;\n  case 50:\n#line 190 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_Concat, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal),   ctx); }\n    break;\n  case 51:\n#line 191 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_make(op_Regsub, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal),   ctx); }\n    break;\n  case 52:\n#line 192 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 53:\n#line 193 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 54:\n#line 194 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 55:\n#line 195 "util_expr_parse.y"\n    {\n                                           (yyval.exVal) = ap_expr_make(op_Join,   (yyvsp[(2) - (2)].exVal), NULL, ctx);\n            }\n    break;\n  case 56:\n#line 198 "util_expr_parse.y"\n    {\n                                           (yyval.exVal) = ap_expr_make(op_Join,   (yyvsp[(2) - (4)].exVal), (yyvsp[(4) - (4)].exVal),   ctx);\n            }\n    break;\n  case 57:\n#line 201 "util_expr_parse.y"\n    {\n                                           (yyval.exVal) = ap_expr_make(op_Join,   (yyvsp[(3) - (6)].exVal), (yyvsp[(5) - (6)].exVal),   ctx);\n            }\n    break;\n  case 58:\n#line 204 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }\n    break;\n  case 59:\n#line 207 "util_expr_parse.y"\n    {\n                ap_expr_t *e = ap_expr_regex_make((yyvsp[(2) - (3)].cpVal), (yyvsp[(3) - (3)].cpVal), NULL, 0, ctx);\n                if (!e) {\n                    ctx->error = "Failed to compile regular expression";\n                    YYERROR;\n                }\n                (yyval.exVal) = e;\n            }\n    break;\n  case 60:\n#line 216 "util_expr_parse.y"\n    {\n                ap_expr_t *e = ap_expr_regex_make((yyvsp[(2) - (4)].cpVal), (yyvsp[(4) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), 0, ctx);\n                if (!e) {\n                    ctx->error = "Failed to compile regular expression";\n                    YYERROR;\n                }\n                (yyval.exVal) = e;\n            }\n    break;\n  case 61:\n#line 225 "util_expr_parse.y"\n    {\n                ap_expr_t *e = ap_expr_regex_make((yyvsp[(2) - (4)].cpVal), (yyvsp[(4) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), 1, ctx);\n                if (!e) {\n                    ctx->error = "Failed to compile regular expression";\n                    YYERROR;\n                }\n                (yyval.exVal) = e;\n            }\n    break;\n  case 62:\n#line 242 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 63:\n#line 243 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 64:\n#line 244 "util_expr_parse.y"\n    { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }\n    break;\n  case 65:\n#line 247 "util_expr_parse.y"\n    {\n                int *n = apr_palloc(ctx->pool, sizeof(int));\n                *n = (yyvsp[(1) - (1)].num);\n                (yyval.exVal) = ap_expr_make(op_Regref, n, NULL, ctx);\n            }\n    break;\n  case 66:\n#line 254 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_list_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); }\n    break;\n  case 67:\n#line 258 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); }\n    break;\n  case 68:\n#line 259 "util_expr_parse.y"\n    { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); }\n    break;\n#line 2027 "util_expr_parse.c"\n      default: break;\n    }\n  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);\n  YYPOPSTACK (yylen);\n  yylen = 0;\n  YY_STACK_PRINT (yyss, yyssp);\n  *++yyvsp = yyval;\n  yyn = yyr1[yyn];\n  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;\n  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)\n    yystate = yytable[yystate];\n  else\n    yystate = yydefgoto[yyn - YYNTOKENS];\n  goto yynewstate;\nyyerrlab:\n  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);\n  if (!yyerrstatus)\n    {\n      ++yynerrs;\n#if ! YYERROR_VERBOSE\n      yyerror (ctx, YY_("syntax error"));\n#else\n# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \\\n                                        yyssp, yytoken)\n      {\n        char const *yymsgp = YY_("syntax error");\n        int yysyntax_error_status;\n        yysyntax_error_status = YYSYNTAX_ERROR;\n        if (yysyntax_error_status == 0)\n          yymsgp = yymsg;\n        else if (yysyntax_error_status == 1)\n          {\n            if (yymsg != yymsgbuf)\n              YYSTACK_FREE (yymsg);\n            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);\n            if (!yymsg)\n              {\n                yymsg = yymsgbuf;\n                yymsg_alloc = sizeof yymsgbuf;\n                yysyntax_error_status = 2;\n              }\n            else\n              {\n                yysyntax_error_status = YYSYNTAX_ERROR;\n                yymsgp = yymsg;\n              }\n          }\n        yyerror (ctx, yymsgp);\n        if (yysyntax_error_status == 2)\n          goto yyexhaustedlab;\n      }\n# undef YYSYNTAX_ERROR\n#endif\n    }\n  if (yyerrstatus == 3)\n    {\n      if (yychar <= YYEOF)\n\t{\n\t  if (yychar == YYEOF)\n\t    YYABORT;\n\t}\n      else\n\t{\n\t  yydestruct ("Error: discarding",\n\t\t      yytoken, &yylval, ctx);\n\t  yychar = YYEMPTY;\n\t}\n    }\n  goto yyerrlab1;\nyyerrorlab:\n  if (  0)\n     goto yyerrorlab;\n  YYPOPSTACK (yylen);\n  yylen = 0;\n  YY_STACK_PRINT (yyss, yyssp);\n  yystate = *yyssp;\n  goto yyerrlab1;\nyyerrlab1:\n  yyerrstatus = 3;\n  for (;;)\n    {\n      yyn = yypact[yystate];\n      if (!yypact_value_is_default (yyn))\n\t{\n\t  yyn += YYTERROR;\n\t  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)\n\t    {\n\t      yyn = yytable[yyn];\n\t      if (0 < yyn)\n\t\tbreak;\n\t    }\n\t}\n      if (yyssp == yyss)\n\tYYABORT;\n      yydestruct ("Error: popping",\n\t\t  yystos[yystate], yyvsp, ctx);\n      YYPOPSTACK (1);\n      yystate = *yyssp;\n      YY_STACK_PRINT (yyss, yyssp);\n    }\n  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN\n  *++yyvsp = yylval;\n  YY_IGNORE_MAYBE_UNINITIALIZED_END\n  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);\n  yystate = yyn;\n  goto yynewstate;\nyyacceptlab:\n  yyresult = 0;\n  goto yyreturn;\nyyabortlab:\n  yyresult = 1;\n  goto yyreturn;\n#if !defined yyoverflow || YYERROR_VERBOSE\nyyexhaustedlab:\n  yyerror (ctx, YY_("memory exhausted"));\n  yyresult = 2;\n#endif\nyyreturn:\n  if (yychar != YYEMPTY)\n    {\n      yytoken = YYTRANSLATE (yychar);\n      yydestruct ("Cleanup: discarding lookahead",\n                  yytoken, &yylval, ctx);\n    }\n  YYPOPSTACK (yylen);\n  YY_STACK_PRINT (yyss, yyssp);\n  while (yyssp != yyss)\n    {\n      yydestruct ("Cleanup: popping",\n\t\t  yystos[*yyssp], yyvsp, ctx);\n      YYPOPSTACK (1);\n    }\n#ifndef yyoverflow\n  if (yyss != yyssa)\n    YYSTACK_FREE (yyss);\n#endif\n#if YYERROR_VERBOSE\n  if (yymsg != yymsgbuf)\n    YYSTACK_FREE (yymsg);\n#endif\n  return YYID (yyresult);\n}', 'YY_DECL\n{\n\tyy_state_type yy_current_state;\n\tchar *yy_cp, *yy_bp;\n\tint yy_act;\n    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;\n    yylval = yylval_param;\n\tif ( !yyg->yy_init )\n\t\t{\n\t\tyyg->yy_init = 1;\n#ifdef YY_USER_INIT\n\t\tYY_USER_INIT;\n#endif\n\t\tif ( ! yyg->yy_start )\n\t\t\tyyg->yy_start = 1;\n\t\tif ( ! yyin )\n\t\t\tyyin = stdin;\n\t\tif ( ! yyout )\n\t\t\tyyout = stdout;\n\t\tif ( ! YY_CURRENT_BUFFER ) {\n\t\t\tap_expr_yyensure_buffer_stack (yyscanner);\n\t\t\tYY_CURRENT_BUFFER_LVALUE =\n\t\t\t\tap_expr_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);\n\t\t}\n\t\tap_expr_yy_load_buffer_state(yyscanner );\n\t\t}\n\t{\n#line 179 "util_expr_scan.l"\n  if (yyextra->at_start) {\n    yyextra->at_start = 0;\n    if (yyextra->flags & AP_EXPR_FLAG_STRING_RESULT) {\n        STATE_PUSH(str, 1);\n        return T_EXPR_STRING;\n    }\n    else {\n        STATE_PUSH(expr, 1);\n        return T_EXPR_BOOL;\n    }\n  }\n#line 1052 "util_expr_scan.c"\n\twhile (  1 )\n\t\t{\n\t\tyy_cp = yyg->yy_c_buf_p;\n\t\t*yy_cp = yyg->yy_hold_char;\n\t\tyy_bp = yy_cp;\n\t\tyy_current_state = yyg->yy_start;\nyy_match:\n\t\tdo\n\t\t\t{\n\t\t\tYY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;\n\t\t\tif ( yy_accept[yy_current_state] )\n\t\t\t\t{\n\t\t\t\tyyg->yy_last_accepting_state = yy_current_state;\n\t\t\t\tyyg->yy_last_accepting_cpos = yy_cp;\n\t\t\t\t}\n\t\t\twhile ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )\n\t\t\t\t{\n\t\t\t\tyy_current_state = (int) yy_def[yy_current_state];\n\t\t\t\tif ( yy_current_state >= 157 )\n\t\t\t\t\tyy_c = yy_meta[(unsigned int) yy_c];\n\t\t\t\t}\n\t\t\tyy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];\n\t\t\t++yy_cp;\n\t\t\t}\n\t\twhile ( yy_current_state != 156 );\n\t\tyy_cp = yyg->yy_last_accepting_cpos;\n\t\tyy_current_state = yyg->yy_last_accepting_state;\nyy_find_action:\n\t\tyy_act = yy_accept[yy_current_state];\n\t\tYY_DO_BEFORE_ACTION;\ndo_action:\n\t\tswitch ( yy_act )\n\t{\n\t\t\tcase 0:\n\t\t\t*yy_cp = yyg->yy_hold_char;\n\t\t\tyy_cp = yyg->yy_last_accepting_cpos;\n\t\t\tyy_current_state = yyg->yy_last_accepting_state;\n\t\t\tgoto yy_find_action;\ncase YY_STATE_EOF(str):\n#line 201 "util_expr_scan.l"\n{\n    STATE_POP(0);\n    if (YY_START != INITIAL) {\n        PERROR("Unterminated string");\n    }\n    yylval->cpVal = STR_RETURN();\n    STACK_POP();\n    return T_STRING;\n}\n\tYY_BREAK\ncase YY_STATE_EOF(expr):\n#line 210 "util_expr_scan.l"\n{\n    STATE_POP(1);\n    if (YY_START != INITIAL) {\n        PERROR("Unterminated expression");\n    }\n}\n\tYY_BREAK\ncase 1:\nYY_RULE_SETUP\n#line 217 "util_expr_scan.l"\n{\n    if (yytext[0] == str_stop) {\n        if (!STR_EMPTY()) {\n            yyless(0);\n            yylval->cpVal = STR_RETURN();\n            return T_STRING;\n        }\n        STATE_POP(1);\n        return T_STR_END;\n    }\n    STR_APPEND_NOCHECK(yytext[0]);\n}\n\tYY_BREAK\ncase 2:\nYY_RULE_SETUP\n#line 231 "util_expr_scan.l"\n{\n    if (!STR_EMPTY()) {\n        yyless(0);\n        yylval->cpVal = STR_RETURN();\n        return T_STRING;\n    }\n    yylval->num = yytext[1] - \'0\';\n    return T_REG_REF;\n}\n\tYY_BREAK\ncase 3:\nYY_RULE_SETUP\n#line 242 "util_expr_scan.l"\n{\n    if (!STR_EMPTY()) {\n        yyless(0);\n        yylval->cpVal = STR_RETURN();\n        return T_STRING;\n    }\n    STATE_PUSH(var, 1);\n    return T_VAR_BEGIN;\n}\n\tYY_BREAK\ncase 4:\nYY_RULE_SETUP\n#line 252 "util_expr_scan.l"\n{\n    if (!STR_EMPTY()) {\n        yyless(0);\n        yylval->cpVal = STR_RETURN();\n        return T_STRING;\n    }\n    STATE_PUSH(expr, 1);\n    return T_VAREXP_BEGIN;\n}\n\tYY_BREAK\ncase 5:\nYY_RULE_SETUP\n#line 263 "util_expr_scan.l"\n{\n    PERROR("Bad character escape sequence");\n}\n\tYY_BREAK\ncase 6:\nYY_RULE_SETUP\n#line 266 "util_expr_scan.l"\n{\n    int result;\n    (void)sscanf(yytext+1, "%o", &result);\n    STR_APPEND_NOCHECK(result);\n}\n\tYY_BREAK\ncase 7:\nYY_RULE_SETUP\n#line 271 "util_expr_scan.l"\n{\n    int result;\n    (void)sscanf(yytext+1, "%x", &result);\n    STR_APPEND_NOCHECK(result);\n}\n\tYY_BREAK\ncase 8:\nYY_RULE_SETUP\n#line 276 "util_expr_scan.l"\n{ STR_APPEND_NOCHECK(\'\\n\'); }\n\tYY_BREAK\ncase 9:\nYY_RULE_SETUP\n#line 277 "util_expr_scan.l"\n{ STR_APPEND_NOCHECK(\'\\r\'); }\n\tYY_BREAK\ncase 10:\nYY_RULE_SETUP\n#line 278 "util_expr_scan.l"\n{ STR_APPEND_NOCHECK(\'\\t\'); }\n\tYY_BREAK\ncase 11:\nYY_RULE_SETUP\n#line 279 "util_expr_scan.l"\n{ STR_APPEND_NOCHECK(\'\\b\'); }\n\tYY_BREAK\ncase 12:\nYY_RULE_SETUP\n#line 280 "util_expr_scan.l"\n{ STR_APPEND_NOCHECK(\'\\f\'); }\n\tYY_BREAK\ncase 13:\nYY_RULE_SETUP\n#line 281 "util_expr_scan.l"\n{ STR_APPEND_CHECK(yytext[1], 1); }\n\tYY_BREAK\ncase 14:\nYY_RULE_SETUP\n#line 283 "util_expr_scan.l"\n{\n    PERROR("Unterminated string or variable");\n}\n\tYY_BREAK\ncase 15:\nYY_RULE_SETUP\n#line 287 "util_expr_scan.l"\n{\n    STR_APPEND_CHECK(yytext[0], 1);\n}\n\tYY_BREAK\ncase 16:\nYY_RULE_SETUP\n#line 291 "util_expr_scan.l"\n{\n}\n\tYY_BREAK\ncase 17:\nYY_RULE_SETUP\n#line 295 "util_expr_scan.l"\n{\n    STATE_PUSH(str, 1);\n    str_stop = yytext[0];\n    return T_STR_BEGIN;\n}\n\tYY_BREAK\ncase 18:\nYY_RULE_SETUP\n#line 301 "util_expr_scan.l"\n{\n    STATE_PUSH(expr, 1);\n    return T_VAREXP_BEGIN;\n}\n\tYY_BREAK\ncase 19:\nYY_RULE_SETUP\n#line 305 "util_expr_scan.l"\n{\n    STATE_POP(1);\n    return T_VAREXP_END;\n}\n\tYY_BREAK\ncase 20:\nYY_RULE_SETUP\n#line 311 "util_expr_scan.l"\n{\n    STATE_PUSH(var, 1);\n    return T_VAR_BEGIN;\n}\n\tYY_BREAK\ncase 21:\nYY_RULE_SETUP\n#line 315 "util_expr_scan.l"\n{\n    yylval->cpVal = apr_pstrdup(yyextra->pool, yytext);\n    return T_ID;\n}\n\tYY_BREAK\ncase 22:\nYY_RULE_SETUP\n#line 319 "util_expr_scan.l"\n{\n    STATE_PUSH(vararg, 0);\n    return yytext[0];\n}\n\tYY_BREAK\ncase 23:\nYY_RULE_SETUP\n#line 323 "util_expr_scan.l"\n{\n    yyless(0);\n    yylval->cpVal = STR_RETURN();\n    STATE_POP(0);\n    return T_STRING;\n}\n\tYY_BREAK\ncase 24:\nYY_RULE_SETUP\n#line 329 "util_expr_scan.l"\n{\n    STR_APPEND_CHECK(yytext[0], 1);\n}\n\tYY_BREAK\ncase 25:\nYY_RULE_SETUP\n#line 332 "util_expr_scan.l"\n{\n    STATE_POP(1);\n    return T_VAR_END;\n}\n\tYY_BREAK\ncase 26:\nYY_RULE_SETUP\n#line 336 "util_expr_scan.l"\n{\n    PERROR_CHAR("Unexpected variable character ", yytext[0]);\n}\n\tYY_BREAK\ncase YY_STATE_EOF(var):\ncase YY_STATE_EOF(vararg):\n#line 339 "util_expr_scan.l"\n{\n    PERROR("Unterminated variable");\n}\n\tYY_BREAK\ncase 27:\nYY_RULE_SETUP\n#line 347 "util_expr_scan.l"\n{\n    STATE_PUSH(regex, 1);\n    str_stop = yytext[0];\n    str_flag = \'m\';\n    return T_REGEX;\n}\n\tYY_BREAK\ncase 28:\nYY_RULE_SETUP\n#line 353 "util_expr_scan.l"\n{\n    STATE_PUSH(regex, 1);\n    str_stop = yytext[1];\n    str_flag = yytext[0];\n    return (str_flag == \'m\') ? T_REGEX : T_REGSUB;\n}\n\tYY_BREAK\ncase 29:\nYY_RULE_SETUP\n#line 359 "util_expr_scan.l"\n{\n    if (yytext[0] == str_stop) {\n        STATE_POP(0);\n        if (str_flag == \'m\') {\n            STATE_PUSH(regflags, 0);\n        }\n        else {\n            STATE_PUSH(regsub, 0);\n        }\n        yylval->cpVal = STR_RETURN();\n        return T_REG_MATCH;\n    }\n    STR_APPEND_CHECK(yytext[0], 1);\n}\n\tYY_BREAK\ncase 30:\nYY_RULE_SETUP\n#line 373 "util_expr_scan.l"\n{\n    if (yytext[0] == str_stop) {\n        STATE_POP(0);\n        STATE_PUSH(regflags, 0);\n    }\n    else {\n        STR_APPEND_CHECK(yytext[0], 1);\n    }\n}\n\tYY_BREAK\ncase 31:\nYY_RULE_SETUP\n#line 382 "util_expr_scan.l"\n{\n    if (ap_strchr_c("ismg", yytext[0])) {\n        STR_APPEND_NOCHECK(yytext[0]);\n    }\n    else if (apr_isalnum(yytext[0])) {\n        PERROR("Invalid regexp flag(s)");\n    }\n    else {\n        yyless(0);\n        yylval->cpVal = STR_RETURN();\n        STATE_POP(1);\n        return T_REG_FLAGS;\n    }\n}\n\tYY_BREAK\ncase YY_STATE_EOF(regflags):\n#line 396 "util_expr_scan.l"\n{\n    yylval->cpVal = STR_RETURN();\n    STATE_POP(1);\n    return T_REG_FLAGS;\n}\n\tYY_BREAK\ncase YY_STATE_EOF(regex):\ncase YY_STATE_EOF(regsub):\n#line 401 "util_expr_scan.l"\n{\n    PERROR("Unterminated regexp");\n}\n\tYY_BREAK\ncase 32:\nYY_RULE_SETUP\n#line 405 "util_expr_scan.l"\n{\n    yylval->num = yytext[1] - \'0\';\n    return T_REG_REF;\n}\n\tYY_BREAK\ncase 33:\nYY_RULE_SETUP\n#line 413 "util_expr_scan.l"\n{ return T_OP_STR_EQ; }\n\tYY_BREAK\ncase 34:\nYY_RULE_SETUP\n#line 414 "util_expr_scan.l"\n{ return T_OP_STR_NE; }\n\tYY_BREAK\ncase 35:\nYY_RULE_SETUP\n#line 415 "util_expr_scan.l"\n{ return T_OP_STR_LT; }\n\tYY_BREAK\ncase 36:\nYY_RULE_SETUP\n#line 416 "util_expr_scan.l"\n{ return T_OP_STR_LE; }\n\tYY_BREAK\ncase 37:\nYY_RULE_SETUP\n#line 417 "util_expr_scan.l"\n{ return T_OP_STR_GT; }\n\tYY_BREAK\ncase 38:\nYY_RULE_SETUP\n#line 418 "util_expr_scan.l"\n{ return T_OP_STR_GE; }\n\tYY_BREAK\ncase 39:\nYY_RULE_SETUP\n#line 419 "util_expr_scan.l"\n{ return T_OP_REG; }\n\tYY_BREAK\ncase 40:\nYY_RULE_SETUP\n#line 420 "util_expr_scan.l"\n{ return T_OP_NRE; }\n\tYY_BREAK\ncase 41:\nYY_RULE_SETUP\n#line 421 "util_expr_scan.l"\n{ return T_OP_AND; }\n\tYY_BREAK\ncase 42:\nYY_RULE_SETUP\n#line 422 "util_expr_scan.l"\n{ return T_OP_AND; }\n\tYY_BREAK\ncase 43:\nYY_RULE_SETUP\n#line 423 "util_expr_scan.l"\n{ return T_OP_OR; }\n\tYY_BREAK\ncase 44:\nYY_RULE_SETUP\n#line 424 "util_expr_scan.l"\n{ return T_OP_OR; }\n\tYY_BREAK\ncase 45:\nYY_RULE_SETUP\n#line 425 "util_expr_scan.l"\n{ return T_OP_NOT; }\n\tYY_BREAK\ncase 46:\nYY_RULE_SETUP\n#line 426 "util_expr_scan.l"\n{ return T_OP_NOT; }\n\tYY_BREAK\ncase 47:\nYY_RULE_SETUP\n#line 427 "util_expr_scan.l"\n{ return T_OP_CONCAT; }\n\tYY_BREAK\ncase 48:\nYY_RULE_SETUP\n#line 428 "util_expr_scan.l"\n{ return T_OP_IN; }\n\tYY_BREAK\ncase 49:\nYY_RULE_SETUP\n#line 429 "util_expr_scan.l"\n{ return T_OP_EQ; }\n\tYY_BREAK\ncase 50:\nYY_RULE_SETUP\n#line 430 "util_expr_scan.l"\n{ return T_OP_NE; }\n\tYY_BREAK\ncase 51:\nYY_RULE_SETUP\n#line 431 "util_expr_scan.l"\n{ return T_OP_GE; }\n\tYY_BREAK\ncase 52:\nYY_RULE_SETUP\n#line 432 "util_expr_scan.l"\n{ return T_OP_LE; }\n\tYY_BREAK\ncase 53:\nYY_RULE_SETUP\n#line 433 "util_expr_scan.l"\n{ return T_OP_GT; }\n\tYY_BREAK\ncase 54:\nYY_RULE_SETUP\n#line 434 "util_expr_scan.l"\n{ return T_OP_LT; }\n\tYY_BREAK\ncase 55:\nYY_RULE_SETUP\n#line 437 "util_expr_scan.l"\n{ return T_OP_LT; }\n\tYY_BREAK\ncase 56:\nYY_RULE_SETUP\n#line 438 "util_expr_scan.l"\n{ return T_OP_LE; }\n\tYY_BREAK\ncase 57:\nYY_RULE_SETUP\n#line 439 "util_expr_scan.l"\n{ return T_OP_GT; }\n\tYY_BREAK\ncase 58:\nYY_RULE_SETUP\n#line 440 "util_expr_scan.l"\n{ return T_OP_GE; }\n\tYY_BREAK\ncase 59:\nYY_RULE_SETUP\n#line 441 "util_expr_scan.l"\n{ return T_OP_NE; }\n\tYY_BREAK\ncase 60:\nYY_RULE_SETUP\n#line 442 "util_expr_scan.l"\n{ return T_OP_EQ; }\n\tYY_BREAK\ncase 61:\nYY_RULE_SETUP\n#line 443 "util_expr_scan.l"\n{ return T_OP_IN; }\n\tYY_BREAK\ncase 62:\nYY_RULE_SETUP\n#line 445 "util_expr_scan.l"\n{\n    yylval->cpVal = apr_pstrdup(yyextra->pool, yytext + 1);\n    return T_OP_BINARY;\n}\n\tYY_BREAK\ncase 63:\nYY_RULE_SETUP\n#line 450 "util_expr_scan.l"\n{\n    yylval->cpVal = apr_pstrdup(yyextra->pool, yytext + 1);\n    return T_OP_UNARY;\n}\n\tYY_BREAK\ncase 64:\nYY_RULE_SETUP\n#line 456 "util_expr_scan.l"\n{\n    STATE_PUSH(split, 0);\n    return T_OP_SPLIT;\n}\n\tYY_BREAK\ncase 65:\nYY_RULE_SETUP\n#line 460 "util_expr_scan.l"\n{\n    STATE_POP(0);\n    STATE_PUSH(regex, 1);\n    str_stop = yytext[0];\n    str_flag = \'S\';\n}\n\tYY_BREAK\ncase 66:\nYY_RULE_SETUP\n#line 466 "util_expr_scan.l"\n{\n    PERROR("Expecting split regular expression");\n}\n\tYY_BREAK\ncase YY_STATE_EOF(split):\n#line 469 "util_expr_scan.l"\n{\n    PERROR("Unterminated split");\n}\n\tYY_BREAK\ncase 67:\nYY_RULE_SETUP\n#line 474 "util_expr_scan.l"\n{\n    return T_OP_JOIN;\n}\n\tYY_BREAK\ncase 68:\nYY_RULE_SETUP\n#line 481 "util_expr_scan.l"\n{ return T_TRUE; }\n\tYY_BREAK\ncase 69:\nYY_RULE_SETUP\n#line 482 "util_expr_scan.l"\n{ return T_FALSE; }\n\tYY_BREAK\ncase 70:\nYY_RULE_SETUP\n#line 487 "util_expr_scan.l"\n{\n    yylval->cpVal = apr_pstrdup(yyextra->pool, yytext);\n    return T_DIGIT;\n}\n\tYY_BREAK\ncase 71:\nYY_RULE_SETUP\n#line 495 "util_expr_scan.l"\n{\n    yylval->cpVal = apr_pstrdup(yyextra->pool, yytext);\n    return T_ID;\n}\n\tYY_BREAK\ncase 72:\nYY_RULE_SETUP\n#line 503 "util_expr_scan.l"\n{\n    return yytext[0];\n}\n\tYY_BREAK\ncase 73:\nYY_RULE_SETUP\n#line 510 "util_expr_scan.l"\n{\n    PERROR_CHAR("Parse error near character ", yytext[0]);\n}\n\tYY_BREAK\ncase 74:\nYY_RULE_SETUP\n#line 514 "util_expr_scan.l"\nYY_FATAL_ERROR( "flex scanner jammed" );\n\tYY_BREAK\n#line 1718 "util_expr_scan.c"\ncase YY_STATE_EOF(INITIAL):\n\tyyterminate();\n\tcase YY_END_OF_BUFFER:\n\t\t{\n\t\tint yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;\n\t\t*yy_cp = yyg->yy_hold_char;\n\t\tYY_RESTORE_YY_MORE_OFFSET\n\t\tif ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )\n\t\t\t{\n\t\t\tyyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;\n\t\t\tYY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;\n\t\t\tYY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;\n\t\t\t}\n\t\tif ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )\n\t\t\t{\n\t\t\tyy_state_type yy_next_state;\n\t\t\tyyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;\n\t\t\tyy_current_state = yy_get_previous_state( yyscanner );\n\t\t\tyy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);\n\t\t\tyy_bp = yyg->yytext_ptr + YY_MORE_ADJ;\n\t\t\tif ( yy_next_state )\n\t\t\t\t{\n\t\t\t\tyy_cp = ++yyg->yy_c_buf_p;\n\t\t\t\tyy_current_state = yy_next_state;\n\t\t\t\tgoto yy_match;\n\t\t\t\t}\n\t\t\telse\n\t\t\t\t{\n\t\t\t\tyy_cp = yyg->yy_last_accepting_cpos;\n\t\t\t\tyy_current_state = yyg->yy_last_accepting_state;\n\t\t\t\tgoto yy_find_action;\n\t\t\t\t}\n\t\t\t}\n\t\telse switch ( yy_get_next_buffer( yyscanner ) )\n\t\t\t{\n\t\t\tcase EOB_ACT_END_OF_FILE:\n\t\t\t\t{\n\t\t\t\tyyg->yy_did_buffer_switch_on_eof = 0;\n\t\t\t\tif ( ap_expr_yywrap(yyscanner ) )\n\t\t\t\t\t{\n\t\t\t\t\tyyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;\n\t\t\t\t\tyy_act = YY_STATE_EOF(YY_START);\n\t\t\t\t\tgoto do_action;\n\t\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\tif ( ! yyg->yy_did_buffer_switch_on_eof )\n\t\t\t\t\t\tYY_NEW_FILE;\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tcase EOB_ACT_CONTINUE_SCAN:\n\t\t\t\tyyg->yy_c_buf_p =\n\t\t\t\t\tyyg->yytext_ptr + yy_amount_of_matched_text;\n\t\t\t\tyy_current_state = yy_get_previous_state( yyscanner );\n\t\t\t\tyy_cp = yyg->yy_c_buf_p;\n\t\t\t\tyy_bp = yyg->yytext_ptr + YY_MORE_ADJ;\n\t\t\t\tgoto yy_match;\n\t\t\tcase EOB_ACT_LAST_MATCH:\n\t\t\t\tyyg->yy_c_buf_p =\n\t\t\t\t&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];\n\t\t\t\tyy_current_state = yy_get_previous_state( yyscanner );\n\t\t\t\tyy_cp = yyg->yy_c_buf_p;\n\t\t\t\tyy_bp = yyg->yytext_ptr + YY_MORE_ADJ;\n\t\t\t\tgoto yy_find_action;\n\t\t\t}\n\t\tbreak;\n\t\t}\n\tdefault:\n\t\tYY_FATAL_ERROR(\n\t\t\t"fatal flex scanner internal error--no action found" );\n\t}\n\t\t}\n\t}\n}', 'static void ap_expr_yyensure_buffer_stack (yyscan_t yyscanner)\n{\n\tint num_to_alloc;\n    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;\n\tif (!yyg->yy_buffer_stack) {\n      num_to_alloc = 1;\n\t\tyyg->yy_buffer_stack = (struct yy_buffer_state**)ap_expr_yyalloc\n\t\t\t\t\t\t\t\t(num_to_alloc * sizeof(struct yy_buffer_state*)\n\t\t\t\t\t\t\t\t, yyscanner);\n\t\tif ( ! yyg->yy_buffer_stack )\n\t\t\tYY_FATAL_ERROR( "out of dynamic memory in ap_expr_yyensure_buffer_stack()" );\n\t\tmemset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));\n\t\tyyg->yy_buffer_stack_max = num_to_alloc;\n\t\tyyg->yy_buffer_stack_top = 0;\n\t\treturn;\n\t}\n\tif (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){\n\t\tyy_size_t grow_size = 8  ;\n\t\tnum_to_alloc = yyg->yy_buffer_stack_max + grow_size;\n\t\tyyg->yy_buffer_stack = (struct yy_buffer_state**)ap_expr_yyrealloc\n\t\t\t\t\t\t\t\t(yyg->yy_buffer_stack,\n\t\t\t\t\t\t\t\tnum_to_alloc * sizeof(struct yy_buffer_state*)\n\t\t\t\t\t\t\t\t, yyscanner);\n\t\tif ( ! yyg->yy_buffer_stack )\n\t\t\tYY_FATAL_ERROR( "out of dynamic memory in ap_expr_yyensure_buffer_stack()" );\n\t\tmemset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));\n\t\tyyg->yy_buffer_stack_max = num_to_alloc;\n\t}\n}']