util_expr_parse.c revision 68dfc95acc4fde241e0124dd29cdda973bd6ec2c
842ae4bd224140319ae7feec1872b93dfd491143fielding/* A Bison parser, made by GNU Bison 2.4.1. */
842ae4bd224140319ae7feec1872b93dfd491143fielding/* Skeleton implementation for Bison's Yacc-like parsers in C
842ae4bd224140319ae7feec1872b93dfd491143fielding Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Free Software Foundation, Inc.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This program is free software: you can redistribute it and/or modify
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd it under the terms of the GNU General Public License as published by
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd the Free Software Foundation, either version 3 of the License, or
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd (at your option) any later version.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd This program is distributed in the hope that it will be useful,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb but WITHOUT ANY WARRANTY; without even the implied warranty of
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb GNU General Public License for more details.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh You should have received a copy of the GNU General Public License
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb along with this program. If not, see <http://www.gnu.org/licenses/>. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* As a special exception, you may create a larger work that contains
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb part or all of the Bison parser skeleton and distribute that work
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb under terms of your choice, so long as that work isn't itself a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb parser generator using the skeleton or a modified version thereof
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb as a parser skeleton. Alternatively, if you modify or redistribute
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the parser skeleton itself, you may (at your option) remove this
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb special exception, which will cause the skeleton and the resulting
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Bison output files to be licensed under the GNU General Public
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb License without this special exception.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This special exception was added by the Free Software Foundation in
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb version 2.2 of Bison. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* C LALR(1) parser skeleton written by Richard Stallman, by
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd simplifying the original so-called "semantic" parser. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* All symbols defined below should begin with yy or YY, to avoid
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb infringing on user name space. This should be done even for local
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb variables, as they might otherwise be expanded by user macros.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb There are some unavoidable exceptions within include files to
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb define necessary library symbols; they are noted "INFRINGES ON
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb USER NAME SPACE" below. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Identify Bison output. */
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin/* Bison version. */
db455cbc662c98dbbf53175393c50086ff63370cchrisd/* Skeleton name. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Pure parsers. */
36ef8f77bffe75d1aa327882be1b5bdbe2ff567asf/* Push parsers. */
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz/* Pull parsers. */
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz/* Using locations. */
18b5268e013574026b2503b1641baf3299045f45sf/* Substitute the variable and function names. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Copy the first part of user declarations. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 189 of yacc.c */
18b5268e013574026b2503b1641baf3299045f45sf/* Line 189 of yacc.c */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/* Enabling traces. */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Enabling verbose error messages. */
2d399cd7535887fceaa9f8f116eb98ce68ddd602trawick/* Enabling the token table. */
4760b58cc9fe170e4ad4648ed4ff7a422a2cef38sf/* Tokens. */
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar /* Put the tokens into the symbol table, so that GDB and other debuggers
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe know about them. */
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowetypedef union YYSTYPE
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe/* Line 214 of yacc.c */
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe/* Line 214 of yacc.c */
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe# define yystype YYSTYPE /* obsolescent; will be withdrawn */
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe/* Copy the second part of user declarations. */
11a0edf478ca9c59d80bf73491d89cf019259feeniq/* Line 264 of yacc.c */
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf/* Line 264 of yacc.c */
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe#ifdef short
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowetypedef unsigned char yytype_uint8;
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowetypedef signed char yytype_int8;
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisdtypedef short int yytype_int8;
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholestypedef unsigned short int yytype_uint16;
18b5268e013574026b2503b1641baf3299045f45sftypedef short int yytype_int16;
18b5268e013574026b2503b1641baf3299045f45sf# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq# define YYSIZE_T unsigned int
18b5268e013574026b2503b1641baf3299045f45sf/* Suppress unused-variable warnings by "using" E. */
18b5268e013574026b2503b1641baf3299045f45sf# define YYUSE(e) ((void) (e))
18b5268e013574026b2503b1641baf3299045f45sf/* Identity function, used to suppress warnings about constant conditions. */
18b5268e013574026b2503b1641baf3299045f45sf# define YYID(n) (n)
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes/* The parser invokes alloca or malloc; define the necessary symbols. */
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
4760b58cc9fe170e4ad4648ed4ff7a422a2cef38sf# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
cc9582e53aead2a044077c4a92f3dfc3605590b3wrowe /* Pacify GCC's `empty if-body' warning. */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
cc9582e53aead2a044077c4a92f3dfc3605590b3wrowe /* The OS might guarantee only one guard page at the bottom of the stack,
cc9582e53aead2a044077c4a92f3dfc3605590b3wrowe and a page size can be as small as 4096 bytes. So we cannot safely
cc9582e53aead2a044077c4a92f3dfc3605590b3wrowe invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
0540a0b469147b52e858587270dba31c2aaa9e09wrowe to allow for a few compiler-allocated temporary stack slots. */
cc9582e53aead2a044077c4a92f3dfc3605590b3wrowe# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisdvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd#if (! defined yyoverflow \
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd && (! defined __cplusplus \
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* A type that is properly aligned for any stack member. */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* The size of the maximum gap between one aligned stack and the next. */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* The size of an array large to enough to hold all stacks, each with
4f9c22c4f27571d54197be9674e1fc0d528192aestriker N elements. */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Copy COUNT objects from FROM to TO. The source and destination do
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd not overlap. */
cc9582e53aead2a044077c4a92f3dfc3605590b3wrowe __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb while (YYID (0))
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Relocate STACK from its old location to the new one. The
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb local variables YYSIZE and YYSTACKSIZE give the old and new number of
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb elements in the stack, and YYPTR gives the new location of the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb stack. Advance YYPTR to a properly aligned location for the next
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe while (YYID (0))
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe/* YYFINAL -- State number of the termination state. */
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe/* YYLAST -- Last index in YYTABLE. */
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe/* YYNTOKENS -- Number of terminals. */
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe/* YYNNTS -- Number of nonterminals. */
7c301a1818939f85da8f3629cc3e9b5588610ef0jerenkrantz/* YYNRULES -- Number of rules. */
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar/* YYNRULES -- Number of states. */
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1e911973bcb9df6701a4c16c037771ecf25ade13niq ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
c3e233736c4a453cbb2166a041f779e86230630asf/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
700b96db75e7cfadb5219978c1735b710d583763wrowe/* YYRHS -- A `-1'-separated list of the rules' RHS. */
700b96db75e7cfadb5219978c1735b710d583763wrowe/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
700b96db75e7cfadb5219978c1735b710d583763wrowe/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
700b96db75e7cfadb5219978c1735b710d583763wrowe First, the terminals, then, starting at YYNTOKENS, nonterminals. */
700b96db75e7cfadb5219978c1735b710d583763wrowestatic const char *const yytname[] =
700b96db75e7cfadb5219978c1735b710d583763wrowe "$end", "error", "$undefined", "T_TRUE", "T_FALSE", "T_ERROR",
103a93c625bcde1a6a7a5155b64dcda36f612180pquerna "T_DIGIT", "T_ID", "T_STRING", "T_REGEX", "T_REGEX_I", "T_REGEX_BACKREF",
103a93c625bcde1a6a7a5155b64dcda36f612180pquerna "T_OP_UNARY", "T_OP_BINARY", "T_STR_BEGIN", "T_STR_END", "T_VAR_BEGIN",
700b96db75e7cfadb5219978c1735b710d583763wrowe "T_VAR_END", "T_OP_EQ", "T_OP_NE", "T_OP_LT", "T_OP_LE", "T_OP_GT",
700b96db75e7cfadb5219978c1735b710d583763wrowe "T_OP_GE", "T_OP_REG", "T_OP_NRE", "T_OP_IN", "T_OP_STR_EQ",
700b96db75e7cfadb5219978c1735b710d583763wrowe "T_OP_STR_NE", "T_OP_STR_LT", "T_OP_STR_LE", "T_OP_STR_GT",
8aefbd756763807188d2e3ce336a8680e4893066wrowe "T_OP_STR_GE", "T_OP_CONCAT", "T_OP_OR", "T_OP_AND", "T_OP_NOT", "'('",
8aefbd756763807188d2e3ce336a8680e4893066wrowe "')'", "'{'", "'}'", "','", "':'", "$accept", "root", "expr",
8aefbd756763807188d2e3ce336a8680e4893066wrowe "comparison", "wordlist", "words", "string", "strpart", "var", "word",
8aefbd756763807188d2e3ce336a8680e4893066wrowe/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
8aefbd756763807188d2e3ce336a8680e4893066wrowe token YYLEX-NUM. */
2fa5b5878e7567e2875807c3e2a2b3b0d3ef74bewrowe/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
23c6309e36a63b13b61c35999c978017521993d6wrowe/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
cf6ef072483172309861d06e85b1aeff4573c060wrowe/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
cf6ef072483172309861d06e85b1aeff4573c060wrowe STATE-NUM when YYTABLE doesn't specify something else to do. Zero
cf6ef072483172309861d06e85b1aeff4573c060wrowe means the default is an error. */
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4f9c22c4f27571d54197be9674e1fc0d528192aestriker 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8aefbd756763807188d2e3ce336a8680e4893066wrowe/* YYDEFGOTO[NTERM-NUM]. */
cf6ef072483172309861d06e85b1aeff4573c060wrowe/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
cf6ef072483172309861d06e85b1aeff4573c060wrowe STATE-NUM. */
d75626f0952c6152a99acd013a4f127d46f0f9edtrawick/* YYPGOTO[NTERM-NUM]. */
ecde48c75338ff5712f2036711f813c6dedca28ewrowe/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
ecde48c75338ff5712f2036711f813c6dedca28ewrowe positive, shift that token. If negative, reduce the rule which
2d4ea77e21ef7f3707d2c27f6117cc0a36e99b83trawick number is the opposite. If zero, do what YYDEFACT says.
d75626f0952c6152a99acd013a4f127d46f0f9edtrawick If YYTABLE_NINF, syntax error. */
170476518c96db46fff6fdce7cb9a3f24abfaea7rpluem/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem symbol of state STATE-NUM. */
ad099b4d62597be19f8dba650663e796cbaa8d28rpluem/* Like YYERROR except do call yyerror. This remains here temporarily
ad099b4d62597be19f8dba650663e796cbaa8d28rpluem to ease the transition to the new meaning of YYERROR, for GCC.
ad099b4d62597be19f8dba650663e796cbaa8d28rpluem Once GCC version 2 has supplanted version 1, this can go. */
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem yyerror (ctx, YY_("syntax error: cannot back up")); \
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe If N is 0, then set CURRENT to the empty location which ends
4f9c22c4f27571d54197be9674e1fc0d528192aestriker the previous symbol: RHS[0] (always defined). */
700b96db75e7cfadb5219978c1735b710d583763wrowe (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
cf6ef072483172309861d06e85b1aeff4573c060wrowe (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
0e58e92812f2f679d6bf2ff66cbcfa6c1d1e14bbjerenkrantz (Current).first_column = (Current).last_column = \
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe while (YYID (0))
3dcf67a5060400edb8ccef3fb4a2024388965af9martin/* YY_LOCATION_PRINT -- Print the location on the stream.
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe This macro was not mandated originally: define only if we know
2fd8d1e14fc47762d1e01660b544d5e2a75c825dtrawick we won't break user code: when these are the locations we know. */
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe/* YYLEX -- calling `yylex' with the right arguments. */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/* Enable debugging if requested. */
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe} while (YYID (0))
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4f9c22c4f27571d54197be9674e1fc0d528192aestriker} while (YYID (0))
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/*--------------------------------.
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe| Print this symbol on YYOUTPUT. |
4f9c22c4f27571d54197be9674e1fc0d528192aestriker`--------------------------------*/
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/*ARGSUSED*/
1b315ee865b0f11e582beb64127ca3a99a319d2fwroweyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ap_expr_parse_ctx_t *ctx)
1b315ee865b0f11e582beb64127ca3a99a319d2fwroweyy_symbol_value_print (yyoutput, yytype, yyvaluep, ctx)
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe/*--------------------------------.
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe| Print this symbol on YYOUTPUT. |
38bcc87d9a06e8ba81165421403f275eca4e313btrawick`--------------------------------*/
1b315ee865b0f11e582beb64127ca3a99a319d2fwroweyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ap_expr_parse_ctx_t *ctx)
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe yy_symbol_value_print (yyoutput, yytype, yyvaluep, ctx);
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe/*------------------------------------------------------------------.
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe| yy_stack_print -- Print the state stack from its BOTTOM up to its |
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe| TOP (included). |
4f9c22c4f27571d54197be9674e1fc0d528192aestriker`------------------------------------------------------------------*/
e4a3f3c2f080cac75a15a6454cca429b8161c050wroweyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
8aefbd756763807188d2e3ce336a8680e4893066wrowe} while (YYID (0))
4fca95918a9c0ae93593806544b425d0adc2fcc3wrowe/*------------------------------------------------.
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe| Report that the YYRULE is going to be reduced. |
8aefbd756763807188d2e3ce336a8680e4893066wrowe`------------------------------------------------*/
4f9c22c4f27571d54197be9674e1fc0d528192aestrikeryy_reduce_print (YYSTYPE *yyvsp, int yyrule, ap_expr_parse_ctx_t *ctx)
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
f08810eff40a2bddd2bc0103453c4ae775ea62bewrowe /* The symbols being reduced. */
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe} while (YYID (0))
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe/* Nonzero means print parse trace. It is left uninitialized so that
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe multiple parsers can coexist. */
700b96db75e7cfadb5219978c1735b710d583763wrowe#else /* !YYDEBUG */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe#endif /* !YYDEBUG */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* YYINITDEPTH -- initial size of the parser's stacks. */
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe if the built-in stack extension method is used).
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar Do not make this value too large; the results are undefined if
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar evaluated with infinite-precision integer arithmetic. */
e8f95a682820a599fe41b22977010636be5c2717jim/* Return the length of YYSTR. */
43c3e6a4b559b76b750c245ee95e2782c15b4296jim const char *yystr;
700b96db75e7cfadb5219978c1735b710d583763wrowe# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
700b96db75e7cfadb5219978c1735b710d583763wrowe/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
700b96db75e7cfadb5219978c1735b710d583763wrowestatic char *
700b96db75e7cfadb5219978c1735b710d583763wrowestatic char *
700b96db75e7cfadb5219978c1735b710d583763wrowe const char *yysrc;
700b96db75e7cfadb5219978c1735b710d583763wrowe/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
700b96db75e7cfadb5219978c1735b710d583763wrowe quotes and backslashes, so that it's suitable for yyerror. The
700b96db75e7cfadb5219978c1735b710d583763wrowe heuristic is that double-quoting is unnecessary unless the string
700b96db75e7cfadb5219978c1735b710d583763wrowe contains an apostrophe, a comma, or backslash (other than
700b96db75e7cfadb5219978c1735b710d583763wrowe backslash-backslash). YYSTR is taken from yytname. If YYRES is
700b96db75e7cfadb5219978c1735b710d583763wrowe null, do not copy; instead, return the length of what the result
700b96db75e7cfadb5219978c1735b710d583763wrowe would have been. */
2520f59894a3e07fefa881ef68aaded763a8d447ben switch (*++yyp)
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar case '\'':
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar case '\\':
8aefbd756763807188d2e3ce336a8680e4893066wrowe /* Fall through. */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/* Copy into YYRESULT an error message about the unexpected token
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe YYCHAR while in state YYSTATE. Return the number of bytes copied,
4f9c22c4f27571d54197be9674e1fc0d528192aestriker including the terminating null byte. If YYRESULT is null, do not
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe copy anything; just return the number of bytes that would be
ecde48c75338ff5712f2036711f813c6dedca28ewrowe copied. As a special case, return 0 if an ordinary "syntax error"
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar message will do. Return YYSIZE_MAXIMUM if overflow occurs during
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe size calculation. */
8aefbd756763807188d2e3ce336a8680e4893066wroweyysyntax_error (char *yyresult, int yystate, int yychar)
cf6ef072483172309861d06e85b1aeff4573c060wrowe /* This is so xgettext sees the translatable formats that are
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe constructed on the fly. */
e8f95a682820a599fe41b22977010636be5c2717jim YY_("syntax error, unexpected %s, expecting %s or %s or %s");
e8f95a682820a599fe41b22977010636be5c2717jim YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1fbf6ba0f5207e6637b49f9a9dfcc779bbe952a9trawick char const *yyf;
e8f95a682820a599fe41b22977010636be5c2717jim static char const yyunexpected[] = "syntax error, unexpected %s";
8aefbd756763807188d2e3ce336a8680e4893066wrowe /* Start YYX at -YYN if negative to avoid negative indexes in
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe YYCHECK. */
a1072ba3065ee7e37162e72f2fd4e7b209e49a33covener /* Stay within bounds of both yycheck and yytname. */
8aefbd756763807188d2e3ce336a8680e4893066wrowe int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe /* Avoid sprintf, as that infringes on the user's name space.
ecde48c75338ff5712f2036711f813c6dedca28ewrowe Don't have undefined behavior even if the translation
8aefbd756763807188d2e3ce336a8680e4893066wrowe produced a string with the wrong number of "%s"s. */
cf6ef072483172309861d06e85b1aeff4573c060wrowe#endif /* YYERROR_VERBOSE */
2d4ea77e21ef7f3707d2c27f6117cc0a36e99b83trawick/*-----------------------------------------------.
cf6ef072483172309861d06e85b1aeff4573c060wrowe| Release the memory associated to this symbol. |
cf6ef072483172309861d06e85b1aeff4573c060wrowe`-----------------------------------------------*/
cf6ef072483172309861d06e85b1aeff4573c060wrowe/*ARGSUSED*/
4f9c22c4f27571d54197be9674e1fc0d528192aestrikeryydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, ap_expr_parse_ctx_t *ctx)
cf6ef072483172309861d06e85b1aeff4573c060wrowe const char *yymsg;
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
700b96db75e7cfadb5219978c1735b710d583763wrowe/* Prevent warnings from -Wmissing-prototypes. */
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe#else /* ! YYPARSE_PARAM */
700b96db75e7cfadb5219978c1735b710d583763wrowe#endif /* ! YYPARSE_PARAM */
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe/*-------------------------.
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe| yyparse or yypush_parse. |
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd`-------------------------*/
e4a3f3c2f080cac75a15a6454cca429b8161c050wrowe#else /* ! YYPARSE_PARAM */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* The lookahead symbol. */
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar/* The semantic value of the lookahead symbol. */
c2cf53a40a9814eb91db2cdf820f97d943f21628coar /* Number of syntax errors so far. */
0ec08ecdcb42129d147888bda504787b164da39cerikabele /* Number of tokens to shift before error messages enabled. */
8aefbd756763807188d2e3ce336a8680e4893066wrowe /* The stacks and their tools:
8aefbd756763807188d2e3ce336a8680e4893066wrowe `yyss': related to states.
8aefbd756763807188d2e3ce336a8680e4893066wrowe `yyvs': related to semantic values.
5bb29f57ae0184d2b3c1cdf35132f8ceb011f882wrowe Refer to the stacks thru separate pointers, to allow yyoverflow
8aefbd756763807188d2e3ce336a8680e4893066wrowe to reallocate them elsewhere. */
8aefbd756763807188d2e3ce336a8680e4893066wrowe /* The state stack. */
8aefbd756763807188d2e3ce336a8680e4893066wrowe /* The semantic value stack. */
1b315ee865b0f11e582beb64127ca3a99a319d2fwrowe /* Lookahead token as an internal (translated) token number. */
0540a0b469147b52e858587270dba31c2aaa9e09wrowe /* The variables used to return semantic value and location from the
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar action routines. */
0540a0b469147b52e858587270dba31c2aaa9e09wrowe /* Buffer for error messages, and its allocated size. */
a9a4544168a37b43bd180b3703ccee995f27a80awrowe /* The number of symbols on the RHS of the reduced rule.
0540a0b469147b52e858587270dba31c2aaa9e09wrowe Keep to zero when no symbol should be popped. */
a2a0abd88b19e042a3eb2a9fa1702c25ad51303dwrowe /* Initialize stack pointers.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Waste one element of value and location stack
948096a99010fccf648814fecf38f75c689172d7wrowe so that they stay on the same level as the state stack.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb The wasted elements are never initialized. */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/*------------------------------------------------------------.
948096a99010fccf648814fecf38f75c689172d7wrowe| yynewstate -- Push a new state, which is found in yystate. |
948096a99010fccf648814fecf38f75c689172d7wrowe`------------------------------------------------------------*/
dc8692c6c0ca616a09aa12dad005f2ef23baa1a0wrowe /* In all cases, when you get here, the value and location stacks
053497224246c4dbef9af594cacf5c00ed271e6cwrowe have just been pushed. So pushing a state here evens the stacks. */
948096a99010fccf648814fecf38f75c689172d7wrowe /* Get the current used size of the three stacks, in elements. */
948096a99010fccf648814fecf38f75c689172d7wrowe /* Give user a chance to reallocate the stack. Use copies of
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz these so that the &'s don't force the real ones into
948096a99010fccf648814fecf38f75c689172d7wrowe /* Each stack pointer address is followed by the size of the
948096a99010fccf648814fecf38f75c689172d7wrowe data in use in that stack, in bytes. This used to be a
053497224246c4dbef9af594cacf5c00ed271e6cwrowe conditional around just the two extra args, but that might
948096a99010fccf648814fecf38f75c689172d7wrowe be undefined if yyoverflow is a macro. */
948096a99010fccf648814fecf38f75c689172d7wrowe#else /* no yyoverflow */
948096a99010fccf648814fecf38f75c689172d7wrowe /* Extend the stack our own way. */
948096a99010fccf648814fecf38f75c689172d7wrowe (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
948096a99010fccf648814fecf38f75c689172d7wrowe#endif /* no yyoverflow */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker (unsigned long int) yystacksize));
c2cf53a40a9814eb91db2cdf820f97d943f21628coar/*-----------.
1fbf6ba0f5207e6637b49f9a9dfcc779bbe952a9trawick| yybackup. |
c2cf53a40a9814eb91db2cdf820f97d943f21628coar`-----------*/
4f9c22c4f27571d54197be9674e1fc0d528192aestriker /* Do appropriate processing given the current state. Read a
4f9c22c4f27571d54197be9674e1fc0d528192aestriker lookahead token if we need one and don't already have one. */
053497224246c4dbef9af594cacf5c00ed271e6cwrowe /* First try to decide what to do without reference to lookahead token. */
0540a0b469147b52e858587270dba31c2aaa9e09wrowe /* Not known => get a lookahead token if don't already have one. */
948096a99010fccf648814fecf38f75c689172d7wrowe /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
948096a99010fccf648814fecf38f75c689172d7wrowe YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar /* If the proper action on seeing token YYTOKEN is to reduce or to
0540a0b469147b52e858587270dba31c2aaa9e09wrowe detect an error, take that action. */
696218c49632c863d18b25fa52ab63617088cb38wrowe if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
948096a99010fccf648814fecf38f75c689172d7wrowe /* Count tokens shifted since error; after three, turn off error
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar /* Shift the lookahead token. */
053497224246c4dbef9af594cacf5c00ed271e6cwrowe YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd /* Discard the shifted token. */
948096a99010fccf648814fecf38f75c689172d7wrowe/*-----------------------------------------------------------.
948096a99010fccf648814fecf38f75c689172d7wrowe| yydefault -- do the default action for the current state. |
053497224246c4dbef9af594cacf5c00ed271e6cwrowe`-----------------------------------------------------------*/
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/*-----------------------------.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb| yyreduce -- Do a reduction. |
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb`-----------------------------*/
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb /* yyn is the number of a rule to reduce with. */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe /* If YYLEN is nonzero, implement the default value of the action:
aa047239dedf0d26e8efecfade32e7337f35df19wrowe Otherwise, the following line sets YYVAL to garbage.
aa047239dedf0d26e8efecfade32e7337f35df19wrowe This behavior is undocumented and Bison
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd users should not rely upon it. Assigning to YYVAL
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb unconditionally makes the parser a bit smaller, and it avoids a
dc8692c6c0ca616a09aa12dad005f2ef23baa1a0wrowe GCC warning that YYVAL may be used uninitialized. */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb { (yyval.exVal) = ap_expr_make(op_True, NULL, NULL, ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_False, NULL, NULL, ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_Not, (yyvsp[(2) - (2)].exVal), NULL, ctx); ;}
a9a4544168a37b43bd180b3703ccee995f27a80awrowe/* Line 1455 of yacc.c */
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar { (yyval.exVal) = ap_expr_make(op_Or, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_And, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd { (yyval.exVal) = ap_expr_make(op_Comp, (yyvsp[(1) - (1)].exVal), NULL, ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
0540a0b469147b52e858587270dba31c2aaa9e09wrowe { (yyval.exVal) = ap_expr_unary_op_make( (yyvsp[(1) - (2)].cpVal), (yyvsp[(2) - (2)].exVal), ctx); ;}
750d12c59545dbbac70390988de94f7e901b08f2niq/* Line 1455 of yacc.c */
8bc0214116f2225966cf4a806dc183f18e7c3803sf { (yyval.exVal) = ap_expr_binary_op_make((yyvsp[(2) - (3)].cpVal), (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
750d12c59545dbbac70390988de94f7e901b08f2niq/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_EQ, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_NE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_LT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/* Line 1455 of yacc.c */
0540a0b469147b52e858587270dba31c2aaa9e09wrowe { (yyval.exVal) = ap_expr_make(op_LE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
0540a0b469147b52e858587270dba31c2aaa9e09wrowe { (yyval.exVal) = ap_expr_make(op_GT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
aa047239dedf0d26e8efecfade32e7337f35df19wrowe { (yyval.exVal) = ap_expr_make(op_GE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar { (yyval.exVal) = ap_expr_make(op_STR_EQ, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd { (yyval.exVal) = ap_expr_make(op_STR_NE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
aa047239dedf0d26e8efecfade32e7337f35df19wrowe/* Line 1455 of yacc.c */
dc8692c6c0ca616a09aa12dad005f2ef23baa1a0wrowe { (yyval.exVal) = ap_expr_make(op_STR_LT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar/* Line 1455 of yacc.c */
dc8692c6c0ca616a09aa12dad005f2ef23baa1a0wrowe { (yyval.exVal) = ap_expr_make(op_STR_LE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb { (yyval.exVal) = ap_expr_make(op_STR_GT, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb { (yyval.exVal) = ap_expr_make(op_STR_GE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
d2220a04f870f632b8cec1e6713dbb980ed5e386wrowe { (yyval.exVal) = ap_expr_make(op_IN, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
d2220a04f870f632b8cec1e6713dbb980ed5e386wrowe { (yyval.exVal) = ap_expr_make(op_REG, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
e68544ae924174ca227ede8e2e722cefa00ea0d3wrowe/* Line 1455 of yacc.c */
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf { (yyval.exVal) = ap_expr_make(op_NRE, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe/* Line 1455 of yacc.c */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker/* Line 1455 of yacc.c */
e68544ae924174ca227ede8e2e722cefa00ea0d3wrowe/* Line 1455 of yacc.c */
ebe7da316894e2b93b4a905fccd2496d0ed1bc78rbb { (yyval.exVal) = ap_expr_make(op_ListElement, (yyvsp[(1) - (1)].exVal), NULL, ctx); ;}
e68544ae924174ca227ede8e2e722cefa00ea0d3wrowe/* Line 1455 of yacc.c */
e57e920838f31508f1418aa4c25ce55b345b2cebrbb { (yyval.exVal) = ap_expr_make(op_ListElement, (yyvsp[(3) - (3)].exVal), (yyvsp[(1) - (3)].exVal), ctx); ;}
e57e920838f31508f1418aa4c25ce55b345b2cebrbb/* Line 1455 of yacc.c */
e57e920838f31508f1418aa4c25ce55b345b2cebrbb { (yyval.exVal) = ap_expr_make(op_Concat, (yyvsp[(1) - (2)].exVal), (yyvsp[(2) - (2)].exVal), ctx); ;}
e57e920838f31508f1418aa4c25ce55b345b2cebrbb/* Line 1455 of yacc.c */
d2220a04f870f632b8cec1e6713dbb980ed5e386wrowe/* Line 1455 of yacc.c */
d2220a04f870f632b8cec1e6713dbb980ed5e386wrowe { (yyval.exVal) = ap_expr_make(op_String, (yyvsp[(1) - (1)].cpVal), NULL, ctx); ;}
098ae874f43f7a0b66be5406a7e2fb971bbbe00ewrowe/* Line 1455 of yacc.c */
d2220a04f870f632b8cec1e6713dbb980ed5e386wrowe/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb { (yyval.exVal) = ap_expr_var_make((yyvsp[(2) - (3)].cpVal), ctx); ;}
68b29bcadd6c46aecdc9fe14c93555a2238ad2aagregames/* Line 1455 of yacc.c */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(2) - (5)].cpVal), (yyvsp[(4) - (5)].exVal), ctx); ;}
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb { (yyval.exVal) = ap_expr_make(op_Digit, (yyvsp[(1) - (1)].cpVal), NULL, ctx); ;}
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes/* Line 1455 of yacc.c */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb { (yyval.exVal) = ap_expr_make(op_Concat, (yyvsp[(1) - (3)].exVal), (yyvsp[(3) - (3)].exVal), ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
18b5268e013574026b2503b1641baf3299045f45sf/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
db455cbc662c98dbbf53175393c50086ff63370cchrisd/* Line 1455 of yacc.c */
db455cbc662c98dbbf53175393c50086ff63370cchrisd { (yyval.exVal) = ap_expr_make(op_String, "", NULL, ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd if ((regex = ap_pregcomp(ctx->pool, (yyvsp[(1) - (1)].cpVal),
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd (yyval.exVal) = ap_expr_make(op_Regex, regex, NULL, ctx);
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd if ((regex = ap_pregcomp(ctx->pool, (yyvsp[(1) - (1)].cpVal),
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd AP_REG_EXTENDED|AP_REG_NOSUB|AP_REG_ICASE)) == NULL) {
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd (yyval.exVal) = ap_expr_make(op_Regex, regex, NULL, ctx);
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
18b5268e013574026b2503b1641baf3299045f45sf (yyval.exVal) = ap_expr_make(op_RegexBackref, n, NULL, ctx);
18b5268e013574026b2503b1641baf3299045f45sf/* Line 1455 of yacc.c */
18b5268e013574026b2503b1641baf3299045f45sf { (yyval.exVal) = ap_expr_list_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd { (yyval.exVal) = ap_expr_str_func_make((yyvsp[(1) - (4)].cpVal), (yyvsp[(3) - (4)].exVal), ctx); ;}
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd/* Line 1455 of yacc.c */
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd default: break;
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe /* Now `shift' the result of the reduction. Determine what state
b67fb549910fa0faf4cdd8aeaf9aeab51d4b6a92wrowe that goes to, based on the state we popped back to and the rule
e8eee56a2ea20f673e5942fb58e1426a7561c7acstas number reduced by. */
8011ccb9e0700e5a396e2362dab1d9386206277fcolm if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/*------------------------------------.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb| yyerrlab -- here on detecting error |
e8eee56a2ea20f673e5942fb58e1426a7561c7acstas`------------------------------------*/
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar /* If not already recovering from an error, report this error. */
a8c55845ffa7170766e410dbd799353127b628f9nd if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
117026201e6d8fe7d82416b8a7324830f5a87292wrowe /* If just tried and failed to reuse lookahead token after an
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe error, discard it. */
117026201e6d8fe7d82416b8a7324830f5a87292wrowe /* Return failure if at end of input. */
4f9c22c4f27571d54197be9674e1fc0d528192aestriker /* Else will try to reuse lookahead token after shifting the error
f888346b48f5e5b5e3f0a47dedb8cefd2759a4e2gregames/*---------------------------------------------------.
f888346b48f5e5b5e3f0a47dedb8cefd2759a4e2gregames| yyerrorlab -- error raised explicitly by YYERROR. |
f888346b48f5e5b5e3f0a47dedb8cefd2759a4e2gregames`---------------------------------------------------*/
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe /* Pacify compilers like GCC when the user code never invokes
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe YYERROR and the label yyerrorlab therefore never appears in user
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe if (/*CONSTCOND*/ 0)
f888346b48f5e5b5e3f0a47dedb8cefd2759a4e2gregames /* Do not reclaim the symbols of the rule which action triggered
f888346b48f5e5b5e3f0a47dedb8cefd2759a4e2gregames this YYERROR. */
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar/*-------------------------------------------------------------.
e7505ba54ac56ae30e4e250f912f3dbaf92ca45fwrowe| yyerrlab1 -- common code for both syntax error and YYERROR. |
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar`-------------------------------------------------------------*/
cadddb2c31d24d48f4017db4df0a29687432326cwrowe yyerrstatus = 3; /* Each real token shifted decrements this. */
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe /* Pop the current state because it cannot handle the error token. */
117026201e6d8fe7d82416b8a7324830f5a87292wrowe /* Shift the error token. */
117026201e6d8fe7d82416b8a7324830f5a87292wrowe YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
cadddb2c31d24d48f4017db4df0a29687432326cwrowe/*-------------------------------------.
cadddb2c31d24d48f4017db4df0a29687432326cwrowe| yyacceptlab -- YYACCEPT comes here. |
4f9c22c4f27571d54197be9674e1fc0d528192aestriker`-------------------------------------*/
cadddb2c31d24d48f4017db4df0a29687432326cwrowe/*-----------------------------------.
cadddb2c31d24d48f4017db4df0a29687432326cwrowe| yyabortlab -- YYABORT comes here. |
cadddb2c31d24d48f4017db4df0a29687432326cwrowe`-----------------------------------*/
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe/*-------------------------------------------------.
0696197a54f186a65abacba1037f6fbe0cb975a1niq| yyexhaustedlab -- memory exhaustion comes here. |
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar`-------------------------------------------------*/
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe /* Fall through. */
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe /* Do not reclaim the symbols of the rule which action triggered
cadddb2c31d24d48f4017db4df0a29687432326cwrowe this YYABORT or YYACCEPT. */
c2cf53a40a9814eb91db2cdf820f97d943f21628coar /* Make sure YYID is used. */
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb/* Line 1675 of yacc.c */
ecc4a080f07af3fbc1b91bbd00997ec1d592c6f9wrowe /* s is allocated on the stack */