1 /* A Bison parser, made by GNU Bison 2.3. */
\r
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
\r
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
\r
6 Free Software Foundation, Inc.
\r
8 This program is free software; you can redistribute it and/or modify
\r
9 it under the terms of the GNU General Public License as published by
\r
10 the Free Software Foundation; either version 2, or (at your option)
\r
13 This program is distributed in the hope that it will be useful,
\r
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
16 GNU General Public License for more details.
\r
18 You should have received a copy of the GNU General Public License
\r
19 along with this program; if not, write to the Free Software
\r
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
\r
21 Boston, MA 02110-1301, USA. */
\r
23 /* As a special exception, you may create a larger work that contains
\r
24 part or all of the Bison parser skeleton and distribute that work
\r
25 under terms of your choice, so long as that work isn't itself a
\r
26 parser generator using the skeleton or a modified version thereof
\r
27 as a parser skeleton. Alternatively, if you modify or redistribute
\r
28 the parser skeleton itself, you may (at your option) remove this
\r
29 special exception, which will cause the skeleton and the resulting
\r
30 Bison output files to be licensed under the GNU General Public
\r
31 License without this special exception.
\r
33 This special exception was added by the Free Software Foundation in
\r
34 version 2.2 of Bison. */
\r
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
\r
37 simplifying the original so-called "semantic" parser. */
\r
39 /* All symbols defined below should begin with yy or YY, to avoid
\r
40 infringing on user name space. This should be done even for local
\r
41 variables, as they might otherwise be expanded by user macros.
\r
42 There are some unavoidable exceptions within include files to
\r
43 define necessary library symbols; they are noted "INFRINGES ON
\r
44 USER NAME SPACE" below. */
\r
46 /* Identify Bison output. */
\r
49 /* Bison version. */
\r
50 #define YYBISON_VERSION "2.3"
\r
52 /* Skeleton name. */
\r
53 #define YYSKELETON_NAME "yacc.c"
\r
58 /* Using locations. */
\r
59 #define YYLSP_NEEDED 0
\r
61 /* Substitute the variable and function names. */
\r
62 #define yyparse FtaParserparse
\r
63 #define yylex FtaParserlex
\r
64 #define yyerror FtaParsererror
\r
65 #define yylval FtaParserlval
\r
66 #define yychar FtaParserchar
\r
67 #define yydebug FtaParserdebug
\r
68 #define yynerrs FtaParsernerrs
\r
73 # define YYTOKENTYPE
\r
74 /* Put the tokens into the symbol table, so that GDB and other debuggers
\r
98 LEFT_OUTER_JOIN = 279,
\r
99 RIGHT_OUTER_JOIN = 280,
\r
106 CLEANING_WHEN = 287,
\r
108 CLOSING_WHEN = 289,
\r
113 GROUPING_SETS = 294,
\r
131 OPERATOR_VIEW = 312,
\r
134 SELECTION_PUSHDOWN = 315
\r
139 #define STRING_TOKEN 259
\r
141 #define LONGINTNUM 261
\r
142 #define APPROXNUM 262
\r
146 #define COMPARISON 266
\r
147 #define SHIFT_OP 267
\r
149 #define SEMICOLON 269
\r
150 #define LEFTBRACE 270
\r
151 #define RIGHTBRACE 271
\r
156 #define INNER_JOIN 276
\r
157 #define FILTER_JOIN 277
\r
158 #define OUTER_JOIN 278
\r
159 #define LEFT_OUTER_JOIN 279
\r
160 #define RIGHT_OUTER_JOIN 280
\r
166 #define SUPERGROUP 286
\r
167 #define CLEANING_WHEN 287
\r
168 #define CLEANING_BY 288
\r
169 #define CLOSING_WHEN 289
\r
174 #define GROUPING_SETS 294
\r
176 #define FALSE_V 296
\r
177 #define TIMEVAL_L 297
\r
184 #define DEFINE_SEC 304
\r
185 #define PARAM_SEC 305
\r
186 #define PROTOCOL 306
\r
190 #define UNPACK_FCNS 310
\r
191 #define OPERATOR 311
\r
192 #define OPERATOR_VIEW 312
\r
194 #define SUBQUERIES 314
\r
195 #define SELECTION_PUSHDOWN 315
\r
200 /* Copy the first part of user declarations. */
\r
207 /* Some addn'l includes, necessary but not included by the
\r
208 bison generated code.
\r
211 #include <stdlib.h>
\r
213 /* prototypes for the parser callbacks.
\r
216 #include "parse_fta.h"
\r
217 #include "parse_schema.h"
\r
220 extern fta_parse_t *fta_parse_result;
\r
221 extern var_defs_t *fta_parse_defines;
\r
228 /* Enabling traces. */
\r
233 /* Enabling verbose error messages. */
\r
234 #ifdef YYERROR_VERBOSE
\r
235 # undef YYERROR_VERBOSE
\r
236 # define YYERROR_VERBOSE 1
\r
238 # define YYERROR_VERBOSE 0
\r
241 /* Enabling the token table. */
\r
242 #ifndef YYTOKEN_TABLE
\r
243 # define YYTOKEN_TABLE 0
\r
246 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
\r
247 typedef union YYSTYPE
\r
255 string_t *stringval;
\r
257 /* for FTA definition. */
\r
259 scalarexp_t *scalarval;
\r
260 se_list_t *se_listval;
\r
261 select_list_t *select_listval;
\r
263 predicate_t *predp;
\r
264 literal_list_t *lit_l;
\r
266 tablevar_list_t *tbl_list;
\r
269 colref_list_t *clist;
\r
270 var_defs_t *var_defs;
\r
271 var_pair_t *var_pair;
\r
273 gb_list_t *gb_list;
\r
274 list_of_gb_list_t *list_of_gb_list;
\r
275 extended_gb_t *extended_gb;
\r
276 extended_gb_list_t *extended_gb_list;
\r
278 query_list_t *q_list;
\r
280 /* For table definition */
\r
281 field_entry *field_t;
\r
282 field_entry_list *field_list_t;
\r
283 table_def *table_def_t;
\r
284 table_list *table_list_schema;
\r
285 param_list *plist_t;
\r
286 name_vec *namevec_t;
\r
287 subquery_spec *subq_spec_t;
\r
288 subqueryspec_list *subqueryspec_list_t;
\r
290 unpack_fcn_list *ufcnl;
\r
293 /* Line 193 of yacc.c. */
\r
294 #line 295 "fta.tab.cc"
\r
296 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
\r
297 # define YYSTYPE_IS_DECLARED 1
\r
298 # define YYSTYPE_IS_TRIVIAL 1
\r
303 /* Copy the second part of user declarations. */
\r
306 /* Line 216 of yacc.c. */
\r
307 #line 308 "fta.tab.cc"
\r
313 #ifdef YYTYPE_UINT8
\r
314 typedef YYTYPE_UINT8 yytype_uint8;
\r
316 typedef unsigned char yytype_uint8;
\r
320 typedef YYTYPE_INT8 yytype_int8;
\r
321 #elif (defined __STDC__ || defined __C99__FUNC__ \
\r
322 || defined __cplusplus || defined _MSC_VER)
\r
323 typedef signed char yytype_int8;
\r
325 typedef short int yytype_int8;
\r
328 #ifdef YYTYPE_UINT16
\r
329 typedef YYTYPE_UINT16 yytype_uint16;
\r
331 typedef unsigned short int yytype_uint16;
\r
334 #ifdef YYTYPE_INT16
\r
335 typedef YYTYPE_INT16 yytype_int16;
\r
337 typedef short int yytype_int16;
\r
341 # ifdef __SIZE_TYPE__
\r
342 # define YYSIZE_T __SIZE_TYPE__
\r
343 # elif defined size_t
\r
344 # define YYSIZE_T size_t
\r
345 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
\r
346 || defined __cplusplus || defined _MSC_VER)
\r
347 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
\r
348 # define YYSIZE_T size_t
\r
350 # define YYSIZE_T unsigned int
\r
354 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
\r
359 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
\r
360 # define YY_(msgid) dgettext ("bison-runtime", msgid)
\r
364 # define YY_(msgid) msgid
\r
368 /* Suppress unused-variable warnings by "using" E. */
\r
369 #if ! defined lint || defined __GNUC__
\r
370 # define YYUSE(e) ((void) (e))
\r
372 # define YYUSE(e) /* empty */
\r
375 /* Identity function, used to suppress warnings about constant conditions. */
\r
377 # define YYID(n) (n)
\r
379 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
380 || defined __cplusplus || defined _MSC_VER)
\r
393 #if ! defined yyoverflow || YYERROR_VERBOSE
\r
395 /* The parser invokes alloca or malloc; define the necessary symbols. */
\r
397 # ifdef YYSTACK_USE_ALLOCA
\r
398 # if YYSTACK_USE_ALLOCA
\r
400 # define YYSTACK_ALLOC __builtin_alloca
\r
401 # elif defined __BUILTIN_VA_ARG_INCR
\r
402 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
\r
403 # elif defined _AIX
\r
404 # define YYSTACK_ALLOC __alloca
\r
405 # elif defined _MSC_VER
\r
406 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
\r
407 # define alloca _alloca
\r
409 # define YYSTACK_ALLOC alloca
\r
410 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
\r
411 || defined __cplusplus || defined _MSC_VER)
\r
412 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
\r
414 # define _STDLIB_H 1
\r
421 # ifdef YYSTACK_ALLOC
\r
422 /* Pacify GCC's `empty if-body' warning. */
\r
423 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
\r
424 # ifndef YYSTACK_ALLOC_MAXIMUM
\r
425 /* The OS might guarantee only one guard page at the bottom of the stack,
\r
426 and a page size can be as small as 4096 bytes. So we cannot safely
\r
427 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
\r
428 to allow for a few compiler-allocated temporary stack slots. */
\r
429 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
\r
432 # define YYSTACK_ALLOC YYMALLOC
\r
433 # define YYSTACK_FREE YYFREE
\r
434 # ifndef YYSTACK_ALLOC_MAXIMUM
\r
435 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
\r
437 # if (defined __cplusplus && ! defined _STDLIB_H \
\r
438 && ! ((defined YYMALLOC || defined malloc) \
\r
439 && (defined YYFREE || defined free)))
\r
440 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
\r
442 # define _STDLIB_H 1
\r
446 # define YYMALLOC malloc
\r
447 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
\r
448 || defined __cplusplus || defined _MSC_VER)
\r
449 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
\r
453 # define YYFREE free
\r
454 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
\r
455 || defined __cplusplus || defined _MSC_VER)
\r
456 void free (void *); /* INFRINGES ON USER NAME SPACE */
\r
460 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
\r
463 #if (! defined yyoverflow \
\r
464 && (! defined __cplusplus \
\r
465 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
\r
467 /* A type that is properly aligned for any stack member. */
\r
474 /* The size of the maximum gap between one aligned stack and the next. */
\r
475 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
\r
477 /* The size of an array large to enough to hold all stacks, each with
\r
479 # define YYSTACK_BYTES(N) \
\r
480 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
\r
481 + YYSTACK_GAP_MAXIMUM)
\r
483 /* Copy COUNT objects from FROM to TO. The source and destination do
\r
486 # if defined __GNUC__ && 1 < __GNUC__
\r
487 # define YYCOPY(To, From, Count) \
\r
488 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
\r
490 # define YYCOPY(To, From, Count) \
\r
494 for (yyi = 0; yyi < (Count); yyi++) \
\r
495 (To)[yyi] = (From)[yyi]; \
\r
501 /* Relocate STACK from its old location to the new one. The
\r
502 local variables YYSIZE and YYSTACKSIZE give the old and new number of
\r
503 elements in the stack, and YYPTR gives the new location of the
\r
504 stack. Advance YYPTR to a properly aligned location for the next
\r
506 # define YYSTACK_RELOCATE(Stack) \
\r
509 YYSIZE_T yynewbytes; \
\r
510 YYCOPY (&yyptr->Stack, Stack, yysize); \
\r
511 Stack = &yyptr->Stack; \
\r
512 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
\r
513 yyptr += yynewbytes / sizeof (*yyptr); \
\r
519 /* YYFINAL -- State number of the termination state. */
\r
521 /* YYLAST -- Last index in YYTABLE. */
\r
524 /* YYNTOKENS -- Number of terminals. */
\r
525 #define YYNTOKENS 80
\r
526 /* YYNNTS -- Number of nonterminals. */
\r
528 /* YYNRULES -- Number of rules. */
\r
529 #define YYNRULES 176
\r
530 /* YYNRULES -- Number of states. */
\r
531 #define YYNSTATES 377
\r
533 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
\r
534 #define YYUNDEFTOK 2
\r
535 #define YYMAXUTOK 315
\r
537 #define YYTRANSLATE(YYX) \
\r
538 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
\r
540 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
\r
541 static const yytype_uint8 yytranslate[] =
\r
543 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
544 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
546 2, 2, 2, 74, 2, 77, 76, 19, 13, 2,
\r
547 68, 70, 17, 15, 69, 16, 71, 18, 2, 2,
\r
548 2, 2, 2, 2, 2, 2, 2, 2, 79, 2,
\r
549 2, 2, 2, 2, 78, 2, 2, 2, 2, 2,
\r
550 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
551 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
552 2, 72, 2, 73, 2, 2, 2, 2, 2, 2,
\r
553 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
555 2, 2, 2, 2, 12, 2, 75, 2, 2, 2,
\r
556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
\r
568 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
\r
569 5, 6, 7, 8, 9, 10, 11, 14, 20, 21,
\r
570 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
\r
571 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
\r
572 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
\r
573 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
\r
574 62, 63, 64, 65, 66, 67
\r
578 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
\r
580 static const yytype_uint16 yyprhs[] =
\r
582 0, 0, 3, 5, 7, 13, 17, 21, 24, 27,
\r
583 29, 33, 37, 40, 43, 45, 47, 51, 56, 60,
\r
584 65, 69, 71, 74, 78, 82, 86, 90, 96, 98,
\r
585 107, 110, 114, 118, 122, 126, 135, 137, 141, 143,
\r
586 146, 148, 152, 158, 164, 170, 172, 176, 177, 179,
\r
587 182, 183, 186, 187, 190, 191, 194, 195, 197, 200,
\r
588 204, 208, 211, 215, 217, 219, 221, 225, 230, 234,
\r
589 240, 242, 246, 250, 254, 258, 262, 266, 270, 274,
\r
590 278, 281, 284, 287, 290, 292, 295, 297, 299, 303,
\r
591 308, 313, 318, 322, 328, 334, 340, 345, 347, 351,
\r
592 355, 361, 363, 367, 369, 371, 373, 375, 377, 379,
\r
593 382, 385, 388, 391, 394, 397, 398, 402, 403, 406,
\r
594 410, 416, 418, 423, 428, 433, 435, 439, 441, 445,
\r
595 447, 451, 457, 461, 464, 469, 471, 475, 481, 485,
\r
596 489, 491, 495, 499, 501, 504, 512, 519, 536, 541,
\r
597 543, 547, 551, 553, 557, 562, 564, 567, 574, 579,
\r
598 580, 584, 586, 589, 592, 595, 599, 604, 609, 614,
\r
599 615, 619, 620, 624, 626, 630, 634
\r
602 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
\r
603 static const yytype_int16 yyrhs[] =
\r
605 81, 0, -1, 83, -1, 125, -1, 61, 22, 125,
\r
606 82, 23, -1, 85, 84, 88, -1, 84, 85, 88,
\r
607 -1, 84, 88, -1, 85, 88, -1, 88, -1, 85,
\r
608 84, 89, -1, 84, 85, 89, -1, 84, 89, -1,
\r
609 85, 89, -1, 89, -1, 82, -1, 83, 21, 82,
\r
610 -1, 57, 22, 86, 23, -1, 57, 22, 23, -1,
\r
611 56, 22, 86, 23, -1, 56, 22, 23, -1, 87,
\r
612 -1, 86, 87, -1, 3, 4, 21, -1, 3, 3,
\r
613 21, -1, 36, 90, 91, -1, 54, 122, 92, -1,
\r
614 54, 122, 55, 109, 92, -1, 110, -1, 92, 97,
\r
615 113, 114, 102, 99, 100, 101, -1, 27, 93, -1,
\r
616 28, 27, 93, -1, 30, 27, 93, -1, 32, 27,
\r
617 93, -1, 31, 27, 93, -1, 29, 68, 121, 69,
\r
618 5, 70, 27, 93, -1, 94, -1, 93, 69, 94,
\r
619 -1, 95, -1, 95, 3, -1, 96, -1, 3, 71,
\r
620 96, -1, 3, 71, 3, 71, 96, -1, 4, 71,
\r
621 3, 71, 96, -1, 72, 3, 73, 71, 96, -1,
\r
622 3, -1, 96, 18, 3, -1, -1, 98, -1, 37,
\r
623 104, -1, -1, 39, 104, -1, -1, 40, 104, -1,
\r
624 -1, 41, 104, -1, -1, 103, -1, 34, 104, -1,
\r
625 104, 8, 104, -1, 104, 9, 104, -1, 10, 104,
\r
626 -1, 68, 104, 70, -1, 105, -1, 106, -1, 107,
\r
627 -1, 3, 72, 73, -1, 3, 72, 111, 73, -1,
\r
628 109, 11, 109, -1, 109, 35, 72, 108, 73, -1,
\r
629 112, -1, 108, 69, 112, -1, 109, 15, 109, -1,
\r
630 109, 16, 109, -1, 109, 12, 109, -1, 109, 17,
\r
631 109, -1, 109, 18, 109, -1, 109, 13, 109, -1,
\r
632 109, 19, 109, -1, 109, 14, 109, -1, 15, 109,
\r
633 -1, 16, 109, -1, 74, 109, -1, 75, 109, -1,
\r
634 112, -1, 76, 3, -1, 120, -1, 121, -1, 68,
\r
635 109, 70, -1, 26, 68, 17, 70, -1, 26, 68,
\r
636 109, 70, -1, 3, 68, 111, 70, -1, 3, 68,
\r
637 70, -1, 26, 76, 68, 17, 70, -1, 26, 76,
\r
638 68, 109, 70, -1, 3, 76, 68, 111, 70, -1,
\r
639 3, 76, 68, 70, -1, 109, -1, 109, 25, 3,
\r
640 -1, 110, 69, 109, -1, 110, 69, 109, 25, 3,
\r
641 -1, 109, -1, 111, 69, 109, -1, 4, -1, 5,
\r
642 -1, 6, -1, 7, -1, 47, -1, 48, -1, 49,
\r
643 4, -1, 50, 4, -1, 51, 4, -1, 52, 4,
\r
644 -1, 53, 4, -1, 77, 3, -1, -1, 33, 24,
\r
645 117, -1, -1, 38, 124, -1, 68, 118, 70, -1,
\r
646 115, 69, 68, 118, 70, -1, 119, -1, 45, 68,
\r
647 118, 70, -1, 44, 68, 118, 70, -1, 46, 68,
\r
648 115, 70, -1, 116, -1, 117, 69, 116, -1, 119,
\r
649 -1, 118, 69, 119, -1, 3, -1, 3, 71, 3,
\r
650 -1, 3, 71, 3, 71, 3, -1, 109, 25, 3,
\r
651 -1, 78, 3, -1, 3, 71, 78, 3, -1, 3,
\r
652 -1, 3, 71, 3, -1, 3, 71, 3, 71, 3,
\r
653 -1, 121, 79, 121, -1, 122, 79, 121, -1, 3,
\r
654 -1, 123, 69, 123, -1, 124, 69, 123, -1, 126,
\r
655 -1, 125, 126, -1, 58, 3, 136, 135, 22, 131,
\r
656 23, -1, 60, 96, 136, 22, 131, 23, -1, 64,
\r
657 3, 22, 63, 133, 65, 22, 131, 23, 66, 22,
\r
658 129, 23, 67, 133, 23, -1, 62, 22, 127, 23,
\r
659 -1, 128, -1, 127, 21, 128, -1, 3, 3, 5,
\r
660 -1, 130, -1, 129, 21, 130, -1, 3, 68, 138,
\r
661 70, -1, 132, -1, 131, 132, -1, 3, 3, 3,
\r
662 133, 135, 21, -1, 3, 3, 133, 21, -1, -1,
\r
663 68, 134, 70, -1, 3, -1, 3, 3, -1, 3,
\r
664 4, -1, 3, 5, -1, 134, 69, 3, -1, 134,
\r
665 69, 3, 3, -1, 134, 69, 3, 4, -1, 134,
\r
666 69, 3, 5, -1, -1, 72, 137, 73, -1, -1,
\r
667 68, 137, 70, -1, 3, -1, 137, 69, 3, -1,
\r
668 3, 3, 133, -1, 138, 69, 3, 3, 133, -1
\r
671 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
\r
672 static const yytype_uint16 yyrline[] =
\r
674 0, 189, 189, 194, 201, 215, 220, 225, 230, 234,
\r
675 237, 242, 247, 251, 255, 260, 261, 265, 266, 270,
\r
676 271, 275, 276, 280, 281, 285, 289, 291, 299, 303,
\r
677 315, 316, 317, 318, 319, 320, 324, 325, 329, 330,
\r
678 334, 335, 336, 337, 338, 342, 343, 348, 349, 353,
\r
679 357, 358, 362, 363, 367, 368, 372, 373, 377, 384,
\r
680 385, 386, 387, 388, 392, 393, 394, 395, 399, 403,
\r
681 407, 408, 414, 415, 416, 417, 418, 419, 420, 421,
\r
682 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
\r
683 432, 433, 434, 435, 436, 437, 438, 443, 444, 445,
\r
684 446, 450, 451, 455, 456, 457, 458, 459, 460, 461,
\r
685 462, 463, 464, 465, 466, 472, 473, 477, 478, 482,
\r
686 483, 487, 488, 489, 490, 494, 495, 499, 500, 504,
\r
687 505, 506, 507, 518, 519, 523, 524, 525, 529, 530,
\r
688 534, 538, 539, 554, 555, 558, 560, 562, 564, 568,
\r
689 569, 573, 577, 578, 582, 585, 586, 590, 591, 595,
\r
690 596, 600, 601, 602, 603, 604, 605, 606, 607, 611,
\r
691 612, 616, 617, 621, 622, 626, 627
\r
695 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
\r
696 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
\r
697 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
\r
698 static const char *const yytname[] =
\r
700 "$end", "error", "$undefined", "NAME", "STRING_TOKEN", "INTNUM",
\r
701 "LONGINTNUM", "APPROXNUM", "OR", "AND", "NOT", "COMPARISON", "'|'",
\r
702 "'&'", "SHIFT_OP", "'+'", "'-'", "'*'", "'/'", "'%'", "UMINUS",
\r
703 "SEMICOLON", "LEFTBRACE", "RIGHTBRACE", "BY", "AS", "AGGR", "FROM",
\r
704 "INNER_JOIN", "FILTER_JOIN", "OUTER_JOIN", "LEFT_OUTER_JOIN",
\r
705 "RIGHT_OUTER_JOIN", "GROUP", "HAVING", "IN", "SELECT", "WHERE",
\r
706 "SUPERGROUP", "CLEANING_WHEN", "CLEANING_BY", "CLOSING_WHEN", "SUCH",
\r
707 "THAT", "CUBE", "ROLLUP", "GROUPING_SETS", "TRUE_V", "FALSE_V",
\r
708 "TIMEVAL_L", "HEX_L", "LHEX_L", "IP_L", "IPV6_L", "MERGE", "SLACK",
\r
709 "DEFINE_SEC", "PARAM_SEC", "PROTOCOL", "TABLE", "STREAM", "FTA",
\r
710 "UNPACK_FCNS", "OPERATOR", "OPERATOR_VIEW", "FIELDS", "SUBQUERIES",
\r
711 "SELECTION_PUSHDOWN", "'('", "','", "')'", "'.'", "'['", "']'", "'!'",
\r
712 "'~'", "'$'", "'#'", "'@'", "':'", "$accept", "parse_result", "gsql",
\r
713 "query_list", "params_def", "variable_def", "variable_list",
\r
714 "variable_assign", "select_statement", "merge_statement", "selection",
\r
715 "table_exp", "from_clause", "table_ref_commalist", "table_ref", "table",
\r
716 "qname", "opt_where_clause", "where_clause", "opt_cleaning_when_clause",
\r
717 "opt_cleaning_by_clause", "opt_closing_when_clause", "opt_having_clause",
\r
718 "having_clause", "search_condition", "predicate", "comparison_predicate",
\r
719 "in_predicate", "literal_commalist", "scalar_exp", "select_commalist",
\r
720 "scalar_exp_commalist", "literal", "opt_group_by_clause",
\r
721 "opt_supergroup_clause", "list_of_gb_commalist", "extended_gb",
\r
722 "extended_gb_commalist", "gb_commalist", "gb", "ifparam", "column_ref",
\r
723 "column_ref_list", "gb_ref", "gb_ref_list", "table_list", "table_def",
\r
724 "unpack_func_list", "unpack_func", "subqueryspec_list", "subq_spec",
\r
725 "field_list", "field", "opt_param_commalist", "param_commalist",
\r
726 "opt_singleparam_commalist_bkt", "opt_singleparam_commalist",
\r
727 "singleparam_commalist", "namevec_commalist", 0
\r
732 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
\r
733 token YYLEX-NUM. */
\r
734 static const yytype_uint16 yytoknum[] =
\r
736 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
\r
737 265, 266, 124, 38, 267, 43, 45, 42, 47, 37,
\r
738 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
\r
739 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
\r
740 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
\r
741 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
\r
742 308, 309, 310, 311, 312, 313, 314, 315, 40, 44,
\r
743 41, 46, 91, 93, 33, 126, 36, 35, 64, 58
\r
747 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
\r
748 static const yytype_uint8 yyr1[] =
\r
750 0, 80, 81, 81, 81, 82, 82, 82, 82, 82,
\r
751 82, 82, 82, 82, 82, 83, 83, 84, 84, 85,
\r
752 85, 86, 86, 87, 87, 88, 89, 89, 90, 91,
\r
753 92, 92, 92, 92, 92, 92, 93, 93, 94, 94,
\r
754 95, 95, 95, 95, 95, 96, 96, 97, 97, 98,
\r
755 99, 99, 100, 100, 101, 101, 102, 102, 103, 104,
\r
756 104, 104, 104, 104, 105, 105, 105, 105, 106, 107,
\r
757 108, 108, 109, 109, 109, 109, 109, 109, 109, 109,
\r
758 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
\r
759 109, 109, 109, 109, 109, 109, 109, 110, 110, 110,
\r
760 110, 111, 111, 112, 112, 112, 112, 112, 112, 112,
\r
761 112, 112, 112, 112, 112, 113, 113, 114, 114, 115,
\r
762 115, 116, 116, 116, 116, 117, 117, 118, 118, 119,
\r
763 119, 119, 119, 120, 120, 121, 121, 121, 122, 122,
\r
764 123, 124, 124, 125, 125, 126, 126, 126, 126, 127,
\r
765 127, 128, 129, 129, 130, 131, 131, 132, 132, 133,
\r
766 133, 134, 134, 134, 134, 134, 134, 134, 134, 135,
\r
767 135, 136, 136, 137, 137, 138, 138
\r
770 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
\r
771 static const yytype_uint8 yyr2[] =
\r
773 0, 2, 1, 1, 5, 3, 3, 2, 2, 1,
\r
774 3, 3, 2, 2, 1, 1, 3, 4, 3, 4,
\r
775 3, 1, 2, 3, 3, 3, 3, 5, 1, 8,
\r
776 2, 3, 3, 3, 3, 8, 1, 3, 1, 2,
\r
777 1, 3, 5, 5, 5, 1, 3, 0, 1, 2,
\r
778 0, 2, 0, 2, 0, 2, 0, 1, 2, 3,
\r
779 3, 2, 3, 1, 1, 1, 3, 4, 3, 5,
\r
780 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
\r
781 2, 2, 2, 2, 1, 2, 1, 1, 3, 4,
\r
782 4, 4, 3, 5, 5, 5, 4, 1, 3, 3,
\r
783 5, 1, 3, 1, 1, 1, 1, 1, 1, 2,
\r
784 2, 2, 2, 2, 2, 0, 3, 0, 2, 3,
\r
785 5, 1, 4, 4, 4, 1, 3, 1, 3, 1,
\r
786 3, 5, 3, 2, 4, 1, 3, 5, 3, 3,
\r
787 1, 3, 3, 1, 2, 7, 6, 16, 4, 1,
\r
788 3, 3, 1, 3, 4, 1, 2, 6, 4, 0,
\r
789 3, 1, 2, 2, 2, 3, 4, 4, 4, 0,
\r
790 3, 0, 3, 1, 3, 3, 5
\r
793 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
\r
794 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
\r
795 means the default is an error. */
\r
796 static const yytype_uint8 yydefact[] =
\r
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
\r
799 0, 15, 2, 0, 0, 9, 14, 3, 143, 135,
\r
800 103, 104, 105, 106, 0, 0, 0, 107, 108, 0,
\r
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
\r
802 0, 97, 28, 84, 86, 87, 135, 0, 0, 0,
\r
803 0, 171, 45, 171, 0, 0, 0, 1, 0, 0,
\r
804 7, 12, 0, 8, 13, 144, 0, 0, 0, 80,
\r
805 81, 0, 0, 109, 110, 111, 112, 113, 0, 82,
\r
806 83, 85, 114, 133, 0, 0, 0, 0, 0, 0,
\r
807 25, 47, 0, 0, 0, 0, 0, 0, 0, 0,
\r
808 0, 0, 0, 0, 0, 0, 26, 0, 20, 0,
\r
809 21, 18, 0, 0, 169, 0, 0, 0, 0, 0,
\r
810 149, 0, 16, 6, 11, 5, 10, 92, 101, 0,
\r
811 136, 0, 0, 0, 0, 0, 88, 45, 0, 0,
\r
812 30, 36, 38, 40, 0, 0, 0, 0, 0, 0,
\r
813 115, 48, 74, 77, 79, 72, 73, 75, 76, 78,
\r
814 98, 99, 138, 0, 139, 0, 0, 19, 22, 17,
\r
815 173, 0, 0, 0, 46, 0, 0, 0, 0, 148,
\r
816 159, 0, 91, 0, 134, 96, 0, 89, 90, 0,
\r
817 0, 0, 0, 0, 0, 39, 31, 0, 32, 34,
\r
818 33, 135, 0, 0, 49, 63, 64, 65, 0, 0,
\r
819 117, 0, 27, 24, 23, 0, 172, 0, 0, 0,
\r
820 0, 155, 4, 151, 150, 0, 0, 102, 137, 95,
\r
821 93, 94, 45, 41, 0, 0, 37, 0, 0, 61,
\r
822 0, 0, 0, 0, 0, 0, 0, 0, 56, 100,
\r
823 174, 170, 0, 159, 146, 156, 161, 0, 0, 0,
\r
824 0, 0, 0, 66, 0, 62, 59, 60, 68, 0,
\r
825 129, 0, 0, 0, 0, 125, 116, 121, 140, 0,
\r
826 118, 0, 50, 57, 145, 159, 0, 162, 163, 164,
\r
827 0, 160, 0, 42, 43, 44, 0, 67, 0, 70,
\r
828 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
\r
829 52, 169, 158, 165, 0, 0, 0, 69, 130, 0,
\r
830 127, 0, 0, 0, 132, 126, 141, 142, 51, 0,
\r
831 54, 0, 166, 167, 168, 0, 35, 71, 0, 0,
\r
832 123, 122, 0, 0, 124, 53, 0, 29, 157, 0,
\r
833 131, 128, 119, 0, 55, 0, 0, 0, 0, 152,
\r
834 120, 0, 0, 0, 0, 0, 153, 159, 159, 0,
\r
835 154, 0, 175, 0, 147, 159, 176
\r
838 /* YYDEFGOTO[NTERM-NUM]. */
\r
839 static const yytype_int16 yydefgoto[] =
\r
841 -1, 10, 11, 12, 13, 14, 109, 110, 15, 16,
\r
842 40, 90, 91, 140, 141, 142, 143, 150, 151, 310,
\r
843 330, 347, 282, 283, 204, 205, 206, 207, 298, 208,
\r
844 42, 129, 43, 210, 248, 323, 275, 276, 319, 320,
\r
845 44, 45, 48, 279, 280, 17, 18, 119, 120, 358,
\r
846 359, 220, 221, 226, 257, 173, 114, 171, 365
\r
849 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
\r
851 #define YYPACT_NINF -247
\r
852 static const yytype_int16 yypact[] =
\r
854 121, 535, 76, 6, 60, 85, 115, 111, 132, 123,
\r
855 165, -247, 147, -9, 117, -247, -247, 178, -247, 87,
\r
856 -247, -247, -247, -247, 535, 535, -24, -247, -247, 207,
\r
857 219, 223, 235, 242, 535, 535, 535, 198, 222, 266,
\r
858 261, 554, 230, -247, -247, -247, 243, 238, 360, 104,
\r
859 107, 252, -247, 18, 178, 319, 329, -247, -14, 163,
\r
860 -247, -247, 163, -247, -247, -247, 200, 12, 295, -247,
\r
861 -247, 279, 301, -247, -247, -247, -247, -247, 294, -247,
\r
862 -247, -247, -247, -247, 13, 366, 326, 373, 374, 397,
\r
863 -247, 359, 535, 535, 535, 535, 535, 535, 535, 535,
\r
864 423, 535, 424, 76, 535, 76, -247, 63, -247, 113,
\r
865 -247, -247, 153, 425, 362, 432, 414, 422, 435, 30,
\r
866 -247, 377, -247, -247, -247, -247, -247, -247, 689, 197,
\r
867 370, 439, 355, 383, 327, 369, -247, 385, 386, 451,
\r
868 390, -247, 464, 450, 13, 76, 13, 13, 13, 445,
\r
869 436, -247, 486, 395, 318, 191, 191, -247, -247, -247,
\r
870 -247, 645, -247, 624, -247, 449, 452, -247, -247, -247,
\r
871 -247, 210, 425, 455, -247, 469, 458, 478, 319, -247,
\r
872 419, 535, -247, 485, -247, -247, 228, -247, -247, 420,
\r
873 616, 488, 511, 416, 13, -247, 390, 446, 390, 390,
\r
874 390, 247, 445, 445, 205, -247, -247, -247, 126, 492,
\r
875 479, 515, -247, -247, -247, 521, -247, -19, 469, 522,
\r
876 161, -247, -247, -247, -247, 523, 463, 689, -247, -247,
\r
877 -247, -247, 460, 450, 472, 473, -247, 524, 459, -247,
\r
878 11, 246, 445, 445, 535, 474, 144, 527, 513, -247,
\r
879 -247, -247, 164, 15, -247, -247, 268, 233, 526, 115,
\r
880 115, 115, 475, -247, 59, -247, 540, -247, 689, 25,
\r
881 43, 489, 490, 491, 659, -247, 493, -247, -247, 494,
\r
882 505, 445, 537, -247, -247, 419, 539, -247, -247, -247,
\r
883 574, -247, 469, 450, 450, 450, 551, -247, 93, -247,
\r
884 23, 549, 549, 512, 578, 144, 527, 527, 205, 445,
\r
885 550, 362, -247, 345, 221, 13, 25, -247, 216, 255,
\r
886 -247, 296, 549, 298, -247, -247, -247, -247, 205, 445,
\r
887 548, 570, -247, -247, -247, 528, 390, -247, 589, 549,
\r
888 -247, -247, 308, 525, -247, 205, 445, -247, -247, 573,
\r
889 675, -247, -247, 549, 205, 601, 310, 538, 177, -247,
\r
890 -247, 602, 601, 541, 604, 313, -247, 419, 419, 611,
\r
891 -247, 592, -247, 613, -247, 419, -247
\r
894 /* YYPGOTO[NTERM-NUM]. */
\r
895 static const yytype_int16 yypgoto[] =
\r
897 -247, -247, -37, -247, 605, 607, 568, -71, 50, 110,
\r
898 -247, -247, -38, -142, 427, -247, -5, -247, -247, -247,
\r
899 -247, -247, -247, -247, -194, -247, -247, -247, -247, -1,
\r
900 -247, -121, -232, -247, -247, -247, 317, -247, -233, -234,
\r
901 -247, 1, -247, 92, -247, 590, -4, -247, 467, -247,
\r
902 284, -193, -206, -246, -247, 336, 595, 477, -247
\r
905 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
\r
906 positive, shift that token. If negative, reduce the rule which
\r
907 number is the opposite. If zero, do what YYDEFACT says.
\r
908 If YYTABLE_NINF, syntax error. */
\r
909 #define YYTABLE_NINF -138
\r
910 static const yytype_int16 yytable[] =
\r
912 41, 53, 196, 47, 198, 199, 200, 286, 239, 240,
\r
913 106, 186, 277, 65, 255, 130, 137, 138, 285, 242,
\r
914 243, 122, 1, 69, 70, 252, 318, 1, 49, 20,
\r
915 21, 22, 23, 78, 79, 80, 115, 299, 168, 311,
\r
916 2, 168, 3, 4, 71, 2, 255, 3, 266, 267,
\r
917 215, 178, 72, 179, 251, -135, -135, -135, -135, -135,
\r
918 -135, -135, -135, 60, 63, 128, 165, 166, -135, 321,
\r
919 134, 277, 27, 28, 29, 30, 31, 32, 33, 46,
\r
920 176, 265, 50, 225, 337, 139, 113, 308, 51, 342,
\r
921 131, 152, 153, 154, 155, 156, 157, 158, 159, 314,
\r
922 161, 131, 38, 163, 162, 351, 164, 107, 255, 123,
\r
923 107, 66, 125, 65, 300, 328, 107, 264, 52, 68,
\r
924 356, 371, 372, 61, 64, 212, 56, 108, 181, 376,
\r
925 111, 128, 297, 54, 190, 345, 167, 244, 92, 93,
\r
926 94, 95, 96, 97, 98, 99, 197, 270, 20, 21,
\r
927 22, 23, 354, 1, 55, 66, 107, 1, 67, 24,
\r
928 25, 245, 316, 68, 219, 57, 317, 219, 58, 124,
\r
929 26, 2, 126, 336, 4, 2, 169, 3, 4, 5,
\r
930 227, 6, 7, 8, 254, 9, 233, 284, 271, 272,
\r
931 273, 27, 28, 29, 30, 31, 32, 33, 362, 1,
\r
932 363, 81, 241, 19, 20, 21, 22, 23, 97, 98,
\r
933 99, 73, 34, 242, 243, 24, 25, 2, 35, 36,
\r
934 37, 38, 39, 74, 219, 82, 26, 75, -136, -136,
\r
935 -136, -136, -136, -136, -136, -136, 5, 128, 6, 76,
\r
936 8, -136, 9, 268, 335, 274, 77, 27, 28, 29,
\r
937 30, 31, 32, 33, 293, 294, 295, 244, 92, 93,
\r
938 94, 95, 96, 97, 98, 99, 181, 182, 34, 83,
\r
939 127, 287, 288, 289, 35, 36, 37, 38, 39, 215,
\r
940 216, 245, 19, 20, 21, 22, 23, 338, 84, 85,
\r
941 86, 87, 88, 89, 24, 25, 133, 181, 229, 101,
\r
942 274, 274, 290, 291, 274, 26, 92, 93, 94, 95,
\r
943 96, 97, 98, 99, 102, 66, 136, 103, 67, 238,
\r
944 113, 274, 118, 68, 339, 340, 27, 28, 29, 30,
\r
945 31, 32, 33, 95, 96, 97, 98, 99, 274, 92,
\r
946 93, 94, 95, 96, 97, 98, 99, 34, 332, 333,
\r
947 334, 121, 274, 35, 36, 37, 38, 39, 19, 20,
\r
948 21, 22, 23, 132, 136, 339, 341, 343, 344, 135,
\r
949 24, 25, 19, 20, 21, 22, 23, 339, 352, 339,
\r
950 360, 26, 369, 370, 24, 25, 189, 84, 85, 86,
\r
951 87, 88, 89, 144, 145, 26, 149, 188, 326, 327,
\r
952 146, 147, 27, 28, 29, 30, 31, 32, 33, 94,
\r
953 95, 96, 97, 98, 99, 104, 27, 28, 29, 30,
\r
954 31, 32, 33, 34, 148, 185, 160, 130, 170, 35,
\r
955 36, 37, 38, 39, 172, 174, 175, 34, 177, 105,
\r
956 180, 183, 184, 35, 36, 37, 38, 39, 201, 20,
\r
957 21, 22, 23, 187, 193, 202, 191, 192, 1, 194,
\r
958 24, 25, 19, 20, 21, 22, 23, 195, 115, 209,
\r
959 213, 26, 219, 214, 24, 25, 2, 218, 3, 4,
\r
960 5, 222, 6, 223, 8, 26, 9, 225, 228, 235,
\r
961 230, 232, 27, 28, 29, 30, 31, 32, 33, 93,
\r
962 94, 95, 96, 97, 98, 99, 27, 28, 29, 30,
\r
963 31, 32, 33, 203, 234, 237, 246, 247, 249, 35,
\r
964 36, 37, 38, 39, 250, 253, 256, 34, 258, 262,
\r
965 278, 259, 263, 35, 36, 37, 38, 39, 19, 20,
\r
966 21, 22, 23, 260, 261, 296, 269, 281, 292, 243,
\r
967 24, 25, 270, 20, 21, 22, 23, 301, 302, 303,
\r
968 312, 26, 305, 306, 24, 25, 92, 93, 94, 95,
\r
969 96, 97, 98, 99, 307, 26, 309, 313, 315, 100,
\r
970 322, 324, 27, 28, 29, 30, 31, 32, 33, 346,
\r
971 329, 348, 350, 353, 349, 355, 27, 28, 29, 30,
\r
972 31, 32, 33, 34, 357, 364, 361, 368, 367, 35,
\r
973 36, 37, 38, 39, 373, 374, 375, 34, 112, 62,
\r
974 59, 236, 325, 35, 36, 37, 38, 39, 92, 93,
\r
975 94, 95, 96, 97, 98, 99, 92, 93, 94, 95,
\r
976 96, 97, 98, 99, 117, 224, 366, 331, 116, 217,
\r
977 0, 84, 85, 86, 87, 88, 89, 92, 93, 94,
\r
978 95, 96, 97, 98, 99, 0, 0, 0, 0, 0,
\r
979 211, 92, 93, 94, 95, 96, 97, 98, 99, 0,
\r
980 0, 0, 0, 0, 304, 0, 231, -137, -137, -137,
\r
981 -137, -137, -137, -137, -137, 0, 0, 0, 0, 0,
\r
982 -137, 92, 93, 94, 95, 96, 97, 98, 99
\r
985 static const yytype_int16 yycheck[] =
\r
987 1, 6, 144, 2, 146, 147, 148, 253, 202, 203,
\r
988 48, 132, 246, 17, 220, 3, 3, 4, 3, 8,
\r
989 9, 58, 36, 24, 25, 218, 3, 36, 22, 4,
\r
990 5, 6, 7, 34, 35, 36, 18, 269, 109, 285,
\r
991 54, 112, 56, 57, 68, 54, 252, 56, 242, 243,
\r
992 69, 21, 76, 23, 73, 12, 13, 14, 15, 16,
\r
993 17, 18, 19, 13, 14, 66, 3, 4, 25, 302,
\r
994 71, 305, 47, 48, 49, 50, 51, 52, 53, 3,
\r
995 117, 70, 22, 68, 316, 72, 68, 281, 3, 322,
\r
996 78, 92, 93, 94, 95, 96, 97, 98, 99, 292,
\r
997 101, 78, 77, 104, 103, 339, 105, 3, 314, 59,
\r
998 3, 68, 62, 117, 71, 309, 3, 238, 3, 76,
\r
999 353, 367, 368, 13, 14, 163, 3, 23, 69, 375,
\r
1000 23, 132, 73, 22, 135, 329, 23, 11, 12, 13,
\r
1001 14, 15, 16, 17, 18, 19, 145, 3, 4, 5,
\r
1002 6, 7, 346, 36, 22, 68, 3, 36, 71, 15,
\r
1003 16, 35, 69, 76, 3, 0, 73, 3, 21, 59,
\r
1004 26, 54, 62, 315, 57, 54, 23, 56, 57, 58,
\r
1005 181, 60, 61, 62, 23, 64, 191, 23, 44, 45,
\r
1006 46, 47, 48, 49, 50, 51, 52, 53, 21, 36,
\r
1007 23, 3, 203, 3, 4, 5, 6, 7, 17, 18,
\r
1008 19, 4, 68, 8, 9, 15, 16, 54, 74, 75,
\r
1009 76, 77, 78, 4, 3, 3, 26, 4, 12, 13,
\r
1010 14, 15, 16, 17, 18, 19, 58, 238, 60, 4,
\r
1011 62, 25, 64, 244, 23, 246, 4, 47, 48, 49,
\r
1012 50, 51, 52, 53, 259, 260, 261, 11, 12, 13,
\r
1013 14, 15, 16, 17, 18, 19, 69, 70, 68, 3,
\r
1014 70, 3, 4, 5, 74, 75, 76, 77, 78, 69,
\r
1015 70, 35, 3, 4, 5, 6, 7, 71, 27, 28,
\r
1016 29, 30, 31, 32, 15, 16, 17, 69, 70, 69,
\r
1017 301, 302, 69, 70, 305, 26, 12, 13, 14, 15,
\r
1018 16, 17, 18, 19, 71, 68, 70, 79, 71, 72,
\r
1019 68, 322, 3, 76, 69, 70, 47, 48, 49, 50,
\r
1020 51, 52, 53, 15, 16, 17, 18, 19, 339, 12,
\r
1021 13, 14, 15, 16, 17, 18, 19, 68, 3, 4,
\r
1022 5, 22, 353, 74, 75, 76, 77, 78, 3, 4,
\r
1023 5, 6, 7, 68, 70, 69, 70, 69, 70, 68,
\r
1024 15, 16, 3, 4, 5, 6, 7, 69, 70, 69,
\r
1025 70, 26, 69, 70, 15, 16, 17, 27, 28, 29,
\r
1026 30, 31, 32, 27, 68, 26, 37, 70, 306, 307,
\r
1027 27, 27, 47, 48, 49, 50, 51, 52, 53, 14,
\r
1028 15, 16, 17, 18, 19, 55, 47, 48, 49, 50,
\r
1029 51, 52, 53, 68, 27, 70, 3, 3, 3, 74,
\r
1030 75, 76, 77, 78, 72, 3, 22, 68, 3, 79,
\r
1031 63, 71, 3, 74, 75, 76, 77, 78, 3, 4,
\r
1032 5, 6, 7, 70, 3, 10, 71, 71, 36, 69,
\r
1033 15, 16, 3, 4, 5, 6, 7, 3, 18, 33,
\r
1034 21, 26, 3, 21, 15, 16, 54, 22, 56, 57,
\r
1035 58, 23, 60, 5, 62, 26, 64, 68, 3, 73,
\r
1036 70, 3, 47, 48, 49, 50, 51, 52, 53, 13,
\r
1037 14, 15, 16, 17, 18, 19, 47, 48, 49, 50,
\r
1038 51, 52, 53, 68, 3, 69, 24, 38, 3, 74,
\r
1039 75, 76, 77, 78, 3, 3, 3, 68, 65, 5,
\r
1040 3, 71, 73, 74, 75, 76, 77, 78, 3, 4,
\r
1041 5, 6, 7, 71, 71, 70, 72, 34, 22, 9,
\r
1042 15, 16, 3, 4, 5, 6, 7, 68, 68, 68,
\r
1043 21, 26, 69, 69, 15, 16, 12, 13, 14, 15,
\r
1044 16, 17, 18, 19, 69, 26, 39, 3, 27, 25,
\r
1045 68, 3, 47, 48, 49, 50, 51, 52, 53, 41,
\r
1046 40, 21, 3, 68, 66, 22, 47, 48, 49, 50,
\r
1047 51, 52, 53, 68, 3, 3, 68, 3, 67, 74,
\r
1048 75, 76, 77, 78, 3, 23, 3, 68, 50, 14,
\r
1049 13, 194, 305, 74, 75, 76, 77, 78, 12, 13,
\r
1050 14, 15, 16, 17, 18, 19, 12, 13, 14, 15,
\r
1051 16, 17, 18, 19, 54, 178, 362, 311, 53, 172,
\r
1052 -1, 27, 28, 29, 30, 31, 32, 12, 13, 14,
\r
1053 15, 16, 17, 18, 19, -1, -1, -1, -1, -1,
\r
1054 25, 12, 13, 14, 15, 16, 17, 18, 19, -1,
\r
1055 -1, -1, -1, -1, 25, -1, 70, 12, 13, 14,
\r
1056 15, 16, 17, 18, 19, -1, -1, -1, -1, -1,
\r
1057 25, 12, 13, 14, 15, 16, 17, 18, 19
\r
1060 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
\r
1061 symbol of state STATE-NUM. */
\r
1062 static const yytype_uint8 yystos[] =
\r
1064 0, 36, 54, 56, 57, 58, 60, 61, 62, 64,
\r
1065 81, 82, 83, 84, 85, 88, 89, 125, 126, 3,
\r
1066 4, 5, 6, 7, 15, 16, 26, 47, 48, 49,
\r
1067 50, 51, 52, 53, 68, 74, 75, 76, 77, 78,
\r
1068 90, 109, 110, 112, 120, 121, 3, 121, 122, 22,
\r
1069 22, 3, 3, 96, 22, 22, 3, 0, 21, 85,
\r
1070 88, 89, 84, 88, 89, 126, 68, 71, 76, 109,
\r
1071 109, 68, 76, 4, 4, 4, 4, 4, 109, 109,
\r
1072 109, 3, 3, 3, 27, 28, 29, 30, 31, 32,
\r
1073 91, 92, 12, 13, 14, 15, 16, 17, 18, 19,
\r
1074 25, 69, 71, 79, 55, 79, 92, 3, 23, 86,
\r
1075 87, 23, 86, 68, 136, 18, 136, 125, 3, 127,
\r
1076 128, 22, 82, 88, 89, 88, 89, 70, 109, 111,
\r
1077 3, 78, 68, 17, 109, 68, 70, 3, 4, 72,
\r
1078 93, 94, 95, 96, 27, 68, 27, 27, 27, 37,
\r
1079 97, 98, 109, 109, 109, 109, 109, 109, 109, 109,
\r
1080 3, 109, 121, 109, 121, 3, 4, 23, 87, 23,
\r
1081 3, 137, 72, 135, 3, 22, 82, 3, 21, 23,
\r
1082 63, 69, 70, 71, 3, 70, 111, 70, 70, 17,
\r
1083 109, 71, 71, 3, 69, 3, 93, 121, 93, 93,
\r
1084 93, 3, 10, 68, 104, 105, 106, 107, 109, 33,
\r
1085 113, 25, 92, 21, 21, 69, 70, 137, 22, 3,
\r
1086 131, 132, 23, 5, 128, 68, 133, 109, 3, 70,
\r
1087 70, 70, 3, 96, 3, 73, 94, 69, 72, 104,
\r
1088 104, 109, 8, 9, 11, 35, 24, 38, 114, 3,
\r
1089 3, 73, 131, 3, 23, 132, 3, 134, 65, 71,
\r
1090 71, 71, 5, 73, 111, 70, 104, 104, 109, 72,
\r
1091 3, 44, 45, 46, 109, 116, 117, 119, 3, 123,
\r
1092 124, 34, 102, 103, 23, 3, 133, 3, 4, 5,
\r
1093 69, 70, 22, 96, 96, 96, 70, 73, 108, 112,
\r
1094 71, 68, 68, 68, 25, 69, 69, 69, 104, 39,
\r
1095 99, 133, 21, 3, 131, 27, 69, 73, 3, 118,
\r
1096 119, 118, 68, 115, 3, 116, 123, 123, 104, 40,
\r
1097 100, 135, 3, 4, 5, 23, 93, 112, 71, 69,
\r
1098 70, 70, 118, 69, 70, 104, 41, 101, 21, 66,
\r
1099 3, 119, 70, 68, 104, 22, 118, 3, 129, 130,
\r
1100 70, 68, 21, 23, 3, 138, 130, 67, 3, 69,
\r
1101 70, 133, 133, 3, 23, 3, 133
\r
1104 #define yyerrok (yyerrstatus = 0)
\r
1105 #define yyclearin (yychar = YYEMPTY)
\r
1106 #define YYEMPTY (-2)
\r
1109 #define YYACCEPT goto yyacceptlab
\r
1110 #define YYABORT goto yyabortlab
\r
1111 #define YYERROR goto yyerrorlab
\r
1114 /* Like YYERROR except do call yyerror. This remains here temporarily
\r
1115 to ease the transition to the new meaning of YYERROR, for GCC.
\r
1116 Once GCC version 2 has supplanted version 1, this can go. */
\r
1118 #define YYFAIL goto yyerrlab
\r
1120 #define YYRECOVERING() (!!yyerrstatus)
\r
1122 #define YYBACKUP(Token, Value) \
\r
1124 if (yychar == YYEMPTY && yylen == 1) \
\r
1126 yychar = (Token); \
\r
1127 yylval = (Value); \
\r
1128 yytoken = YYTRANSLATE (yychar); \
\r
1134 yyerror (YY_("syntax error: cannot back up")); \
\r
1140 #define YYTERROR 1
\r
1141 #define YYERRCODE 256
\r
1144 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
\r
1145 If N is 0, then set CURRENT to the empty location which ends
\r
1146 the previous symbol: RHS[0] (always defined). */
\r
1148 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
\r
1149 #ifndef YYLLOC_DEFAULT
\r
1150 # define YYLLOC_DEFAULT(Current, Rhs, N) \
\r
1154 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
\r
1155 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
\r
1156 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
\r
1157 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
\r
1161 (Current).first_line = (Current).last_line = \
\r
1162 YYRHSLOC (Rhs, 0).last_line; \
\r
1163 (Current).first_column = (Current).last_column = \
\r
1164 YYRHSLOC (Rhs, 0).last_column; \
\r
1170 /* YY_LOCATION_PRINT -- Print the location on the stream.
\r
1171 This macro was not mandated originally: define only if we know
\r
1172 we won't break user code: when these are the locations we know. */
\r
1174 #ifndef YY_LOCATION_PRINT
\r
1175 # if YYLTYPE_IS_TRIVIAL
\r
1176 # define YY_LOCATION_PRINT(File, Loc) \
\r
1177 fprintf (File, "%d.%d-%d.%d", \
\r
1178 (Loc).first_line, (Loc).first_column, \
\r
1179 (Loc).last_line, (Loc).last_column)
\r
1181 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
\r
1186 /* YYLEX -- calling `yylex' with the right arguments. */
\r
1188 #ifdef YYLEX_PARAM
\r
1189 # define YYLEX yylex (YYLEX_PARAM)
\r
1191 # define YYLEX yylex ()
\r
1194 /* Enable debugging if requested. */
\r
1197 # ifndef YYFPRINTF
\r
1198 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
\r
1199 # define YYFPRINTF fprintf
\r
1202 # define YYDPRINTF(Args) \
\r
1206 } while (YYID (0))
\r
1208 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
\r
1212 YYFPRINTF (stderr, "%s ", Title); \
\r
1213 yy_symbol_print (stderr, \
\r
1215 YYFPRINTF (stderr, "\n"); \
\r
1217 } while (YYID (0))
\r
1220 /*--------------------------------.
\r
1221 | Print this symbol on YYOUTPUT. |
\r
1222 `--------------------------------*/
\r
1225 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1226 || defined __cplusplus || defined _MSC_VER)
\r
1228 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
\r
1231 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
\r
1234 YYSTYPE const * const yyvaluep;
\r
1240 if (yytype < YYNTOKENS)
\r
1241 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
\r
1253 /*--------------------------------.
\r
1254 | Print this symbol on YYOUTPUT. |
\r
1255 `--------------------------------*/
\r
1257 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1258 || defined __cplusplus || defined _MSC_VER)
\r
1260 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
\r
1263 yy_symbol_print (yyoutput, yytype, yyvaluep)
\r
1266 YYSTYPE const * const yyvaluep;
\r
1269 if (yytype < YYNTOKENS)
\r
1270 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
\r
1272 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
\r
1274 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
\r
1275 YYFPRINTF (yyoutput, ")");
\r
1278 /*------------------------------------------------------------------.
\r
1279 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
\r
1280 | TOP (included). |
\r
1281 `------------------------------------------------------------------*/
\r
1283 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1284 || defined __cplusplus || defined _MSC_VER)
\r
1286 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
\r
1289 yy_stack_print (bottom, top)
\r
1290 yytype_int16 *bottom;
\r
1291 yytype_int16 *top;
\r
1294 YYFPRINTF (stderr, "Stack now");
\r
1295 for (; bottom <= top; ++bottom)
\r
1296 YYFPRINTF (stderr, " %d", *bottom);
\r
1297 YYFPRINTF (stderr, "\n");
\r
1300 # define YY_STACK_PRINT(Bottom, Top) \
\r
1303 yy_stack_print ((Bottom), (Top)); \
\r
1304 } while (YYID (0))
\r
1307 /*------------------------------------------------.
\r
1308 | Report that the YYRULE is going to be reduced. |
\r
1309 `------------------------------------------------*/
\r
1311 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1312 || defined __cplusplus || defined _MSC_VER)
\r
1314 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
\r
1317 yy_reduce_print (yyvsp, yyrule)
\r
1322 int yynrhs = yyr2[yyrule];
\r
1324 unsigned long int yylno = yyrline[yyrule];
\r
1325 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
\r
1326 yyrule - 1, yylno);
\r
1327 /* The symbols being reduced. */
\r
1328 for (yyi = 0; yyi < yynrhs; yyi++)
\r
1330 fprintf (stderr, " $%d = ", yyi + 1);
\r
1331 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
\r
1332 &(yyvsp[(yyi + 1) - (yynrhs)])
\r
1334 fprintf (stderr, "\n");
\r
1338 # define YY_REDUCE_PRINT(Rule) \
\r
1341 yy_reduce_print (yyvsp, Rule); \
\r
1342 } while (YYID (0))
\r
1344 /* Nonzero means print parse trace. It is left uninitialized so that
\r
1345 multiple parsers can coexist. */
\r
1347 #else /* !YYDEBUG */
\r
1348 # define YYDPRINTF(Args)
\r
1349 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
\r
1350 # define YY_STACK_PRINT(Bottom, Top)
\r
1351 # define YY_REDUCE_PRINT(Rule)
\r
1352 #endif /* !YYDEBUG */
\r
1355 /* YYINITDEPTH -- initial size of the parser's stacks. */
\r
1356 #ifndef YYINITDEPTH
\r
1357 # define YYINITDEPTH 200
\r
1360 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
\r
1361 if the built-in stack extension method is used).
\r
1363 Do not make this value too large; the results are undefined if
\r
1364 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
\r
1365 evaluated with infinite-precision integer arithmetic. */
\r
1367 #ifndef YYMAXDEPTH
\r
1368 # define YYMAXDEPTH 10000
\r
1373 #if YYERROR_VERBOSE
\r
1376 # if defined __GLIBC__ && defined _STRING_H
\r
1377 # define yystrlen strlen
\r
1379 /* Return the length of YYSTR. */
\r
1380 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1381 || defined __cplusplus || defined _MSC_VER)
\r
1383 yystrlen (const char *yystr)
\r
1387 const char *yystr;
\r
1391 for (yylen = 0; yystr[yylen]; yylen++)
\r
1399 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
\r
1400 # define yystpcpy stpcpy
\r
1402 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
\r
1404 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1405 || defined __cplusplus || defined _MSC_VER)
\r
1407 yystpcpy (char *yydest, const char *yysrc)
\r
1410 yystpcpy (yydest, yysrc)
\r
1412 const char *yysrc;
\r
1415 char *yyd = yydest;
\r
1416 const char *yys = yysrc;
\r
1418 while ((*yyd++ = *yys++) != '\0')
\r
1426 # ifndef yytnamerr
\r
1427 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
\r
1428 quotes and backslashes, so that it's suitable for yyerror. The
\r
1429 heuristic is that double-quoting is unnecessary unless the string
\r
1430 contains an apostrophe, a comma, or backslash (other than
\r
1431 backslash-backslash). YYSTR is taken from yytname. If YYRES is
\r
1432 null, do not copy; instead, return the length of what the result
\r
1433 would have been. */
\r
1435 yytnamerr (char *yyres, const char *yystr)
\r
1437 if (*yystr == '"')
\r
1440 char const *yyp = yystr;
\r
1447 goto do_not_strip_quotes;
\r
1450 if (*++yyp != '\\')
\r
1451 goto do_not_strip_quotes;
\r
1452 /* Fall through. */
\r
1455 yyres[yyn] = *yyp;
\r
1461 yyres[yyn] = '\0';
\r
1464 do_not_strip_quotes: ;
\r
1468 return yystrlen (yystr);
\r
1470 return yystpcpy (yyres, yystr) - yyres;
\r
1474 /* Copy into YYRESULT an error message about the unexpected token
\r
1475 YYCHAR while in state YYSTATE. Return the number of bytes copied,
\r
1476 including the terminating null byte. If YYRESULT is null, do not
\r
1477 copy anything; just return the number of bytes that would be
\r
1478 copied. As a special case, return 0 if an ordinary "syntax error"
\r
1479 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
\r
1480 size calculation. */
\r
1482 yysyntax_error (char *yyresult, int yystate, int yychar)
\r
1484 int yyn = yypact[yystate];
\r
1486 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
\r
1490 int yytype = YYTRANSLATE (yychar);
\r
1491 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
\r
1492 YYSIZE_T yysize = yysize0;
\r
1494 int yysize_overflow = 0;
\r
1495 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
\r
1496 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
\r
1500 /* This is so xgettext sees the translatable formats that are
\r
1501 constructed on the fly. */
\r
1502 YY_("syntax error, unexpected %s");
\r
1503 YY_("syntax error, unexpected %s, expecting %s");
\r
1504 YY_("syntax error, unexpected %s, expecting %s or %s");
\r
1505 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
\r
1506 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
\r
1510 static char const yyunexpected[] = "syntax error, unexpected %s";
\r
1511 static char const yyexpecting[] = ", expecting %s";
\r
1512 static char const yyor[] = " or %s";
\r
1513 char yyformat[sizeof yyunexpected
\r
1514 + sizeof yyexpecting - 1
\r
1515 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
\r
1516 * (sizeof yyor - 1))];
\r
1517 char const *yyprefix = yyexpecting;
\r
1519 /* Start YYX at -YYN if negative to avoid negative indexes in
\r
1521 int yyxbegin = yyn < 0 ? -yyn : 0;
\r
1523 /* Stay within bounds of both yycheck and yytname. */
\r
1524 int yychecklim = YYLAST - yyn + 1;
\r
1525 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
\r
1528 yyarg[0] = yytname[yytype];
\r
1529 yyfmt = yystpcpy (yyformat, yyunexpected);
\r
1531 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
\r
1532 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
\r
1534 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
\r
1538 yyformat[sizeof yyunexpected - 1] = '\0';
\r
1541 yyarg[yycount++] = yytname[yyx];
\r
1542 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
\r
1543 yysize_overflow |= (yysize1 < yysize);
\r
1545 yyfmt = yystpcpy (yyfmt, yyprefix);
\r
1549 yyf = YY_(yyformat);
\r
1550 yysize1 = yysize + yystrlen (yyf);
\r
1551 yysize_overflow |= (yysize1 < yysize);
\r
1554 if (yysize_overflow)
\r
1555 return YYSIZE_MAXIMUM;
\r
1559 /* Avoid sprintf, as that infringes on the user's name space.
\r
1560 Don't have undefined behavior even if the translation
\r
1561 produced a string with the wrong number of "%s"s. */
\r
1562 char *yyp = yyresult;
\r
1564 while ((*yyp = *yyf) != '\0')
\r
1566 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
\r
1568 yyp += yytnamerr (yyp, yyarg[yyi++]);
\r
1581 #endif /* YYERROR_VERBOSE */
\r
1584 /*-----------------------------------------------.
\r
1585 | Release the memory associated to this symbol. |
\r
1586 `-----------------------------------------------*/
\r
1589 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1590 || defined __cplusplus || defined _MSC_VER)
\r
1592 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
\r
1595 yydestruct (yymsg, yytype, yyvaluep)
\r
1596 const char *yymsg;
\r
1598 YYSTYPE *yyvaluep;
\r
1604 yymsg = "Deleting";
\r
1605 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
\r
1616 /* Prevent warnings from -Wmissing-prototypes. */
\r
1618 #ifdef YYPARSE_PARAM
\r
1619 #if defined __STDC__ || defined __cplusplus
\r
1620 int yyparse (void *YYPARSE_PARAM);
\r
1624 #else /* ! YYPARSE_PARAM */
\r
1625 #if defined __STDC__ || defined __cplusplus
\r
1626 int yyparse (void);
\r
1630 #endif /* ! YYPARSE_PARAM */
\r
1634 /* The look-ahead symbol. */
\r
1637 /* The semantic value of the look-ahead symbol. */
\r
1640 /* Number of syntax errors so far. */
\r
1649 #ifdef YYPARSE_PARAM
\r
1650 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1651 || defined __cplusplus || defined _MSC_VER)
\r
1653 yyparse (void *YYPARSE_PARAM)
\r
1656 yyparse (YYPARSE_PARAM)
\r
1657 void *YYPARSE_PARAM;
\r
1659 #else /* ! YYPARSE_PARAM */
\r
1660 #if (defined __STDC__ || defined __C99__FUNC__ \
\r
1661 || defined __cplusplus || defined _MSC_VER)
\r
1675 /* Number of tokens to shift before error messages enabled. */
\r
1677 /* Look-ahead token as an internal (translated) token number. */
\r
1679 #if YYERROR_VERBOSE
\r
1680 /* Buffer for error messages, and its allocated size. */
\r
1681 char yymsgbuf[128];
\r
1682 char *yymsg = yymsgbuf;
\r
1683 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
\r
1686 /* Three stacks and their tools:
\r
1687 `yyss': related to states,
\r
1688 `yyvs': related to semantic values,
\r
1689 `yyls': related to locations.
\r
1691 Refer to the stacks thru separate pointers, to allow yyoverflow
\r
1692 to reallocate them elsewhere. */
\r
1694 /* The state stack. */
\r
1695 yytype_int16 yyssa[YYINITDEPTH];
\r
1696 yytype_int16 *yyss = yyssa;
\r
1697 yytype_int16 *yyssp;
\r
1699 /* The semantic value stack. */
\r
1700 YYSTYPE yyvsa[YYINITDEPTH];
\r
1701 YYSTYPE *yyvs = yyvsa;
\r
1706 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
\r
1708 YYSIZE_T yystacksize = YYINITDEPTH;
\r
1710 /* The variables used to return semantic value and location from the
\r
1711 action routines. */
\r
1715 /* The number of symbols on the RHS of the reduced rule.
\r
1716 Keep to zero when no symbol should be popped. */
\r
1719 YYDPRINTF ((stderr, "Starting parse\n"));
\r
1724 yychar = YYEMPTY; /* Cause a token to be read. */
\r
1726 /* Initialize stack pointers.
\r
1727 Waste one element of value and location stack
\r
1728 so that they stay on the same level as the state stack.
\r
1729 The wasted elements are never initialized. */
\r
1736 /*------------------------------------------------------------.
\r
1737 | yynewstate -- Push a new state, which is found in yystate. |
\r
1738 `------------------------------------------------------------*/
\r
1740 /* In all cases, when you get here, the value and location stacks
\r
1741 have just been pushed. So pushing a state here evens the stacks. */
\r
1747 if (yyss + yystacksize - 1 <= yyssp)
\r
1749 /* Get the current used size of the three stacks, in elements. */
\r
1750 YYSIZE_T yysize = yyssp - yyss + 1;
\r
1754 /* Give user a chance to reallocate the stack. Use copies of
\r
1755 these so that the &'s don't force the real ones into
\r
1757 YYSTYPE *yyvs1 = yyvs;
\r
1758 yytype_int16 *yyss1 = yyss;
\r
1761 /* Each stack pointer address is followed by the size of the
\r
1762 data in use in that stack, in bytes. This used to be a
\r
1763 conditional around just the two extra args, but that might
\r
1764 be undefined if yyoverflow is a macro. */
\r
1765 yyoverflow (YY_("memory exhausted"),
\r
1766 &yyss1, yysize * sizeof (*yyssp),
\r
1767 &yyvs1, yysize * sizeof (*yyvsp),
\r
1774 #else /* no yyoverflow */
\r
1775 # ifndef YYSTACK_RELOCATE
\r
1776 goto yyexhaustedlab;
\r
1778 /* Extend the stack our own way. */
\r
1779 if (YYMAXDEPTH <= yystacksize)
\r
1780 goto yyexhaustedlab;
\r
1782 if (YYMAXDEPTH < yystacksize)
\r
1783 yystacksize = YYMAXDEPTH;
\r
1786 yytype_int16 *yyss1 = yyss;
\r
1787 union yyalloc *yyptr =
\r
1788 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
\r
1790 goto yyexhaustedlab;
\r
1791 YYSTACK_RELOCATE (yyss);
\r
1792 YYSTACK_RELOCATE (yyvs);
\r
1794 # undef YYSTACK_RELOCATE
\r
1795 if (yyss1 != yyssa)
\r
1796 YYSTACK_FREE (yyss1);
\r
1799 #endif /* no yyoverflow */
\r
1801 yyssp = yyss + yysize - 1;
\r
1802 yyvsp = yyvs + yysize - 1;
\r
1805 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
\r
1806 (unsigned long int) yystacksize));
\r
1808 if (yyss + yystacksize - 1 <= yyssp)
\r
1812 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
\r
1821 /* Do appropriate processing given the current state. Read a
\r
1822 look-ahead token if we need one and don't already have one. */
\r
1824 /* First try to decide what to do without reference to look-ahead token. */
\r
1825 yyn = yypact[yystate];
\r
1826 if (yyn == YYPACT_NINF)
\r
1829 /* Not known => get a look-ahead token if don't already have one. */
\r
1831 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
\r
1832 if (yychar == YYEMPTY)
\r
1834 YYDPRINTF ((stderr, "Reading a token: "));
\r
1838 if (yychar <= YYEOF)
\r
1840 yychar = yytoken = YYEOF;
\r
1841 YYDPRINTF ((stderr, "Now at end of input.\n"));
\r
1845 yytoken = YYTRANSLATE (yychar);
\r
1846 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
\r
1849 /* If the proper action on seeing token YYTOKEN is to reduce or to
\r
1850 detect an error, take that action. */
\r
1852 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
\r
1854 yyn = yytable[yyn];
\r
1857 if (yyn == 0 || yyn == YYTABLE_NINF)
\r
1863 if (yyn == YYFINAL)
\r
1866 /* Count tokens shifted since error; after three, turn off error
\r
1871 /* Shift the look-ahead token. */
\r
1872 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
\r
1874 /* Discard the shifted token unless it is eof. */
\r
1875 if (yychar != YYEOF)
\r
1879 *++yyvsp = yylval;
\r
1884 /*-----------------------------------------------------------.
\r
1885 | yydefault -- do the default action for the current state. |
\r
1886 `-----------------------------------------------------------*/
\r
1888 yyn = yydefact[yystate];
\r
1894 /*-----------------------------.
\r
1895 | yyreduce -- Do a reduction. |
\r
1896 `-----------------------------*/
\r
1898 /* yyn is the number of a rule to reduce with. */
\r
1899 yylen = yyr2[yyn];
\r
1901 /* If YYLEN is nonzero, implement the default value of the action:
\r
1904 Otherwise, the following line sets YYVAL to garbage.
\r
1905 This behavior is undocumented and Bison
\r
1906 users should not rely upon it. Assigning to YYVAL
\r
1907 unconditionally makes the parser a bit smaller, and it avoids a
\r
1908 GCC warning that YYVAL may be used uninitialized. */
\r
1909 yyval = yyvsp[1-yylen];
\r
1912 YY_REDUCE_PRINT (yyn);
\r
1918 fta_parse_result->parse_tree_list = (yyvsp[(1) - (1)].q_list);
\r
1919 fta_parse_result->tables = NULL;
\r
1920 fta_parse_result->parse_type = QUERY_PARSE;
\r
1927 fta_parse_result->parse_tree_list = NULL;
\r
1928 fta_parse_result->fta_parse_tree = NULL;
\r
1929 fta_parse_result->tables = (yyvsp[(1) - (1)].table_list_schema);
\r
1930 fta_parse_result->parse_type = TABLE_PARSE;
\r
1937 fta_parse_result->parse_tree_list = NULL;
\r
1938 fta_parse_result->fta_parse_tree = (yyvsp[(4) - (5)].tblp);
\r
1939 fta_parse_result->tables = (yyvsp[(3) - (5)].table_list_schema);
\r
1940 fta_parse_result->parse_type = STREAM_PARSE;
\r
1947 (yyvsp[(3) - (3)].tblp)->add_nmap((yyvsp[(1) - (3)].var_defs)); // Memory leak : plug it.
\r
1948 (yyvsp[(3) - (3)].tblp)->add_param_list((yyvsp[(2) - (3)].var_defs)); // Memory leak : plug it.
\r
1949 (yyval.tblp) = (yyvsp[(3) - (3)].tblp);
\r
1956 (yyvsp[(3) - (3)].tblp)->add_nmap((yyvsp[(2) - (3)].var_defs)); // Memory leak : plug it.
\r
1957 (yyvsp[(3) - (3)].tblp)->add_param_list((yyvsp[(1) - (3)].var_defs)); // Memory leak : plug it.
\r
1958 (yyval.tblp) = (yyvsp[(3) - (3)].tblp);
\r
1965 (yyvsp[(2) - (2)].tblp)->add_nmap(NULL); // Memory leak : plug it.
\r
1966 (yyvsp[(2) - (2)].tblp)->add_param_list((yyvsp[(1) - (2)].var_defs)); // Memory leak : plug it.
\r
1967 (yyval.tblp) = (yyvsp[(2) - (2)].tblp);
\r
1974 (yyvsp[(2) - (2)].tblp)->add_nmap((yyvsp[(1) - (2)].var_defs)); // Memory leak : plug it.
\r
1975 (yyval.tblp) = (yyvsp[(2) - (2)].tblp);
\r
1982 (yyval.tblp) = (yyvsp[(1) - (1)].tblp);
\r
1989 (yyvsp[(3) - (3)].tblp)->add_nmap((yyvsp[(1) - (3)].var_defs)); // Memory leak : plug it.
\r
1990 (yyvsp[(3) - (3)].tblp)->add_param_list((yyvsp[(2) - (3)].var_defs)); // Memory leak : plug it.
\r
1991 (yyval.tblp) = (yyvsp[(3) - (3)].tblp);
\r
1998 (yyvsp[(3) - (3)].tblp)->add_nmap((yyvsp[(2) - (3)].var_defs)); // Memory leak : plug it.
\r
1999 (yyvsp[(3) - (3)].tblp)->add_param_list((yyvsp[(1) - (3)].var_defs)); // Memory leak : plug it.
\r
2000 (yyval.tblp) = (yyvsp[(3) - (3)].tblp);
\r
2007 (yyvsp[(2) - (2)].tblp)->add_param_list((yyvsp[(1) - (2)].var_defs)); // Memory leak : plug it.
\r
2008 (yyval.tblp) = (yyvsp[(2) - (2)].tblp);
\r
2015 (yyvsp[(2) - (2)].tblp)->add_nmap((yyvsp[(1) - (2)].var_defs)); // Memory leak : plug it.
\r
2016 (yyval.tblp) = (yyvsp[(2) - (2)].tblp);
\r
2023 (yyval.tblp) = (yyvsp[(1) - (1)].tblp);
\r
2029 {(yyval.q_list) = new query_list_t((yyvsp[(1) - (1)].tblp));;}
\r
2034 {(yyval.q_list) = (yyvsp[(1) - (3)].q_list)->append((yyvsp[(3) - (3)].tblp));;}
\r
2039 {(yyval.var_defs)=(yyvsp[(3) - (4)].var_defs);;}
\r
2044 {(yyval.var_defs)=NULL;;}
\r
2049 {(yyval.var_defs)=(yyvsp[(3) - (4)].var_defs);fta_parse_defines=(yyvsp[(3) - (4)].var_defs);;}
\r
2054 {(yyval.var_defs)=NULL;fta_parse_defines = NULL;;}
\r
2059 {(yyval.var_defs) = new var_defs_t((yyvsp[(1) - (1)].var_pair));;}
\r
2064 {(yyval.var_defs) = (yyvsp[(1) - (2)].var_defs)->add_var_pair((yyvsp[(2) - (2)].var_pair));;}
\r
2069 {(yyval.var_pair) = new var_pair_t((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval));;}
\r
2074 {(yyval.var_pair) = new var_pair_t((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval));;}
\r
2079 {(yyval.tblp) = (yyvsp[(3) - (3)].tblp)->add_selection((yyvsp[(2) - (3)].select_listval));;}
\r
2084 {(yyval.tblp) = new table_exp_t((yyvsp[(2) - (3)].clist),(yyvsp[(3) - (3)].tbl_list));;}
\r
2089 {(yyval.tblp) = new table_exp_t((yyvsp[(2) - (5)].clist),(yyvsp[(4) - (5)].scalarval),(yyvsp[(5) - (5)].tbl_list));;}
\r
2094 { (yyval.select_listval) = (yyvsp[(1) - (1)].select_listval);;}
\r
2099 {(yyval.tblp)=new table_exp_t((yyvsp[(1) - (8)].tbl_list),(yyvsp[(2) - (8)].predp),(yyvsp[(3) - (8)].extended_gb_list),(yyvsp[(4) - (8)].clist),(yyvsp[(5) - (8)].predp),(yyvsp[(6) - (8)].predp),(yyvsp[(7) - (8)].predp), (yyvsp[(8) - (8)].predp));;}
\r
2104 {(yyval.tbl_list) = (yyvsp[(2) - (2)].tbl_list); (yyval.tbl_list)->set_properties(-1);;}
\r
2109 {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(INNER_JOIN_PROPERTY);;}
\r
2114 {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(OUTER_JOIN_PROPERTY);;}
\r
2119 {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(RIGHT_OUTER_JOIN_PROPERTY);;}
\r
2124 {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(LEFT_OUTER_JOIN_PROPERTY);;}
\r
2129 {(yyval.tbl_list) = (yyvsp[(8) - (8)].tbl_list); (yyval.tbl_list)->set_properties(FILTER_JOIN_PROPERTY); (yyval.tbl_list)->set_colref((yyvsp[(3) - (8)].colref)); (yyval.tbl_list)->set_temporal_range((yyvsp[(5) - (8)].strval));;}
\r
2134 {(yyval.tbl_list) = new tablevar_list_t((yyvsp[(1) - (1)].table));;}
\r
2139 {(yyval.tbl_list)= (yyvsp[(1) - (3)].tbl_list)->append_table((yyvsp[(3) - (3)].table));;}
\r
2144 { (yyval.table) = (yyvsp[(1) - (1)].table);;}
\r
2149 { (yyval.table)= (yyvsp[(1) - (2)].table)->set_range_var((yyvsp[(2) - (2)].strval));;}
\r
2154 {(yyval.table) = new tablevar_t((yyvsp[(1) - (1)].stringval)->c_str());;}
\r
2159 {(yyval.table) = new tablevar_t((yyvsp[(1) - (3)].strval),(yyvsp[(3) - (3)].stringval)->c_str(),0);;}
\r
2164 {(yyval.table) = new tablevar_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].stringval)->c_str());;}
\r
2169 {(yyval.table) = new tablevar_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].stringval)->c_str());;}
\r
2174 {(yyval.table) = new tablevar_t((yyvsp[(2) - (5)].strval),(yyvsp[(5) - (5)].stringval)->c_str(),1);;}
\r
2179 {(yyval.stringval) = new string_t((yyvsp[(1) - (1)].strval));;}
\r
2184 {(yyval.stringval) = (yyval.stringval)->append("/",(yyvsp[(3) - (3)].strval));;}
\r
2189 {(yyval.predp)=NULL;;}
\r
2194 {(yyval.predp)=(yyvsp[(1) - (1)].predp);;}
\r
2199 {(yyval.predp) = (yyvsp[(2) - (2)].predp);;}
\r
2204 {(yyval.predp)=NULL;;}
\r
2209 {(yyval.predp)=(yyvsp[(2) - (2)].predp); ;}
\r
2214 {(yyval.predp)=NULL;;}
\r
2219 {(yyval.predp)=(yyvsp[(2) - (2)].predp); ;}
\r
2224 {(yyval.predp)=NULL;;}
\r
2229 {(yyval.predp)=(yyvsp[(2) - (2)].predp); ;}
\r
2234 {(yyval.predp)=NULL;;}
\r
2239 {(yyval.predp)=(yyvsp[(1) - (1)].predp);;}
\r
2244 {(yyval.predp) = (yyvsp[(2) - (2)].predp);;}
\r
2249 {(yyval.predp)=new predicate_t("OR",(yyvsp[(1) - (3)].predp),(yyvsp[(3) - (3)].predp));;}
\r
2254 {(yyval.predp)=new predicate_t("AND",(yyvsp[(1) - (3)].predp),(yyvsp[(3) - (3)].predp));;}
\r
2259 {(yyval.predp) = new predicate_t("NOT", (yyvsp[(2) - (2)].predp) );;}
\r
2264 {(yyval.predp) = (yyvsp[(2) - (3)].predp);;}
\r
2269 {(yyval.predp) = (yyvsp[(1) - (1)].predp);;}
\r
2274 { (yyval.predp)=(yyvsp[(1) - (1)].predp);;}
\r
2279 { (yyval.predp) = (yyvsp[(1) - (1)].predp);;}
\r
2284 {(yyval.predp) = predicate_t::make_paramless_fcn_predicate((yyvsp[(1) - (3)].strval)); ;}
\r
2289 {(yyval.predp) = new predicate_t((yyvsp[(1) - (4)].strval), (yyvsp[(3) - (4)].se_listval)->get_se_list()); ;}
\r
2294 {(yyval.predp) = new predicate_t((yyvsp[(1) - (3)].scalarval),(yyvsp[(2) - (3)].strval),(yyvsp[(3) - (3)].scalarval));;}
\r
2299 { (yyval.predp) = new predicate_t((yyvsp[(1) - (5)].scalarval),(yyvsp[(4) - (5)].lit_l)); ;}
\r
2304 {(yyval.lit_l) = new literal_list_t((yyvsp[(1) - (1)].litval));;}
\r
2309 {(yyval.lit_l) = (yyvsp[(1) - (3)].lit_l)->append_literal((yyvsp[(3) - (3)].litval));;}
\r
2314 { (yyval.scalarval)=new scalarexp_t("+",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2319 { (yyval.scalarval)=new scalarexp_t("-",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2324 { (yyval.scalarval)=new scalarexp_t("|",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2329 { (yyval.scalarval)=new scalarexp_t("*",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2334 { (yyval.scalarval)=new scalarexp_t("/",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2339 { (yyval.scalarval)=new scalarexp_t("&",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2344 { (yyval.scalarval)=new scalarexp_t("%",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2349 { (yyval.scalarval)=new scalarexp_t((yyvsp[(2) - (3)].strval),(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}
\r
2354 { (yyval.scalarval) = new scalarexp_t("+",(yyvsp[(2) - (2)].scalarval));;}
\r
2359 { (yyval.scalarval) = new scalarexp_t("-",(yyvsp[(2) - (2)].scalarval));;}
\r
2364 { (yyval.scalarval) = new scalarexp_t("!",(yyvsp[(2) - (2)].scalarval));;}
\r
2369 { (yyval.scalarval) = new scalarexp_t("~",(yyvsp[(2) - (2)].scalarval));;}
\r
2374 { (yyval.scalarval)= new scalarexp_t((yyvsp[(1) - (1)].litval));;}
\r
2379 {(yyval.scalarval) = scalarexp_t::make_param_reference((yyvsp[(2) - (2)].strval));;}
\r
2384 {(yyval.scalarval) = scalarexp_t::make_iface_param_reference((yyvsp[(1) - (1)].ifpref));;}
\r
2389 { (yyval.scalarval) = new scalarexp_t((yyvsp[(1) - (1)].colref));;}
\r
2394 {(yyval.scalarval) = (yyvsp[(2) - (3)].scalarval);;}
\r
2399 { (yyval.scalarval) = scalarexp_t::make_star_aggr((yyvsp[(1) - (4)].strval)); ;}
\r
2404 { (yyval.scalarval) = scalarexp_t::make_se_aggr((yyvsp[(1) - (4)].strval),(yyvsp[(3) - (4)].scalarval)); ;}
\r
2409 {(yyval.scalarval) = new scalarexp_t((yyvsp[(1) - (4)].strval), (yyvsp[(3) - (4)].se_listval)->get_se_list()); ;}
\r
2414 {(yyval.scalarval) = scalarexp_t::make_paramless_fcn((yyvsp[(1) - (3)].strval)); ;}
\r
2419 { (yyval.scalarval) = scalarexp_t::make_star_aggr((yyvsp[(1) - (5)].strval)); (yyval.scalarval)->set_superaggr(true); ;}
\r
2424 { (yyval.scalarval) = scalarexp_t::make_se_aggr((yyvsp[(1) - (5)].strval),(yyvsp[(4) - (5)].scalarval)); (yyval.scalarval)->set_superaggr(true); ;}
\r
2429 {(yyval.scalarval) = new scalarexp_t((yyvsp[(1) - (5)].strval), (yyvsp[(4) - (5)].se_listval)->get_se_list()); (yyval.scalarval)->set_superaggr(true); ;}
\r
2434 {(yyval.scalarval) = scalarexp_t::make_paramless_fcn((yyvsp[(1) - (4)].strval)); (yyval.scalarval)->set_superaggr(true); ;}
\r
2439 { (yyval.select_listval)= new select_list_t((yyvsp[(1) - (1)].scalarval)); ;}
\r
2444 { (yyval.select_listval)= new select_list_t((yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].strval)); ;}
\r
2449 { (yyval.select_listval)=(yyvsp[(1) - (3)].select_listval)->append((yyvsp[(3) - (3)].scalarval)); ;}
\r
2454 { (yyval.select_listval)=(yyvsp[(1) - (5)].select_listval)->append((yyvsp[(3) - (5)].scalarval),(yyvsp[(5) - (5)].strval)); ;}
\r
2459 { (yyval.se_listval)= new se_list_t((yyvsp[(1) - (1)].scalarval)); ;}
\r
2464 { (yyval.se_listval)=(yyvsp[(1) - (3)].se_listval)->append((yyvsp[(3) - (3)].scalarval)); ;}
\r
2469 {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_STRING);;}
\r
2474 {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_INT);;}
\r
2479 {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_LONGINT);;}
\r
2484 {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_FLOAT);;}
\r
2489 {(yyval.litval) = new literal_t("TRUE",LITERAL_BOOL);;}
\r
2494 {(yyval.litval) = new literal_t("FALSE",LITERAL_BOOL);;}
\r
2499 {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_TIMEVAL);;}
\r
2504 {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_HEX);;}
\r
2509 {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_LONGHEX);;}
\r
2514 {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_IP);;}
\r
2519 {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_IPV6);;}
\r
2524 {(yyval.litval) = literal_t::make_define_literal((yyvsp[(2) - (2)].strval),fta_parse_defines);;}
\r
2529 {(yyval.extended_gb_list) = NULL;;}
\r
2534 {(yyval.extended_gb_list) = (yyvsp[(3) - (3)].extended_gb_list);;}
\r
2539 {(yyval.clist) = NULL;;}
\r
2544 {(yyval.clist) = (yyvsp[(2) - (2)].clist);;}
\r
2549 { (yyval.list_of_gb_list) = new list_of_gb_list_t((yyvsp[(2) - (3)].gb_list));;}
\r
2554 {(yyval.list_of_gb_list) = (yyvsp[(1) - (5)].list_of_gb_list)->append((yyvsp[(4) - (5)].gb_list));;}
\r
2559 {(yyval.extended_gb) = extended_gb_t::create_from_gb((yyvsp[(1) - (1)].gb_val));;}
\r
2564 {(yyval.extended_gb) = extended_gb_t::extended_create_from_rollup((yyvsp[(3) - (4)].gb_list));;}
\r
2569 {(yyval.extended_gb) = extended_gb_t::extended_create_from_cube((yyvsp[(3) - (4)].gb_list));;}
\r
2574 {(yyval.extended_gb) = extended_gb_t::extended_create_from_gsets((yyvsp[(3) - (4)].list_of_gb_list));;}
\r
2579 { (yyval.extended_gb_list) = new extended_gb_list_t((yyvsp[(1) - (1)].extended_gb));;}
\r
2584 { (yyval.extended_gb_list)=(yyvsp[(1) - (3)].extended_gb_list)->append((yyvsp[(3) - (3)].extended_gb));;}
\r
2589 { (yyval.gb_list) = new gb_list_t((yyvsp[(1) - (1)].gb_val));;}
\r
2594 { (yyval.gb_list)=(yyvsp[(1) - (3)].gb_list)->append((yyvsp[(3) - (3)].gb_val));;}
\r
2599 {(yyval.gb_val) = new gb_t((yyvsp[(1) - (1)].strval)); ;}
\r
2604 {(yyval.gb_val) = new gb_t((yyvsp[(1) - (3)].strval),(yyvsp[(3) - (3)].strval)); ;}
\r
2609 {(yyval.gb_val) = new gb_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].strval)); ;}
\r
2614 {(yyval.gb_val) = new gb_t((yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].strval)); ;}
\r
2619 {(yyval.ifpref) = new ifpref_t((yyvsp[(2) - (2)].strval));;}
\r
2624 {(yyval.ifpref) = new ifpref_t((yyvsp[(1) - (4)].strval), (yyvsp[(4) - (4)].strval));;}
\r
2629 {(yyval.colref) = new colref_t((yyvsp[(1) - (1)].strval)); ;}
\r
2634 {(yyval.colref) = new colref_t((yyvsp[(1) - (3)].strval),(yyvsp[(3) - (3)].strval)); ;}
\r
2639 {(yyval.colref) = new colref_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].strval)); ;}
\r
2644 {(yyval.clist)=new colref_list_t((yyvsp[(1) - (3)].colref)); (yyval.clist)->append((yyvsp[(3) - (3)].colref));;}
\r
2649 {(yyval.clist) = (yyvsp[(1) - (3)].clist)->append((yyvsp[(3) - (3)].colref));;}
\r
2654 {(yyval.colref) = new colref_t((yyvsp[(1) - (1)].strval)); ;}
\r
2659 {(yyval.clist)=new colref_list_t((yyvsp[(1) - (3)].colref)); (yyval.clist)->append((yyvsp[(3) - (3)].colref));;}
\r
2664 {(yyval.clist) = (yyvsp[(1) - (3)].clist)->append((yyvsp[(3) - (3)].colref));;}
\r
2669 {(yyval.table_list_schema) = new table_list((yyvsp[(1) - (1)].table_def_t));;}
\r
2674 {(yyval.table_list_schema) = (yyvsp[(1) - (2)].table_list_schema)->append_table((yyvsp[(2) - (2)].table_def_t));;}
\r
2680 (yyval.table_def_t)=new table_def((yyvsp[(2) - (7)].strval),(yyvsp[(3) - (7)].plist_t),(yyvsp[(4) - (7)].plist_t), (yyvsp[(6) - (7)].field_list_t), PROTOCOL_SCHEMA); delete (yyvsp[(6) - (7)].field_list_t);;}
\r
2686 (yyval.table_def_t)=new table_def((yyvsp[(2) - (6)].stringval)->c_str(),(yyvsp[(3) - (6)].plist_t),NULL,(yyvsp[(5) - (6)].field_list_t), STREAM_SCHEMA); delete (yyvsp[(5) - (6)].field_list_t);;}
\r
2692 (yyval.table_def_t) = new table_def((yyvsp[(2) - (16)].strval), (yyvsp[(5) - (16)].plist_t), (yyvsp[(8) - (16)].field_list_t), (yyvsp[(12) - (16)].subqueryspec_list_t), (yyvsp[(15) - (16)].plist_t)); ;}
\r
2697 { (yyval.table_def_t) = new table_def((yyvsp[(3) - (4)].ufcnl)); ;}
\r
2702 {(yyval.ufcnl) = new unpack_fcn_list((yyvsp[(1) - (1)].ufcn));;}
\r
2707 {(yyval.ufcnl) = (yyvsp[(1) - (3)].ufcnl) -> append((yyvsp[(3) - (3)].ufcn));;}
\r
2712 {(yyval.ufcn) = new unpack_fcn((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval),(yyvsp[(3) - (3)].strval));;}
\r
2717 {(yyval.subqueryspec_list_t) = new subqueryspec_list((yyvsp[(1) - (1)].subq_spec_t));;}
\r
2722 {(yyval.subqueryspec_list_t) = (yyvsp[(1) - (3)].subqueryspec_list_t)->append((yyvsp[(3) - (3)].subq_spec_t));;}
\r
2727 {(yyval.subq_spec_t)=new subquery_spec((yyvsp[(1) - (4)].strval), (yyvsp[(3) - (4)].namevec_t)); delete (yyvsp[(3) - (4)].namevec_t);;}
\r
2732 {(yyval.field_list_t) = new field_entry_list((yyvsp[(1) - (1)].field_t));;}
\r
2737 {(yyval.field_list_t) = (yyvsp[(1) - (2)].field_list_t)->append_field((yyvsp[(2) - (2)].field_t));;}
\r
2742 {(yyval.field_t) = new field_entry((yyvsp[(1) - (6)].strval),(yyvsp[(2) - (6)].strval),(yyvsp[(3) - (6)].strval),(yyvsp[(4) - (6)].plist_t),(yyvsp[(5) - (6)].plist_t));;}
\r
2747 {(yyval.field_t) = new field_entry((yyvsp[(1) - (4)].strval),(yyvsp[(2) - (4)].strval),"",(yyvsp[(3) - (4)].plist_t),NULL);;}
\r
2752 {(yyval.plist_t) = NULL;;}
\r
2757 {(yyval.plist_t) = (yyvsp[(2) - (3)].plist_t);;}
\r
2762 {(yyval.plist_t) = new param_list((yyvsp[(1) - (1)].strval));;}
\r
2767 {(yyval.plist_t) = new param_list((yyvsp[(1) - (2)].strval),(yyvsp[(2) - (2)].strval));;}
\r
2772 {(yyval.plist_t) = new param_list((yyvsp[(1) - (2)].strval),(yyvsp[(2) - (2)].strval));;}
\r
2777 {(yyval.plist_t) = new param_list((yyvsp[(1) - (2)].strval),(yyvsp[(2) - (2)].strval));;}
\r
2782 {(yyval.plist_t) = (yyvsp[(1) - (3)].plist_t)->append((yyvsp[(3) - (3)].strval));;}
\r
2787 {(yyval.plist_t) = (yyvsp[(1) - (4)].plist_t)->append((yyvsp[(3) - (4)].strval),(yyvsp[(4) - (4)].strval));;}
\r
2792 {(yyval.plist_t) = (yyvsp[(1) - (4)].plist_t)->append((yyvsp[(3) - (4)].strval),(yyvsp[(4) - (4)].strval));;}
\r
2797 {(yyval.plist_t) = (yyvsp[(1) - (4)].plist_t)->append((yyvsp[(3) - (4)].strval),(yyvsp[(4) - (4)].strval));;}
\r
2802 {(yyval.plist_t) = NULL;;}
\r
2807 {(yyval.plist_t) = (yyvsp[(2) - (3)].plist_t);;}
\r
2812 {(yyval.plist_t) = NULL;;}
\r
2817 {(yyval.plist_t) = (yyvsp[(2) - (3)].plist_t);;}
\r
2822 {(yyval.plist_t) = new param_list((yyvsp[(1) - (1)].strval));;}
\r
2827 {(yyval.plist_t) = (yyvsp[(1) - (3)].plist_t)->append((yyvsp[(3) - (3)].strval));;}
\r
2832 {(yyval.namevec_t) = new name_vec((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval),(yyvsp[(3) - (3)].plist_t));;}
\r
2837 {(yyval.namevec_t) = (yyvsp[(1) - (5)].namevec_t)->append((yyvsp[(3) - (5)].strval),(yyvsp[(4) - (5)].strval), (yyvsp[(5) - (5)].plist_t));;}
\r
2841 /* Line 1267 of yacc.c. */
\r
2842 #line 2843 "fta.tab.cc"
\r
2845 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
\r
2847 YYPOPSTACK (yylen);
\r
2849 YY_STACK_PRINT (yyss, yyssp);
\r
2854 /* Now `shift' the result of the reduction. Determine what state
\r
2855 that goes to, based on the state we popped back to and the rule
\r
2856 number reduced by. */
\r
2860 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
\r
2861 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
\r
2862 yystate = yytable[yystate];
\r
2864 yystate = yydefgoto[yyn - YYNTOKENS];
\r
2869 /*------------------------------------.
\r
2870 | yyerrlab -- here on detecting error |
\r
2871 `------------------------------------*/
\r
2873 /* If not already recovering from an error, report this error. */
\r
2877 #if ! YYERROR_VERBOSE
\r
2878 yyerror (YY_("syntax error"));
\r
2881 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
\r
2882 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
\r
2884 YYSIZE_T yyalloc = 2 * yysize;
\r
2885 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
\r
2886 yyalloc = YYSTACK_ALLOC_MAXIMUM;
\r
2887 if (yymsg != yymsgbuf)
\r
2888 YYSTACK_FREE (yymsg);
\r
2889 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
\r
2891 yymsg_alloc = yyalloc;
\r
2895 yymsg_alloc = sizeof yymsgbuf;
\r
2899 if (0 < yysize && yysize <= yymsg_alloc)
\r
2901 (void) yysyntax_error (yymsg, yystate, yychar);
\r
2906 yyerror (YY_("syntax error"));
\r
2908 goto yyexhaustedlab;
\r
2916 if (yyerrstatus == 3)
\r
2918 /* If just tried and failed to reuse look-ahead token after an
\r
2919 error, discard it. */
\r
2921 if (yychar <= YYEOF)
\r
2923 /* Return failure if at end of input. */
\r
2924 if (yychar == YYEOF)
\r
2929 yydestruct ("Error: discarding",
\r
2930 yytoken, &yylval);
\r
2935 /* Else will try to reuse look-ahead token after shifting the error
\r
2940 /*---------------------------------------------------.
\r
2941 | yyerrorlab -- error raised explicitly by YYERROR. |
\r
2942 `---------------------------------------------------*/
\r
2945 /* Pacify compilers like GCC when the user code never invokes
\r
2946 YYERROR and the label yyerrorlab therefore never appears in user
\r
2948 if (/*CONSTCOND*/ 0)
\r
2951 /* Do not reclaim the symbols of the rule which action triggered
\r
2953 YYPOPSTACK (yylen);
\r
2955 YY_STACK_PRINT (yyss, yyssp);
\r
2960 /*-------------------------------------------------------------.
\r
2961 | yyerrlab1 -- common code for both syntax error and YYERROR. |
\r
2962 `-------------------------------------------------------------*/
\r
2964 yyerrstatus = 3; /* Each real token shifted decrements this. */
\r
2968 yyn = yypact[yystate];
\r
2969 if (yyn != YYPACT_NINF)
\r
2972 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
\r
2974 yyn = yytable[yyn];
\r
2980 /* Pop the current state because it cannot handle the error token. */
\r
2981 if (yyssp == yyss)
\r
2985 yydestruct ("Error: popping",
\r
2986 yystos[yystate], yyvsp);
\r
2989 YY_STACK_PRINT (yyss, yyssp);
\r
2992 if (yyn == YYFINAL)
\r
2995 *++yyvsp = yylval;
\r
2998 /* Shift the error token. */
\r
2999 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
\r
3005 /*-------------------------------------.
\r
3006 | yyacceptlab -- YYACCEPT comes here. |
\r
3007 `-------------------------------------*/
\r
3012 /*-----------------------------------.
\r
3013 | yyabortlab -- YYABORT comes here. |
\r
3014 `-----------------------------------*/
\r
3019 #ifndef yyoverflow
\r
3020 /*-------------------------------------------------.
\r
3021 | yyexhaustedlab -- memory exhaustion comes here. |
\r
3022 `-------------------------------------------------*/
\r
3024 yyerror (YY_("memory exhausted"));
\r
3026 /* Fall through. */
\r
3030 if (yychar != YYEOF && yychar != YYEMPTY)
\r
3031 yydestruct ("Cleanup: discarding lookahead",
\r
3032 yytoken, &yylval);
\r
3033 /* Do not reclaim the symbols of the rule which action triggered
\r
3034 this YYABORT or YYACCEPT. */
\r
3035 YYPOPSTACK (yylen);
\r
3036 YY_STACK_PRINT (yyss, yyssp);
\r
3037 while (yyssp != yyss)
\r
3039 yydestruct ("Cleanup: popping",
\r
3040 yystos[*yyssp], yyvsp);
\r
3043 #ifndef yyoverflow
\r
3044 if (yyss != yyssa)
\r
3045 YYSTACK_FREE (yyss);
\r
3047 #if YYERROR_VERBOSE
\r
3048 if (yymsg != yymsgbuf)
\r
3049 YYSTACK_FREE (yymsg);
\r
3051 /* Make sure YYID is used. */
\r
3052 return YYID (yyresult);
\r