util_expr_parse.c revision 429a8397b16b663be30cce927a20458ef2e7488a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* A Bison parser, made by GNU Bison 2.7.12-4996. */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Bison implementation for Yacc-like parsers in C
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf This program is free software: you can redistribute it and/or modify
e07d9cb85217949d497b02d7211de8a197d2f2ebzf it under the terms of the GNU General Public License as published by
e07d9cb85217949d497b02d7211de8a197d2f2ebzf the Free Software Foundation, either version 3 of the License, or
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (at your option) any later version.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf This program is distributed in the hope that it will be useful,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf but WITHOUT ANY WARRANTY; without even the implied warranty of
e07d9cb85217949d497b02d7211de8a197d2f2ebzf MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf GNU General Public License for more details.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf You should have received a copy of the GNU General Public License
e07d9cb85217949d497b02d7211de8a197d2f2ebzf along with this program. If not, see <http://www.gnu.org/licenses/>. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* As a special exception, you may create a larger work that contains
e07d9cb85217949d497b02d7211de8a197d2f2ebzf part or all of the Bison parser skeleton and distribute that work
e07d9cb85217949d497b02d7211de8a197d2f2ebzf under terms of your choice, so long as that work isn't itself a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf parser generator using the skeleton or a modified version thereof
e07d9cb85217949d497b02d7211de8a197d2f2ebzf as a parser skeleton. Alternatively, if you modify or redistribute
e07d9cb85217949d497b02d7211de8a197d2f2ebzf the parser skeleton itself, you may (at your option) remove this
e07d9cb85217949d497b02d7211de8a197d2f2ebzf special exception, which will cause the skeleton and the resulting
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Bison output files to be licensed under the GNU General Public
e07d9cb85217949d497b02d7211de8a197d2f2ebzf License without this special exception.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf This special exception was added by the Free Software Foundation in
e07d9cb85217949d497b02d7211de8a197d2f2ebzf version 2.2 of Bison. */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* C LALR(1) parser skeleton written by Richard Stallman, by
e07d9cb85217949d497b02d7211de8a197d2f2ebzf simplifying the original so-called "semantic" parser. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* All symbols defined below should begin with yy or YY, to avoid
e07d9cb85217949d497b02d7211de8a197d2f2ebzf infringing on user name space. This should be done even for local
e07d9cb85217949d497b02d7211de8a197d2f2ebzf variables, as they might otherwise be expanded by user macros.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf There are some unavoidable exceptions within include files to
e07d9cb85217949d497b02d7211de8a197d2f2ebzf define necessary library symbols; they are noted "INFRINGES ON
da14cebe459d3275048785f25bd869cb09b5307fEric Cheng USER NAME SPACE" below. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Identify Bison output. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYBISON 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Bison version. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYBISON_VERSION "2.7.12-4996"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Skeleton name. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYSKELETON_NAME "yacc.c"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Pure parsers. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYPURE 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Push parsers. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYPUSH 0
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Pull parsers. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYPULL 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Substitute the variable and function names. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yyparse ap_expr_yyparse
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yylex ap_expr_yylex
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yyerror ap_expr_yyerror
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yylval ap_expr_yylval
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yychar ap_expr_yychar
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yydebug ap_expr_yydebug
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yynerrs ap_expr_yynerrs
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Copy the first part of user declarations. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 371 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 31 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#include "util_expr_private.h"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 371 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 79 "util_expr_parse.c"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YY_NULL
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if defined __cplusplus && 201103L <= __cplusplus
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_NULL nullptr
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_NULL 0
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Enabling verbose error messages. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# undef YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYERROR_VERBOSE 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYERROR_VERBOSE 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* In a future release of Bison, this section will be replaced
e07d9cb85217949d497b02d7211de8a197d2f2ebzf by #include "util_expr_parse.h". */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YY_AP_EXPR_YY_UTIL_EXPR_PARSE_H_INCLUDED
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_AP_EXPR_YY_UTIL_EXPR_PARSE_H_INCLUDED
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Enabling traces. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YYDEBUG
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYDEBUG 0
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYDEBUG
e07d9cb85217949d497b02d7211de8a197d2f2ebzfextern int ap_expr_yydebug;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Tokens. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YYTOKENTYPE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYTOKENTYPE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Put the tokens into the symbol table, so that GDB and other debuggers
e07d9cb85217949d497b02d7211de8a197d2f2ebzf know about them. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf enum yytokentype {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_TRUE = 258,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_FALSE = 259,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_EXPR_BOOL = 260,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_EXPR_STRING = 261,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_ERROR = 262,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_DIGIT = 263,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_ID = 264,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_STRING = 265,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_REGEX = 266,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_REGEX_I = 267,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_REGEX_BACKREF = 268,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_UNARY = 269,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_BINARY = 270,
020c47705d28102a8df83a43ddf08e34dde21f22ql T_STR_BEGIN = 271,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_STR_END = 272,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_VAR_BEGIN = 273,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_VAR_END = 274,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_EQ = 275,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_NE = 276,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_LT = 277,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_LE = 278,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_GT = 279,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_GE = 280,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_REG = 281,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_NRE = 282,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_IN = 283,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_STR_EQ = 284,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_STR_NE = 285,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_STR_LT = 286,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_STR_LE = 287,
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang T_OP_STR_GT = 288,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_STR_GE = 289,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_CONCAT = 290,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_OR = 291,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_AND = 292,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf T_OP_NOT = 293
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang };
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef union YYSTYPE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 387 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 35 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char *cpVal;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_expr_t *exVal;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int num;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 387 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 167 "util_expr_parse.c"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf} YYSTYPE;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTYPE_IS_TRIVIAL 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define yystype YYSTYPE /* obsolescent; will be withdrawn */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTYPE_IS_DECLARED 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang#ifdef YYPARSE_PARAM
afdda45f890ee5dfc86e5131a30b11b354d51633Vasumathi Sundaram - Sun Microsystems#if defined __STDC__ || defined __cplusplus
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint ap_expr_yyparse (void *YYPARSE_PARAM);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fangint ap_expr_yyparse ();
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else /* ! YYPARSE_PARAM */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if defined __STDC__ || defined __cplusplus
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint ap_expr_yyparse (ap_expr_parse_ctx_t *ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint ap_expr_yyparse ();
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif /* ! YYPARSE_PARAM */
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang#endif /* !YY_AP_EXPR_YY_UTIL_EXPR_PARSE_H_INCLUDED */
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang/* Copy the second part of user declarations. */
5644143a6cf1e70bc2e78d5140970830aae0e8cdQuaker Fang/* Line 390 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 102 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#include "util_expr_private.h"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yyscanner ctx->scanner
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint ap_expr_yylex(YYSTYPE *lvalp, void *scanner);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 390 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 201 "util_expr_parse.c"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef short
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# undef short
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYTYPE_UINT8
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef YYTYPE_UINT8 yytype_uint8;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef unsigned char yytype_uint8;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYTYPE_INT8
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef YYTYPE_INT8 yytype_int8;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#elif (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef signed char yytype_int8;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef short int yytype_int8;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYTYPE_UINT16
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef YYTYPE_UINT16 yytype_uint16;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef unsigned short int yytype_uint16;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYTYPE_INT16
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef YYTYPE_INT16 yytype_int16;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzftypedef short int yytype_int16;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YYSIZE_T
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifdef __SIZE_TYPE__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSIZE_T __SIZE_TYPE__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# elif defined size_t
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSIZE_T size_t
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSIZE_T size_t
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSIZE_T unsigned int
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YY_
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if defined YYENABLE_NLS && YYENABLE_NLS
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if ENABLE_NLS
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YY_
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_(Msgid) Msgid
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef __attribute__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* This feature is available in gcc versions 2.5 and later. */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang# if (! defined __GNUC__ || __GNUC__ < 2 \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define __attribute__(Spec) /* empty */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Suppress unused-variable warnings by "using" E. */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang#if ! defined lint || defined __GNUC__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYUSE(E) ((void) (E))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYUSE(E) /* empty */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Identity function, used to suppress warnings about constant conditions. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef lint
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYID(N) (N)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic int
e07d9cb85217949d497b02d7211de8a197d2f2ebzfYYID (int yyi)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic int
e07d9cb85217949d497b02d7211de8a197d2f2ebzfYYID (yyi)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyi;
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return yyi;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if ! defined yyoverflow || YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* The parser invokes alloca or malloc; define the necessary symbols. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifdef YYSTACK_USE_ALLOCA
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if YYSTACK_USE_ALLOCA
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifdef __GNUC__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_ALLOC __builtin_alloca
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# elif defined __BUILTIN_VA_ARG_INCR
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang# elif defined _AIX
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_ALLOC __alloca
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# elif defined _MSC_VER
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define alloca _alloca
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_ALLOC alloca
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Use EXIT_SUCCESS as a witness for stdlib.h. */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang# ifndef EXIT_SUCCESS
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define EXIT_SUCCESS 0
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifdef YYSTACK_ALLOC
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Pacify GCC's `empty if-body' warning. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYSTACK_ALLOC_MAXIMUM
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The OS might guarantee only one guard page at the bottom of the stack,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf and a page size can be as small as 4096 bytes. So we cannot safely
e07d9cb85217949d497b02d7211de8a197d2f2ebzf invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
e07d9cb85217949d497b02d7211de8a197d2f2ebzf to allow for a few compiler-allocated temporary stack slots. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_ALLOC YYMALLOC
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_FREE YYFREE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYSTACK_ALLOC_MAXIMUM
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if (defined __cplusplus && ! defined EXIT_SUCCESS \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf && ! ((defined YYMALLOC || defined malloc) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf && (defined YYFREE || defined free)))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef EXIT_SUCCESS
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define EXIT_SUCCESS 0
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYMALLOC
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYMALLOC malloc
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYFREE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYFREE free
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfvoid free (void *); /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (! defined yyoverflow \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf && (! defined __cplusplus \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* A type that is properly aligned for any stack member. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfunion yyalloc
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 yyss_alloc;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE yyvs_alloc;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* The size of the maximum gap between one aligned stack and the next. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* The size of an array large to enough to hold all stacks, each with
e07d9cb85217949d497b02d7211de8a197d2f2ebzf N elements. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_BYTES(N) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf + YYSTACK_GAP_MAXIMUM)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYCOPY_NEEDED 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Relocate STACK from its old location to the new one. The
e07d9cb85217949d497b02d7211de8a197d2f2ebzf local variables YYSIZE and YYSTACKSIZE give the old and new number of
e07d9cb85217949d497b02d7211de8a197d2f2ebzf elements in the stack, and YYPTR gives the new location of the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf stack. Advance YYPTR to a properly aligned location for the next
e07d9cb85217949d497b02d7211de8a197d2f2ebzf stack. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf do \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yynewbytes; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Stack = &yyptr->Stack_alloc; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyptr += yynewbytes / sizeof (*yyptr); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf } \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Copy COUNT objects from SRC to DST. The source and destination do
e07d9cb85217949d497b02d7211de8a197d2f2ebzf not overlap. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYCOPY
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if defined __GNUC__ && 1 < __GNUC__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYCOPY(Dst, Src, Count) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYCOPY(Dst, Src, Count) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf do \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yyi; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (yyi = 0; yyi < (Count); yyi++) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (Dst)[yyi] = (Src)[yyi]; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf } \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif /* !YYCOPY_NEEDED */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYFINAL -- State number of the termination state. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYFINAL 28
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYLAST -- Last index in YYTABLE. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYLAST 129
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYNTOKENS -- Number of terminals. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYNTOKENS 50
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYNNTS -- Number of nonterminals. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYNNTS 14
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYNRULES -- Number of rules. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYNRULES 53
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYNRULES -- Number of states. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYNSTATES 96
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYUNDEFTOK 2
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYMAXUTOK 298
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYTRANSLATE(YYX) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yytranslate[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 44, 45, 2, 2, 48, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 49, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 46, 2, 47, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 35, 36, 37, 38, 39, 40, 41, 42, 43
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYDEBUG
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYRHS. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yyprhs[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 0, 3, 6, 9, 11, 13, 15, 18, 22,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 26, 28, 31, 35, 39, 41, 45, 49, 53, 57,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 61, 65, 69, 73, 77, 81, 85, 89, 93, 97,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 101, 103, 107, 109, 113, 116, 118, 120, 122, 124,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 126, 130, 136, 138, 142, 144, 146, 148, 152, 155,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 157, 159, 161, 166
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYRHS -- A `-1'-separated list of the rules' RHS. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_int8 yyrhs[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 51, 0, -1, 5, 52, -1, 6, 56, -1, 7,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 3, -1, 4, -1, 38, 52, -1, 52, 36,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 52, -1, 52, 37, 52, -1, 53, -1, 14, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 59, 15, 59, -1, 44, 52, 45, -1, 7,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 59, 20, 59, -1, 59, 21, 59, -1, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 22, 59, -1, 59, 23, 59, -1, 59, 24, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 59, 25, 59, -1, 59, 29, 59, -1, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 30, 59, -1, 59, 31, 59, -1, 59, 32, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 59, 33, 59, -1, 59, 34, 59, -1, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 28, 54, -1, 59, 26, 60, -1, 59, 27, 60,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 62, -1, 46, 55, 47, -1, 59, -1, 55,
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang 48, 59, -1, 56, 57, -1, 57, -1, 7, -1,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 10, -1, 58, -1, 61, -1, 18, 9, 19, -1,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 18, 9, 49, 56, 19, -1, 8, -1, 59, 35,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 59, -1, 58, -1, 61, -1, 63, -1, 16, 56,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 17, -1, 16, 17, -1, 11, -1, 12, -1, 13,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 9, 44, 59, 45, -1, 9, 44, 59, 45,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yyrline[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 112, 112, 113, 114, 117, 118, 119, 120, 121,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 122, 123, 124, 125, 126, 129, 130, 131, 132, 133,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 146, 147, 150, 151, 154, 155, 156, 159, 160, 161,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 164, 165, 168, 169, 170, 171, 172, 173, 174, 177,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 186, 197, 204, 207
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYDEBUG || YYERROR_VERBOSE || 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf First, the terminals, then, starting at YYNTOKENS, nonterminals. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const char *const yytname[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "$end", "error", "$undefined", "\"true\"", "\"false\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"boolean expression\"", "\"string expression\"", "\"error token\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"number\"", "\"identifier\"", "\"cstring\"", "\"regex\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"case-indendent regex\"", "\"regex back reference\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"unary operator\"", "\"binary operator\"", "\"start of string\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"end of string\"", "\"start of variable name\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"end of variable name\"", "\"integer equal\"", "\"integer not equal\"",
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang "\"integer less than\"", "\"integer less or equal\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"integer greater than\"", "\"integer greater or equal\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"regex match\"", "\"regex non-match\"", "\"contained in\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"string equal\"", "\"string not equal\"", "\"string less than\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"string less or equal\"", "\"string greater than\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"string greater or equal\"", "\"string concatenation\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"logical or\"", "\"logical and\"", "\"logical not\"", "\"function\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "\"listfunction\"", "\"stringpart\"", "\"variable\"", "\"rebackref\"",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "'('", "')'", "'{'", "'}'", "','", "':'", "$accept", "root", "expr",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "comparison", "wordlist", "words", "string", "strpart", "var", "word",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "regex", "backref", "lstfunccall", "strfunccall", YY_NULL
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifdef YYPRINT
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
e07d9cb85217949d497b02d7211de8a197d2f2ebzf token YYLEX-NUM. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint16 yytoknum[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 295, 296, 297, 298, 40, 41, 123, 125, 44, 58
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yyr1[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 50, 51, 51, 51, 52, 52, 52, 52, 52,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 52, 52, 52, 52, 52, 53, 53, 53, 53, 53,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 54, 54, 55, 55, 56, 56, 56, 57, 57, 57,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 58, 58, 59, 59, 59, 59, 59, 59, 59, 60,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 60, 61, 62, 63
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yyr2[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 2, 2, 2, 1, 1, 1, 2, 3, 3,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 1, 2, 3, 3, 1, 3, 3, 3, 3, 3,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 1, 3, 1, 3, 2, 1, 1, 1, 1, 1,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 3, 5, 1, 3, 1, 1, 1, 3, 2, 1,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 1, 1, 4, 4
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Performed when YYTABLE doesn't specify something else to do. Zero
e07d9cb85217949d497b02d7211de8a197d2f2ebzf means the default is an error. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yydefact[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 0, 0, 4, 0, 5, 6, 14, 42, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 51, 0, 0, 0, 0, 0, 2, 10, 44, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 45, 46, 36, 37, 3, 35, 38, 39, 1, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 11, 48, 0, 0, 7, 0, 0, 0, 0, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 0, 0, 0, 0, 34, 0, 47, 40, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 13, 8, 9, 12, 15, 16, 17, 18, 19, 20,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 49, 50, 28, 29, 0, 0, 27, 30, 21, 22,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 23, 24, 25, 26, 43, 53, 0, 0, 0, 32,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 41, 0, 31, 0, 52, 33
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYDEFGOTO[NTERM-NUM]. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_int8 yydefgoto[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -1, 4, 16, 17, 76, 88, 24, 25, 18, 19,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 72, 20, 77, 21
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
e07d9cb85217949d497b02d7211de8a197d2f2ebzf STATE-NUM. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYPACT_NINF -30
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_int8 yypact[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 60, 7, -30, 13, -30, -30, -30, -30, -29,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -30, 43, 73, 12, 60, 60, -8, -30, -30, 85,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -30, -30, -30, -30, 79, -30, -30, -30, -30, 43,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 25, -30, 111, -17, -30, 17, 60, 60, 43, 43,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 43, 43, 43, 43, 43, 114, 114, -4, 43, 43,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 43, 43, 43, 43, 43, -30, -19, -30, -30, 7,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -30, -8, -10, 25, 25, 25, 25, 25, 25, 25,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -30, -30, -30, -30, 31, 43, -30, -30, 25, 25,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 25, 25, 25, 25, 25, -30, 83, 43, 24, 25,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -30, 20, -30, 43, -30, 25
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYPGOTO[NTERM-NUM]. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_int8 yypgoto[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -30, -30, 4, -30, -30, -30, -9, -20, -2, -5,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 33, -1, -30, -30
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
e07d9cb85217949d497b02d7211de8a197d2f2ebzf positive, shift that token. If negative, reduce the rule which
e07d9cb85217949d497b02d7211de8a197d2f2ebzf number is the opposite. If YYTABLE_NINF, syntax error. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYTABLE_NINF -1
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yytable[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 26, 27, 58, 32, 55, 74, 30, 1, 2, 3,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 26, 27, 55, 28, 22, 29, 54, 23, 34, 35,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 10, 33, 26, 27, 56, 13, 85, 37, 36, 37,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 26, 27, 59, 63, 64, 65, 66, 67, 68, 69,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 61, 62, 75, 78, 79, 80, 81, 82, 83, 84,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 86, 8, 9, 36, 37, 54, 10, 26, 27, 12,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 54, 13, 60, 5, 6, 94, 55, 7, 8, 9,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 89, 92, 93, 10, 11, 87, 12, 0, 13, 73,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 22, 0, 91, 23, 26, 27, 10, 0, 95, 23,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 31, 13, 10, 23, 0, 0, 10, 13, 14, 0,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 38, 13, 90, 0, 15, 39, 40, 41, 42, 43,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 54, 23, 0, 0, 10, 70, 71, 0, 57, 13
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yypact_value_is_default(Yystate) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (!!((Yystate) == (-30)))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yytable_value_is_error(Yytable_value) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYID (0)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_int8 yycheck[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 2, 2, 19, 12, 24, 9, 11, 5, 6, 7,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 12, 12, 32, 0, 7, 44, 35, 10, 14, 15,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 13, 9, 24, 24, 29, 18, 45, 37, 36, 37,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 32, 32, 49, 38, 39, 40, 41, 42, 43, 44,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 36, 37, 46, 48, 49, 50, 51, 52, 53, 54,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 59, 8, 9, 36, 37, 35, 13, 59, 59, 16,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 35, 18, 45, 3, 4, 45, 86, 7, 8, 9,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 75, 47, 48, 13, 14, 44, 16, -1, 18, 46,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 7, -1, 87, 10, 86, 86, 13, -1, 93, 10,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 17, 18, 13, 10, -1, -1, 13, 18, 38, -1,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 15, 18, 19, -1, 44, 20, 21, 22, 23, 24,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 35, 10, -1, -1, 13, 11, 12, -1, 17, 18
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
e07d9cb85217949d497b02d7211de8a197d2f2ebzf symbol of state STATE-NUM. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic const yytype_uint8 yystos[] =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 0, 5, 6, 7, 51, 3, 4, 7, 8, 9,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 13, 14, 16, 18, 38, 44, 52, 53, 58, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 61, 63, 7, 10, 56, 57, 58, 61, 0, 44,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 59, 17, 56, 9, 52, 52, 36, 37, 15, 20,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 31, 32, 33, 34, 35, 57, 59, 17, 19, 49,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 45, 52, 52, 59, 59, 59, 59, 59, 59, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 11, 12, 60, 60, 9, 46, 54, 62, 59, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 59, 59, 59, 59, 59, 45, 56, 44, 55, 59,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf 19, 59, 47, 48, 45, 59
e07d9cb85217949d497b02d7211de8a197d2f2ebzf};
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yyerrok (yyerrstatus = 0)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define yyclearin (yychar = YYEMPTY)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYEMPTY (-2)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYEOF 0
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYACCEPT goto yyacceptlab
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYABORT goto yyabortlab
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYERROR goto yyerrorlab
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Like YYERROR except do call yyerror. This remains here temporarily
e07d9cb85217949d497b02d7211de8a197d2f2ebzf to ease the transition to the new meaning of YYERROR, for GCC.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Once GCC version 2 has supplanted version 1, this can go. However,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFAIL appears to be in use. Nevertheless, it is formally deprecated
e07d9cb85217949d497b02d7211de8a197d2f2ebzf in Bison 2.4.2's NEWS entry, where a plan to phase it out is
e07d9cb85217949d497b02d7211de8a197d2f2ebzf discussed. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYFAIL goto yyerrlab
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if defined YYFAIL
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* This is here to suppress warnings from the GCC cpp's
e07d9cb85217949d497b02d7211de8a197d2f2ebzf -Wunused-macros. Normally we don't worry about that warning, but
e07d9cb85217949d497b02d7211de8a197d2f2ebzf some users do, and we want to make it easy for users to remove
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFAIL uses, which will produce warnings from Bison 2.5. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYRECOVERING() (!!yyerrstatus)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYBACKUP(Token, Value) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzfdo \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yychar == YYEMPTY) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yychar = (Token); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yylval = (Value); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPOPSTACK (yylen); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = *yyssp; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yybackup; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf } \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerror (ctx, YY_("syntax error: cannot back up")); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYERROR; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf } \
e07d9cb85217949d497b02d7211de8a197d2f2ebzfwhile (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Error token number */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYTERROR 1
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYERRCODE 256
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* This macro is provided for backward compatibility. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YY_LOCATION_PRINT
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYLEX -- calling `yylex' with the right arguments. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYLEX_PARAM
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYLEX yylex (&yylval, YYLEX_PARAM)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYLEX yylex (&yylval, yyscanner)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Enable debugging if requested. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYDEBUG
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYFPRINTF
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYFPRINTF fprintf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYDPRINTF(Args) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzfdo { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yydebug) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF Args; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf} while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzfdo { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yydebug) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, "%s ", Title); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yy_symbol_print (stderr, \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Type, Value, ctx); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, "\n"); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf } \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf} while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*--------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| Print this symbol on YYOUTPUT. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`--------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*ARGSUSED*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ap_expr_parse_ctx_t *ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_symbol_value_print (yyoutput, yytype, yyvaluep, ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf FILE *yyoutput;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yytype;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE const * const yyvaluep;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_expr_parse_ctx_t *ctx;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf FILE *yyo = yyoutput;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (yyo);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (!yyvaluep)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifdef YYPRINT
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yytype < YYNTOKENS)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (yyoutput);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (yytype);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*--------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| Print this symbol on YYOUTPUT. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`--------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ap_expr_parse_ctx_t *ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_symbol_print (yyoutput, yytype, yyvaluep, ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf FILE *yyoutput;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yytype;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE const * const yyvaluep;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_expr_parse_ctx_t *ctx;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yytype < YYNTOKENS)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yy_symbol_value_print (yyoutput, yytype, yyvaluep, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (yyoutput, ")");
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*------------------------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yy_stack_print -- Print the state stack from its BOTTOM up to its |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| TOP (included). |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`------------------------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_stack_print (yybottom, yytop)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yybottom;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yytop;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, "Stack now");
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (; yybottom <= yytop; yybottom++)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yybot = *yybottom;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, " %d", yybot);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, "\n");
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_STACK_PRINT(Bottom, Top) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzfdo { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yydebug) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yy_stack_print ((Bottom), (Top)); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf} while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| Report that the YYRULE is going to be reduced. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_reduce_print (YYSTYPE *yyvsp, int yyrule, ap_expr_parse_ctx_t *ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyy_reduce_print (yyvsp, yyrule, ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE *yyvsp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyrule;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_expr_parse_ctx_t *ctx;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yynrhs = yyr2[yyrule];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyi;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf unsigned long int yylno = yyrline[yyrule];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyrule - 1, yylno);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The symbols being reduced. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (yyi = 0; yyi < yynrhs; yyi++)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, " $%d = ", yyi + 1);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
e07d9cb85217949d497b02d7211de8a197d2f2ebzf &(yyvsp[(yyi + 1) - (yynrhs)])
e07d9cb85217949d497b02d7211de8a197d2f2ebzf , ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYFPRINTF (stderr, "\n");
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_REDUCE_PRINT(Rule) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzfdo { \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yydebug) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yy_reduce_print (yyvsp, Rule, ctx); \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf} while (YYID (0))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Nonzero means print parse trace. It is left uninitialized so that
e07d9cb85217949d497b02d7211de8a197d2f2ebzf multiple parsers can coexist. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint yydebug;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else /* !YYDEBUG */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYDPRINTF(Args)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_STACK_PRINT(Bottom, Top)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_REDUCE_PRINT(Rule)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif /* !YYDEBUG */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYINITDEPTH -- initial size of the parser's stacks. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YYINITDEPTH
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYINITDEPTH 200
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if the built-in stack extension method is used).
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Do not make this value too large; the results are undefined if
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf evaluated with infinite-precision integer arithmetic. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YYMAXDEPTH
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYMAXDEPTH 10000
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef yystrlen
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if defined __GLIBC__ && defined _STRING_H
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define yystrlen strlen
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Return the length of YYSTR. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic YYSIZE_T
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyystrlen (const char *yystr)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic YYSIZE_T
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyystrlen (yystr)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf const char *yystr;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yylen;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (yylen = 0; yystr[yylen]; yylen++)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf continue;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return yylen;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef yystpcpy
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define yystpcpy stpcpy
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYDEST. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic char *
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyystpcpy (char *yydest, const char *yysrc)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic char *
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyystpcpy (yydest, yysrc)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char *yydest;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf const char *yysrc;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char *yyd = yydest;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf const char *yys = yysrc;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf while ((*yyd++ = *yys++) != '\0')
e07d9cb85217949d497b02d7211de8a197d2f2ebzf continue;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return yyd - 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef yytnamerr
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
e07d9cb85217949d497b02d7211de8a197d2f2ebzf quotes and backslashes, so that it's suitable for yyerror. The
e07d9cb85217949d497b02d7211de8a197d2f2ebzf heuristic is that double-quoting is unnecessary unless the string
e07d9cb85217949d497b02d7211de8a197d2f2ebzf contains an apostrophe, a comma, or backslash (other than
e07d9cb85217949d497b02d7211de8a197d2f2ebzf backslash-backslash). YYSTR is taken from yytname. If YYRES is
e07d9cb85217949d497b02d7211de8a197d2f2ebzf null, do not copy; instead, return the length of what the result
e07d9cb85217949d497b02d7211de8a197d2f2ebzf would have been. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic YYSIZE_T
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyytnamerr (char *yyres, const char *yystr)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (*yystr == '"')
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yyn = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char const *yyp = yystr;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (;;)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf switch (*++yyp)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case '\'':
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case ',':
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto do_not_strip_quotes;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case '\\':
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (*++yyp != '\\')
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto do_not_strip_quotes;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Fall through. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf default:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyres)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyres[yyn] = *yyp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn++;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case '"':
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyres)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyres[yyn] = '\0';
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return yyn;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf do_not_strip_quotes: ;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (! yyres)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return yystrlen (yystr);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang return yystpcpy (yyres, yystr) - yyres;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
e07d9cb85217949d497b02d7211de8a197d2f2ebzf about the unexpected token YYTOKEN for the state stack whose top is
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSSP.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
e07d9cb85217949d497b02d7211de8a197d2f2ebzf not large enough to hold the message. In that case, also set
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *YYMSG_ALLOC to the required number of bytes. Return 2 if the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf required number of bytes is too large to store. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic int
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yyssp, int yytoken)
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yysize = yysize0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Internationalized format string. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf const char *yyformat = YY_NULL;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Arguments of yyformat. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Number of reported tokens (one for the "unexpected", one per
e07d9cb85217949d497b02d7211de8a197d2f2ebzf "expected"). */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yycount = 0;
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* There are many possibilities here to consider:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf - Assume YYFAIL is not used. It's too flawed to consider. See
e07d9cb85217949d497b02d7211de8a197d2f2ebzf <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for details. YYERROR is fine as it does not invoke this
e07d9cb85217949d497b02d7211de8a197d2f2ebzf function.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf - If this state is a consistent state with a default action, then
e07d9cb85217949d497b02d7211de8a197d2f2ebzf the only way this function was invoked is if the default action
e07d9cb85217949d497b02d7211de8a197d2f2ebzf is an error action. In that case, don't check for expected
e07d9cb85217949d497b02d7211de8a197d2f2ebzf tokens because there are none.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf - The only way there can be no lookahead present (in yychar) is if
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang this state is a consistent state with a default action. Thus,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf detecting the absence of a lookahead is sufficient to determine
e07d9cb85217949d497b02d7211de8a197d2f2ebzf that there is no unexpected or expected token to report. In that
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case, just report a simple "syntax error".
e07d9cb85217949d497b02d7211de8a197d2f2ebzf - Don't assume there isn't a lookahead just because this state is a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf consistent state with a default action. There might have been a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf previous inconsistent state, consistent state with a non-default
e07d9cb85217949d497b02d7211de8a197d2f2ebzf action, or user semantic action that manipulated yychar.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf - Of course, the expected token list depends on states to have
e07d9cb85217949d497b02d7211de8a197d2f2ebzf correct lookahead information, and it depends on the parser not
e07d9cb85217949d497b02d7211de8a197d2f2ebzf to perform extra reductions after fetching a lookahead from the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf scanner and before detecting a syntax error. Thus, state merging
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (from LALR or IELR) and default reductions corrupt the expected
e07d9cb85217949d497b02d7211de8a197d2f2ebzf token list. However, the list is correct for canonical LR with
e07d9cb85217949d497b02d7211de8a197d2f2ebzf one exception: it will still contain any token that will not be
e07d9cb85217949d497b02d7211de8a197d2f2ebzf accepted due to an error action in a later state.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yytoken != YYEMPTY)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyn = yypact[*yyssp];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyarg[yycount++] = yytname[yytoken];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (!yypact_value_is_default (yyn))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Start YYX at -YYN if negative to avoid negative indexes in
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCHECK. In other words, skip the first -YYN actions for
e07d9cb85217949d497b02d7211de8a197d2f2ebzf this state because they are default actions. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyxbegin = yyn < 0 ? -yyn : 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Stay within bounds of both yycheck and yytname. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yychecklim = YYLAST - yyn + 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyx;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (yyx = yyxbegin; yyx < yyxend; ++yyx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
e07d9cb85217949d497b02d7211de8a197d2f2ebzf && !yytable_value_is_error (yytable[yyx + yyn]))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yycount = 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yysize = yysize0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyarg[yycount++] = yytname[yyx];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (! (yysize <= yysize1
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return 2;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yysize = yysize1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf switch (yycount)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang# define YYCASE_(N, S) \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case N: \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyformat = S; \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCASE_(0, YY_("syntax error"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCASE_(1, YY_("syntax error, unexpected %s"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# undef YYCASE_
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return 2;
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang yysize = yysize1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (*yymsg_alloc < yysize)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *yymsg_alloc = 2 * yysize;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (! (yysize <= *yymsg_alloc
e07d9cb85217949d497b02d7211de8a197d2f2ebzf && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Avoid sprintf, as that infringes on the user's name space.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Don't have undefined behavior even if the translation
e07d9cb85217949d497b02d7211de8a197d2f2ebzf produced a string with the wrong number of "%s"s. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char *yyp = *yymsg;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyi = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf while ((*yyp = *yyformat) != '\0')
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyp += yytnamerr (yyp, yyarg[yyi++]);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyformat += 2;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyp++;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyformat++;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif /* YYERROR_VERBOSE */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-----------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| Release the memory associated to this symbol. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-----------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*ARGSUSED*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, ap_expr_parse_ctx_t *ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic void
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyydestruct (yymsg, yytype, yyvaluep, ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf const char *yymsg;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yytype;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE *yyvaluep;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_expr_parse_ctx_t *ctx;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (yyvaluep);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (!yymsg)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yymsg = "Deleting";
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYUSE (yytype);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*----------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyparse. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`----------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef YYPARSE_PARAM
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyparse (void *YYPARSE_PARAM)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyparse (YYPARSE_PARAM)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf void *YYPARSE_PARAM;
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else /* ! YYPARSE_PARAM */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if (defined __STDC__ || defined __C99__FUNC__ \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf || defined __cplusplus || defined _MSC_VER)
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyparse (ap_expr_parse_ctx_t *ctx)
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyparse (ctx)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_expr_parse_ctx_t *ctx;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* The lookahead symbol. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfint yychar;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Suppress an incorrect diagnostic about yylval being uninitialized. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf _Pragma ("GCC diagnostic push") \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
e07d9cb85217949d497b02d7211de8a197d2f2ebzf _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf _Pragma ("GCC diagnostic pop")
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Default value used for initialization, for pacifying older GCCs
e07d9cb85217949d497b02d7211de8a197d2f2ebzf or non-GCC compilers. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfstatic YYSTYPE yyval_default;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_INITIAL_VALUE(Value) = Value
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang# define YY_IGNORE_MAYBE_UNINITIALIZED_END
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef YY_INITIAL_VALUE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YY_INITIAL_VALUE(Value) /* Nothing. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* The semantic value of the lookahead symbol. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzfYYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Number of syntax errors so far. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yynerrs;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yystate;
ff3124eff995e6cd8ebd8c6543648e0670920034ff /* Number of tokens to shift before error messages enabled. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyerrstatus;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The stacks and their tools:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf `yyss': related to states.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf `yyvs': related to semantic values.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Refer to the stacks through separate pointers, to allow yyoverflow
e07d9cb85217949d497b02d7211de8a197d2f2ebzf to reallocate them elsewhere. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The state stack. */
ff3124eff995e6cd8ebd8c6543648e0670920034ff yytype_int16 yyssa[YYINITDEPTH];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yyss;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yyssp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The semantic value stack. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE yyvsa[YYINITDEPTH];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE *yyvs;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE *yyvsp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yystacksize;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyn;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yyresult;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Lookahead token as an internal (translated) token number. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yytoken = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The variables used to return semantic value and location from the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf action routines. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE yyval;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Buffer for error messages, and its allocated size. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char yymsgbuf[128];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char *yymsg = yymsgbuf;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* The number of symbols on the RHS of the reduced rule.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Keep to zero when no symbol should be popped. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yylen = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyssp = yyss = yyssa;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyvsp = yyvs = yyvsa;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystacksize = YYINITDEPTH;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYDPRINTF ((stderr, "Starting parse\n"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerrstatus = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yynerrs = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yychar = YYEMPTY; /* Cause a token to be read. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yysetstate;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*------------------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yynewstate -- Push a new state, which is found in yystate. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`------------------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yynewstate:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* In all cases, when you get here, the value and location stacks
e07d9cb85217949d497b02d7211de8a197d2f2ebzf have just been pushed. So pushing a state here evens the stacks. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyssp++;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yysetstate:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *yyssp = yystate;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyss + yystacksize - 1 <= yyssp)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Get the current used size of the three stacks, in elements. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSIZE_T yysize = yyssp - yyss + 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifdef yyoverflow
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Give user a chance to reallocate the stack. Use copies of
e07d9cb85217949d497b02d7211de8a197d2f2ebzf these so that the &'s don't force the real ones into
e07d9cb85217949d497b02d7211de8a197d2f2ebzf memory. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTYPE *yyvs1 = yyvs;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yyss1 = yyss;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Each stack pointer address is followed by the size of the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf data in use in that stack, in bytes. This used to be a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf conditional around just the two extra args, but that might
e07d9cb85217949d497b02d7211de8a197d2f2ebzf be undefined if yyoverflow is a macro. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyoverflow (YY_("memory exhausted"),
e07d9cb85217949d497b02d7211de8a197d2f2ebzf &yyss1, yysize * sizeof (*yyssp),
e07d9cb85217949d497b02d7211de8a197d2f2ebzf &yyvs1, yysize * sizeof (*yyvsp),
e07d9cb85217949d497b02d7211de8a197d2f2ebzf &yystacksize);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyss = yyss1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyvs = yyvs1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else /* no yyoverflow */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# ifndef YYSTACK_RELOCATE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyexhaustedlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Extend the stack our own way. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (YYMAXDEPTH <= yystacksize)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyexhaustedlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystacksize *= 2;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (YYMAXDEPTH < yystacksize)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystacksize = YYMAXDEPTH;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytype_int16 *yyss1 = yyss;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf union yyalloc *yyptr =
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (! yyptr)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyexhaustedlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_RELOCATE (yyss_alloc, yyss);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_RELOCATE (yyvs_alloc, yyvs);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# undef YYSTACK_RELOCATE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyss1 != yyssa)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_FREE (yyss1);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif /* no yyoverflow */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyssp = yyss + yysize - 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyvsp = yyvs + yysize - 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYDPRINTF ((stderr, "Stack size increased to %lu\n",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (unsigned long int) yystacksize));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyss + yystacksize - 1 <= yyssp)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYABORT;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYDPRINTF ((stderr, "Entering state %d\n", yystate));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yystate == YYFINAL)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYACCEPT;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yybackup;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-----------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yybackup. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-----------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyybackup:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Do appropriate processing given the current state. Read a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf lookahead token if we need one and don't already have one. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* First try to decide what to do without reference to lookahead token. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn = yypact[yystate];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yypact_value_is_default (yyn))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yydefault;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Not known => get a lookahead token if don't already have one. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yychar == YYEMPTY)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYDPRINTF ((stderr, "Reading a token: "));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yychar = YYLEX;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yychar <= YYEOF)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yychar = yytoken = YYEOF;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYDPRINTF ((stderr, "Now at end of input.\n"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytoken = YYTRANSLATE (yychar);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* If the proper action on seeing token YYTOKEN is to reduce or to
e07d9cb85217949d497b02d7211de8a197d2f2ebzf detect an error, take that action. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn += yytoken;
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang goto yydefault;
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang yyn = yytable[yyn];
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang if (yyn <= 0)
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yytable_value_is_error (yyn))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyerrlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn = -yyn;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyreduce;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Count tokens shifted since error; after three, turn off error
e07d9cb85217949d497b02d7211de8a197d2f2ebzf status. */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang if (yyerrstatus)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerrstatus--;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Shift the lookahead token. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Discard the shifted token. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yychar = YYEMPTY;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = yyn;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *++yyvsp = yylval;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_IGNORE_MAYBE_UNINITIALIZED_END
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yynewstate;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-----------------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yydefault -- do the default action for the current state. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-----------------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyydefault:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn = yydefact[yystate];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyn == 0)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyerrlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyreduce;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-----------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyreduce -- Do a reduction. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-----------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyreduce:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* yyn is the number of a rule to reduce with. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yylen = yyr2[yyn];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* If YYLEN is nonzero, implement the default value of the action:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf `$$ = $1'.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf Otherwise, the following line sets YYVAL to garbage.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf This behavior is undocumented and Bison
e07d9cb85217949d497b02d7211de8a197d2f2ebzf users should not rely upon it. Assigning to YYVAL
e07d9cb85217949d497b02d7211de8a197d2f2ebzf unconditionally makes the parser a bit smaller, and it avoids a
e07d9cb85217949d497b02d7211de8a197d2f2ebzf GCC warning that YYVAL may be used uninitialized. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyval = yyvsp[1-yylen];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_REDUCE_PRINT (yyn);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf switch (yyn)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 2:
ff3124eff995e6cd8ebd8c6543648e0670920034ff/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 112 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { ctx->expr = (yyvsp[(2) - (2)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 3:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 113 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { ctx->expr = (yyvsp[(2) - (2)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 4:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 114 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { YYABORT; }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 5:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 117 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_True, NULL, NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 6:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 118 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_False, NULL, NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 7:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 119 "util_expr_parse.y"
fb91fd8a302dfb13e250bbefb6a3970c2edc3ae3zf { (yyval.exVal) = ap_expr_make(op_Not, (yyvsp[(2) - (2)].exVal), NULL, ctx); }
fb91fd8a302dfb13e250bbefb6a3970c2edc3ae3zf break;
fb91fd8a302dfb13e250bbefb6a3970c2edc3ae3zf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 8:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 120 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_Or, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 9:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 121 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_And, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 10:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 122 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_Comp, (yyvsp[(1) - (1)].exVal), NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 11:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 123 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_unary_op_make( (yyvsp[(1) - (2)].cpVal), (yyvsp[(2) - (2)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 12:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 124 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_binary_op_make((yyvsp[(2) - (3)].cpVal), (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 13:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 125 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang case 14:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 126 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { YYABORT; }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 15:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 129 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_EQ, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 16:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 130 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_NE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 17:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 131 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_LT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 18:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 132 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_LE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 19:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 133 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_GT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 20:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 134 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_GE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 21:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 135 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_STR_EQ, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 22:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 136 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_STR_NE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 23:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 137 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_STR_LT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 24:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 138 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_STR_LE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 25:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 139 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_STR_GT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 26:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 140 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_STR_GE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 27:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 141 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_IN, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 28:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 142 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_REG, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
ff3124eff995e6cd8ebd8c6543648e0670920034ff
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 29:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 143 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_NRE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 30:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 146 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 31:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 147 "util_expr_parse.y"
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 32:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 150 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_ListElement, (yyvsp[(1) - (1)].exVal), NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 33:
fb91fd8a302dfb13e250bbefb6a3970c2edc3ae3zf/* Line 1787 of yacc.c */
fb91fd8a302dfb13e250bbefb6a3970c2edc3ae3zf#line 151 "util_expr_parse.y"
fb91fd8a302dfb13e250bbefb6a3970c2edc3ae3zf { (yyval.exVal) = ap_expr_make(op_ListElement, (yyvsp[(3) - (3)].exVal), (yyvsp[(1) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 34:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 154 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_Concat, (yyvsp[(1) - (2)].exVal), (yyvsp[(2) - (2)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 35:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 155 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 36:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 156 "util_expr_parse.y"
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang { YYABORT; }
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang break;
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang
fe3e6e3a98f98e7ab1a751934c0116fb914b9c82Quaker Fang case 37:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 159 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_String, (yyvsp[(1) - (1)].cpVal), NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 38:
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 160 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 39:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 161 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 40:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 164 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_var_make((yyvsp[(2) - (3)].cpVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 41:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 165 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(2) - (5)].cpVal), (yyvsp[(4) - (5)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 42:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 168 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_Digit, (yyvsp[(1) - (1)].cpVal), NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 43:
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 169 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_Concat, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 44:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 170 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 45:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 171 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 46:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 172 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(1) - (1)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 47:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 173 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = (yyvsp[(2) - (3)].exVal); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 48:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang#line 174 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_make(op_String, "", NULL, ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 49:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 177 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_regex_t *regex;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if ((regex = ap_pregcomp(ctx->pool, (yyvsp[(1) - (1)].cpVal),
e07d9cb85217949d497b02d7211de8a197d2f2ebzf AP_REG_EXTENDED|AP_REG_NOSUB)) == NULL) {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ctx->error = "Failed to compile regular expression";
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYERROR;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (yyval.exVal) = ap_expr_make(op_Regex, regex, NULL, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 50:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 186 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ap_regex_t *regex;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if ((regex = ap_pregcomp(ctx->pool, (yyvsp[(1) - (1)].cpVal),
e07d9cb85217949d497b02d7211de8a197d2f2ebzf AP_REG_EXTENDED|AP_REG_NOSUB|AP_REG_ICASE)) == NULL) {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ctx->error = "Failed to compile regular expression";
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYERROR;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (yyval.exVal) = ap_expr_make(op_Regex, regex, NULL, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 51:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 197 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int *n = apr_palloc(ctx->pool, sizeof(int));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *n = (yyvsp[(1) - (1)].num);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf (yyval.exVal) = ap_expr_make(op_RegexBackref, n, NULL, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 52:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 204 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_list_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case 53:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 207 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 1787 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 1841 "util_expr_parse.c"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf default: break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* User semantic actions sometimes alter yychar, and that requires
e07d9cb85217949d497b02d7211de8a197d2f2ebzf that yytoken be updated with the new translation. We take the
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang approach of translating immediately before every use of yytoken.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf One alternative is translating here after every semantic action,
e07d9cb85217949d497b02d7211de8a197d2f2ebzf but that translation would be missed if the semantic action invokes
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
e07d9cb85217949d497b02d7211de8a197d2f2ebzf incorrect destructor might then be invoked immediately. In the
e07d9cb85217949d497b02d7211de8a197d2f2ebzf case of YYERROR or YYBACKUP, subsequent parser actions might lead
e07d9cb85217949d497b02d7211de8a197d2f2ebzf to an incorrect destructor call or verbose syntax error message
e07d9cb85217949d497b02d7211de8a197d2f2ebzf before the lookahead is translated. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPOPSTACK (yylen);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yylen = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_STACK_PRINT (yyss, yyssp);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *++yyvsp = yyval;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Now `shift' the result of the reduction. Determine what state
e07d9cb85217949d497b02d7211de8a197d2f2ebzf that goes to, based on the state we popped back to and the rule
e07d9cb85217949d497b02d7211de8a197d2f2ebzf number reduced by. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn = yyr1[yyn];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = yytable[yystate];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = yydefgoto[yyn - YYNTOKENS];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yynewstate;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyerrlab -- here on detecting error |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyerrlab:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Make sure we have latest lookahead translation. See comments at
e07d9cb85217949d497b02d7211de8a197d2f2ebzf user semantic actions for why this is necessary. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* If not already recovering from an error, report this error. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (!yyerrstatus)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ++yynerrs;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if ! YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerror (ctx, YY_("syntax error"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyssp, yytoken)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf char const *yymsgp = YY_("syntax error");
e07d9cb85217949d497b02d7211de8a197d2f2ebzf int yysyntax_error_status;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yysyntax_error_status = YYSYNTAX_ERROR;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yysyntax_error_status == 0)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yymsgp = yymsg;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else if (yysyntax_error_status == 1)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yymsg != yymsgbuf)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_FREE (yymsg);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (!yymsg)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yymsg = yymsgbuf;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yymsg_alloc = sizeof yymsgbuf;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yysyntax_error_status = 2;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yysyntax_error_status = YYSYNTAX_ERROR;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yymsgp = yymsg;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerror (ctx, yymsgp);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yysyntax_error_status == 2)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyexhaustedlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf# undef YYSYNTAX_ERROR
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyerrstatus == 3)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* If just tried and failed to reuse lookahead token after an
e07d9cb85217949d497b02d7211de8a197d2f2ebzf error, discard it. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yychar <= YYEOF)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Return failure if at end of input. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yychar == YYEOF)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYABORT;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf else
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yydestruct ("Error: discarding",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytoken, &yylval, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yychar = YYEMPTY;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Else will try to reuse lookahead token after shifting the error
e07d9cb85217949d497b02d7211de8a197d2f2ebzf token. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyerrlab1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*---------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyerrorlab -- error raised explicitly by YYERROR. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`---------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyerrorlab:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Pacify compilers like GCC when the user code never invokes
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYERROR and the label yyerrorlab therefore never appears in user
e07d9cb85217949d497b02d7211de8a197d2f2ebzf code. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (/*CONSTCOND*/ 0)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyerrorlab;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Do not reclaim the symbols of the rule which action triggered
e07d9cb85217949d497b02d7211de8a197d2f2ebzf this YYERROR. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPOPSTACK (yylen);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yylen = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_STACK_PRINT (yyss, yyssp);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = *yyssp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyerrlab1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-------------------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyerrlab1 -- common code for both syntax error and YYERROR. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-------------------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyerrlab1:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerrstatus = 3; /* Each real token shifted decrements this. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf for (;;)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn = yypact[yystate];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (!yypact_value_is_default (yyn))
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn += YYTERROR;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyn = yytable[yyn];
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (0 < yyn)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf break;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Pop the current state because it cannot handle the error token. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyssp == yyss)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYABORT;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yydestruct ("Error: popping",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystos[yystate], yyvsp, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPOPSTACK (1);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = *yyssp;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_STACK_PRINT (yyss, yyssp);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
e07d9cb85217949d497b02d7211de8a197d2f2ebzf *++yyvsp = yylval;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_IGNORE_MAYBE_UNINITIALIZED_END
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Shift the error token. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystate = yyn;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yynewstate;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyacceptlab -- YYACCEPT comes here. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyacceptlab:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyresult = 0;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyreturn;
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-----------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyabortlab -- YYABORT comes here. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-----------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyabortlab:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyresult = 1;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf goto yyreturn;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if !defined yyoverflow || YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/*-------------------------------------------------.
e07d9cb85217949d497b02d7211de8a197d2f2ebzf| yyexhaustedlab -- memory exhaustion comes here. |
e07d9cb85217949d497b02d7211de8a197d2f2ebzf`-------------------------------------------------*/
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyexhaustedlab:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyerror (ctx, YY_("memory exhausted"));
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yyresult = 2;
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Fall through. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzfyyreturn:
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yychar != YYEMPTY)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Make sure we have latest lookahead translation. See comments at
e07d9cb85217949d497b02d7211de8a197d2f2ebzf user semantic actions for why this is necessary. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytoken = YYTRANSLATE (yychar);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yydestruct ("Cleanup: discarding lookahead",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yytoken, &yylval, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Do not reclaim the symbols of the rule which action triggered
e07d9cb85217949d497b02d7211de8a197d2f2ebzf this YYABORT or YYACCEPT. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPOPSTACK (yylen);
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang YY_STACK_PRINT (yyss, yyssp);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf while (yyssp != yyss)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf {
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yydestruct ("Cleanup: popping",
e07d9cb85217949d497b02d7211de8a197d2f2ebzf yystos[*yyssp], yyvsp, ctx);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYPOPSTACK (1);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf }
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#ifndef yyoverflow
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yyss != yyssa)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_FREE (yyss);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#if YYERROR_VERBOSE
e07d9cb85217949d497b02d7211de8a197d2f2ebzf if (yymsg != yymsgbuf)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf YYSTACK_FREE (yymsg);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#endif
e07d9cb85217949d497b02d7211de8a197d2f2ebzf /* Make sure YYID is used. */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf return YYID (yyresult);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf/* Line 2050 of yacc.c */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf#line 210 "util_expr_parse.y"
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzfvoid yyerror(ap_expr_parse_ctx_t *ctx, const char *s)
e07d9cb85217949d497b02d7211de8a197d2f2ebzf{
1a932f2eab9b00d713acc4205d96ca2485bf2712Quaker Fang /* s is allocated on the stack */
e07d9cb85217949d497b02d7211de8a197d2f2ebzf ctx->error = apr_pstrdup(ctx->ptemp, s);
e07d9cb85217949d497b02d7211de8a197d2f2ebzf}
e07d9cb85217949d497b02d7211de8a197d2f2ebzf
e07d9cb85217949d497b02d7211de8a197d2f2ebzf