Added quantiling UDAFs
[com/gs-lite.git] / src / ftacmp / fta.tab.cc
1 /* A Bison parser, made by GNU Bison 2.3.  */\r
2 \r
3 /* Skeleton implementation for Bison's Yacc-like parsers in C\r
4 \r
5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006\r
6    Free Software Foundation, Inc.\r
7 \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
11    any later version.\r
12 \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
17 \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
22 \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
32 \r
33    This special exception was added by the Free Software Foundation in\r
34    version 2.2 of Bison.  */\r
35 \r
36 /* C LALR(1) parser skeleton written by Richard Stallman, by\r
37    simplifying the original so-called "semantic" parser.  */\r
38 \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
45 \r
46 /* Identify Bison output.  */\r
47 #define YYBISON 1\r
48 \r
49 /* Bison version.  */\r
50 #define YYBISON_VERSION "2.3"\r
51 \r
52 /* Skeleton name.  */\r
53 #define YYSKELETON_NAME "yacc.c"\r
54 \r
55 /* Pure parsers.  */\r
56 #define YYPURE 0\r
57 \r
58 /* Using locations.  */\r
59 #define YYLSP_NEEDED 0\r
60 \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
69 \r
70 \r
71 /* Tokens.  */\r
72 #ifndef YYTOKENTYPE\r
73 # define YYTOKENTYPE\r
74    /* Put the tokens into the symbol table, so that GDB and other debuggers\r
75       know about them.  */\r
76    enum yytokentype {\r
77      NAME = 258,\r
78      STRING_TOKEN = 259,\r
79      INTNUM = 260,\r
80      LONGINTNUM = 261,\r
81      APPROXNUM = 262,\r
82      OR = 263,\r
83      AND = 264,\r
84      NOT = 265,\r
85      COMPARISON = 266,\r
86      SHIFT_OP = 267,\r
87      UMINUS = 268,\r
88      SEMICOLON = 269,\r
89      LEFTBRACE = 270,\r
90      RIGHTBRACE = 271,\r
91      BY = 272,\r
92      AS = 273,\r
93      AGGR = 274,\r
94      FROM = 275,\r
95      INNER_JOIN = 276,\r
96      FILTER_JOIN = 277,\r
97      OUTER_JOIN = 278,\r
98      LEFT_OUTER_JOIN = 279,\r
99      RIGHT_OUTER_JOIN = 280,\r
100      GROUP = 281,\r
101      HAVING = 282,\r
102      IN = 283,\r
103      SELECT = 284,\r
104      WHERE = 285,\r
105      SUPERGROUP = 286,\r
106      CLEANING_WHEN = 287,\r
107      CLEANING_BY = 288,\r
108      CLOSING_WHEN = 289,\r
109      SUCH = 290,\r
110      THAT = 291,\r
111      CUBE = 292,\r
112      ROLLUP = 293,\r
113      GROUPING_SETS = 294,\r
114      TRUE_V = 295,\r
115      FALSE_V = 296,\r
116      TIMEVAL_L = 297,\r
117      HEX_L = 298,\r
118      LHEX_L = 299,\r
119      IP_L = 300,\r
120      IPV6_L = 301,\r
121      MERGE = 302,\r
122      SLACK = 303,\r
123      DEFINE_SEC = 304,\r
124      PARAM_SEC = 305,\r
125      PROTOCOL = 306,\r
126      TABLE = 307,\r
127      STREAM = 308,\r
128      FTA = 309,\r
129      UNPACK_FCNS = 310,\r
130      OPERATOR = 311,\r
131      OPERATOR_VIEW = 312,\r
132      FIELDS = 313,\r
133      SUBQUERIES = 314,\r
134      SELECTION_PUSHDOWN = 315\r
135    };\r
136 #endif\r
137 /* Tokens.  */\r
138 #define NAME 258\r
139 #define STRING_TOKEN 259\r
140 #define INTNUM 260\r
141 #define LONGINTNUM 261\r
142 #define APPROXNUM 262\r
143 #define OR 263\r
144 #define AND 264\r
145 #define NOT 265\r
146 #define COMPARISON 266\r
147 #define SHIFT_OP 267\r
148 #define UMINUS 268\r
149 #define SEMICOLON 269\r
150 #define LEFTBRACE 270\r
151 #define RIGHTBRACE 271\r
152 #define BY 272\r
153 #define AS 273\r
154 #define AGGR 274\r
155 #define FROM 275\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
161 #define GROUP 281\r
162 #define HAVING 282\r
163 #define IN 283\r
164 #define SELECT 284\r
165 #define WHERE 285\r
166 #define SUPERGROUP 286\r
167 #define CLEANING_WHEN 287\r
168 #define CLEANING_BY 288\r
169 #define CLOSING_WHEN 289\r
170 #define SUCH 290\r
171 #define THAT 291\r
172 #define CUBE 292\r
173 #define ROLLUP 293\r
174 #define GROUPING_SETS 294\r
175 #define TRUE_V 295\r
176 #define FALSE_V 296\r
177 #define TIMEVAL_L 297\r
178 #define HEX_L 298\r
179 #define LHEX_L 299\r
180 #define IP_L 300\r
181 #define IPV6_L 301\r
182 #define MERGE 302\r
183 #define SLACK 303\r
184 #define DEFINE_SEC 304\r
185 #define PARAM_SEC 305\r
186 #define PROTOCOL 306\r
187 #define TABLE 307\r
188 #define STREAM 308\r
189 #define FTA 309\r
190 #define UNPACK_FCNS 310\r
191 #define OPERATOR 311\r
192 #define OPERATOR_VIEW 312\r
193 #define FIELDS 313\r
194 #define SUBQUERIES 314\r
195 #define SELECTION_PUSHDOWN 315\r
196 \r
197 \r
198 \r
199 \r
200 /* Copy the first part of user declarations.  */\r
201 #line 8 "fta.y"\r
202 \r
203 \r
204 \r
205 #include <stdio.h>\r
206 \r
207 /*              Some addn'l includes, necessary but not included by the\r
208                 bison generated code.\r
209 */\r
210 \r
211 #include <stdlib.h>\r
212 \r
213 /*              prototypes for the parser callbacks.\r
214 */\r
215 \r
216 #include "parse_fta.h"\r
217 #include "parse_schema.h"\r
218 \r
219 \r
220 extern fta_parse_t *fta_parse_result;\r
221 extern var_defs_t *fta_parse_defines;\r
222 \r
223 \r
224 #define YYDEBUG 1\r
225 \r
226 \r
227 \r
228 /* Enabling traces.  */\r
229 #ifndef YYDEBUG\r
230 # define YYDEBUG 0\r
231 #endif\r
232 \r
233 /* Enabling verbose error messages.  */\r
234 #ifdef YYERROR_VERBOSE\r
235 # undef YYERROR_VERBOSE\r
236 # define YYERROR_VERBOSE 1\r
237 #else\r
238 # define YYERROR_VERBOSE 0\r
239 #endif\r
240 \r
241 /* Enabling the token table.  */\r
242 #ifndef YYTOKEN_TABLE\r
243 # define YYTOKEN_TABLE 0\r
244 #endif\r
245 \r
246 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED\r
247 typedef union YYSTYPE\r
248 #line 37 "fta.y"\r
249 {\r
250         int intval;\r
251         double floatval;\r
252         char *strval;\r
253         int subtok;\r
254 \r
255         string_t *stringval;\r
256 \r
257 /*                      for FTA definition.     */\r
258         literal_t *litval;\r
259         scalarexp_t *scalarval;\r
260         se_list_t *se_listval;\r
261         select_list_t *select_listval;\r
262         table_exp_t *tblp;\r
263         predicate_t *predp;\r
264         literal_list_t *lit_l;\r
265         tablevar_t *table;\r
266         tablevar_list_t *tbl_list;\r
267         colref_t *colref;\r
268         ifpref_t *ifpref;\r
269         colref_list_t *clist;\r
270         var_defs_t *var_defs;\r
271         var_pair_t *var_pair;\r
272         gb_t *gb_val;\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
277 \r
278         query_list_t *q_list;\r
279 \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
289         unpack_fcn      *ufcn;\r
290         unpack_fcn_list *ufcnl;\r
291 \r
292 }\r
293 /* Line 193 of yacc.c.  */\r
294 #line 295 "fta.tab.cc"\r
295         YYSTYPE;\r
296 # define yystype YYSTYPE /* obsolescent; will be withdrawn */\r
297 # define YYSTYPE_IS_DECLARED 1\r
298 # define YYSTYPE_IS_TRIVIAL 1\r
299 #endif\r
300 \r
301 \r
302 \r
303 /* Copy the second part of user declarations.  */\r
304 \r
305 \r
306 /* Line 216 of yacc.c.  */\r
307 #line 308 "fta.tab.cc"\r
308 \r
309 #ifdef short\r
310 # undef short\r
311 #endif\r
312 \r
313 #ifdef YYTYPE_UINT8\r
314 typedef YYTYPE_UINT8 yytype_uint8;\r
315 #else\r
316 typedef unsigned char yytype_uint8;\r
317 #endif\r
318 \r
319 #ifdef YYTYPE_INT8\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
324 #else\r
325 typedef short int yytype_int8;\r
326 #endif\r
327 \r
328 #ifdef YYTYPE_UINT16\r
329 typedef YYTYPE_UINT16 yytype_uint16;\r
330 #else\r
331 typedef unsigned short int yytype_uint16;\r
332 #endif\r
333 \r
334 #ifdef YYTYPE_INT16\r
335 typedef YYTYPE_INT16 yytype_int16;\r
336 #else\r
337 typedef short int yytype_int16;\r
338 #endif\r
339 \r
340 #ifndef YYSIZE_T\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
349 # else\r
350 #  define YYSIZE_T unsigned int\r
351 # endif\r
352 #endif\r
353 \r
354 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)\r
355 \r
356 #ifndef YY_\r
357 # if YYENABLE_NLS\r
358 #  if ENABLE_NLS\r
359 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */\r
360 #   define YY_(msgid) dgettext ("bison-runtime", msgid)\r
361 #  endif\r
362 # endif\r
363 # ifndef YY_\r
364 #  define YY_(msgid) msgid\r
365 # endif\r
366 #endif\r
367 \r
368 /* Suppress unused-variable warnings by "using" E.  */\r
369 #if ! defined lint || defined __GNUC__\r
370 # define YYUSE(e) ((void) (e))\r
371 #else\r
372 # define YYUSE(e) /* empty */\r
373 #endif\r
374 \r
375 /* Identity function, used to suppress warnings about constant conditions.  */\r
376 #ifndef lint\r
377 # define YYID(n) (n)\r
378 #else\r
379 #if (defined __STDC__ || defined __C99__FUNC__ \\r
380      || defined __cplusplus || defined _MSC_VER)\r
381 static int\r
382 YYID (int i)\r
383 #else\r
384 static int\r
385 YYID (i)\r
386     int i;\r
387 #endif\r
388 {\r
389   return i;\r
390 }\r
391 #endif\r
392 \r
393 #if ! defined yyoverflow || YYERROR_VERBOSE\r
394 \r
395 /* The parser invokes alloca or malloc; define the necessary symbols.  */\r
396 \r
397 # ifdef YYSTACK_USE_ALLOCA\r
398 #  if YYSTACK_USE_ALLOCA\r
399 #   ifdef __GNUC__\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
408 #   else\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
413 #     ifndef _STDLIB_H\r
414 #      define _STDLIB_H 1\r
415 #     endif\r
416 #    endif\r
417 #   endif\r
418 #  endif\r
419 # endif\r
420 \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
430 #  endif\r
431 # else\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
436 #  endif\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
441 #   ifndef _STDLIB_H\r
442 #    define _STDLIB_H 1\r
443 #   endif\r
444 #  endif\r
445 #  ifndef YYMALLOC\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
450 #   endif\r
451 #  endif\r
452 #  ifndef YYFREE\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
457 #   endif\r
458 #  endif\r
459 # endif\r
460 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */\r
461 \r
462 \r
463 #if (! defined yyoverflow \\r
464      && (! defined __cplusplus \\r
465          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))\r
466 \r
467 /* A type that is properly aligned for any stack member.  */\r
468 union yyalloc\r
469 {\r
470   yytype_int16 yyss;\r
471   YYSTYPE yyvs;\r
472   };\r
473 \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
476 \r
477 /* The size of an array large to enough to hold all stacks, each with\r
478    N elements.  */\r
479 # define YYSTACK_BYTES(N) \\r
480      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \\r
481       + YYSTACK_GAP_MAXIMUM)\r
482 \r
483 /* Copy COUNT objects from FROM to TO.  The source and destination do\r
484    not overlap.  */\r
485 # ifndef YYCOPY\r
486 #  if defined __GNUC__ && 1 < __GNUC__\r
487 #   define YYCOPY(To, From, Count) \\r
488       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))\r
489 #  else\r
490 #   define YYCOPY(To, From, Count)              \\r
491       do                                        \\r
492         {                                       \\r
493           YYSIZE_T yyi;                         \\r
494           for (yyi = 0; yyi < (Count); yyi++)   \\r
495             (To)[yyi] = (From)[yyi];            \\r
496         }                                       \\r
497       while (YYID (0))\r
498 #  endif\r
499 # endif\r
500 \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
505    stack.  */\r
506 # define YYSTACK_RELOCATE(Stack)                                        \\r
507     do                                                                  \\r
508       {                                                                 \\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
514       }                                                                 \\r
515     while (YYID (0))\r
516 \r
517 #endif\r
518 \r
519 /* YYFINAL -- State number of the termination state.  */\r
520 #define YYFINAL  57\r
521 /* YYLAST -- Last index in YYTABLE.  */\r
522 #define YYLAST   708\r
523 \r
524 /* YYNTOKENS -- Number of terminals.  */\r
525 #define YYNTOKENS  80\r
526 /* YYNNTS -- Number of nonterminals.  */\r
527 #define YYNNTS  59\r
528 /* YYNRULES -- Number of rules.  */\r
529 #define YYNRULES  176\r
530 /* YYNRULES -- Number of states.  */\r
531 #define YYNSTATES  377\r
532 \r
533 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */\r
534 #define YYUNDEFTOK  2\r
535 #define YYMAXUTOK   315\r
536 \r
537 #define YYTRANSLATE(YYX)                                                \\r
538   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)\r
539 \r
540 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */\r
541 static const yytype_uint8 yytranslate[] =\r
542 {\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
575 };\r
576 \r
577 #if YYDEBUG\r
578 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in\r
579    YYRHS.  */\r
580 static const yytype_uint16 yyprhs[] =\r
581 {\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
600 };\r
601 \r
602 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */\r
603 static const yytype_int16 yyrhs[] =\r
604 {\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
669 };\r
670 \r
671 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */\r
672 static const yytype_uint16 yyrline[] =\r
673 {\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
692 };\r
693 #endif\r
694 \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
699 {\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
728 };\r
729 #endif\r
730 \r
731 # ifdef YYPRINT\r
732 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to\r
733    token YYLEX-NUM.  */\r
734 static const yytype_uint16 yytoknum[] =\r
735 {\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
744 };\r
745 # endif\r
746 \r
747 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */\r
748 static const yytype_uint8 yyr1[] =\r
749 {\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
768 };\r
769 \r
770 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */\r
771 static const yytype_uint8 yyr2[] =\r
772 {\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
791 };\r
792 \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
797 {\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
836 };\r
837 \r
838 /* YYDEFGOTO[NTERM-NUM].  */\r
839 static const yytype_int16 yydefgoto[] =\r
840 {\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
847 };\r
848 \r
849 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing\r
850    STATE-NUM.  */\r
851 #define YYPACT_NINF -247\r
852 static const yytype_int16 yypact[] =\r
853 {\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
892 };\r
893 \r
894 /* YYPGOTO[NTERM-NUM].  */\r
895 static const yytype_int16 yypgoto[] =\r
896 {\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
903 };\r
904 \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
911 {\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
983 };\r
984 \r
985 static const yytype_int16 yycheck[] =\r
986 {\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
1058 };\r
1059 \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
1063 {\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
1102 };\r
1103 \r
1104 #define yyerrok         (yyerrstatus = 0)\r
1105 #define yyclearin       (yychar = YYEMPTY)\r
1106 #define YYEMPTY         (-2)\r
1107 #define YYEOF           0\r
1108 \r
1109 #define YYACCEPT        goto yyacceptlab\r
1110 #define YYABORT         goto yyabortlab\r
1111 #define YYERROR         goto yyerrorlab\r
1112 \r
1113 \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
1117 \r
1118 #define YYFAIL          goto yyerrlab\r
1119 \r
1120 #define YYRECOVERING()  (!!yyerrstatus)\r
1121 \r
1122 #define YYBACKUP(Token, Value)                                  \\r
1123 do                                                              \\r
1124   if (yychar == YYEMPTY && yylen == 1)                          \\r
1125     {                                                           \\r
1126       yychar = (Token);                                         \\r
1127       yylval = (Value);                                         \\r
1128       yytoken = YYTRANSLATE (yychar);                           \\r
1129       YYPOPSTACK (1);                                           \\r
1130       goto yybackup;                                            \\r
1131     }                                                           \\r
1132   else                                                          \\r
1133     {                                                           \\r
1134       yyerror (YY_("syntax error: cannot back up")); \\r
1135       YYERROR;                                                  \\r
1136     }                                                           \\r
1137 while (YYID (0))\r
1138 \r
1139 \r
1140 #define YYTERROR        1\r
1141 #define YYERRCODE       256\r
1142 \r
1143 \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
1147 \r
1148 #define YYRHSLOC(Rhs, K) ((Rhs)[K])\r
1149 #ifndef YYLLOC_DEFAULT\r
1150 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \\r
1151     do                                                                  \\r
1152       if (YYID (N))                                                    \\r
1153         {                                                               \\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
1158         }                                                               \\r
1159       else                                                              \\r
1160         {                                                               \\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
1165         }                                                               \\r
1166     while (YYID (0))\r
1167 #endif\r
1168 \r
1169 \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
1173 \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
1180 # else\r
1181 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)\r
1182 # endif\r
1183 #endif\r
1184 \r
1185 \r
1186 /* YYLEX -- calling `yylex' with the right arguments.  */\r
1187 \r
1188 #ifdef YYLEX_PARAM\r
1189 # define YYLEX yylex (YYLEX_PARAM)\r
1190 #else\r
1191 # define YYLEX yylex ()\r
1192 #endif\r
1193 \r
1194 /* Enable debugging if requested.  */\r
1195 #if YYDEBUG\r
1196 \r
1197 # ifndef YYFPRINTF\r
1198 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */\r
1199 #  define YYFPRINTF fprintf\r
1200 # endif\r
1201 \r
1202 # define YYDPRINTF(Args)                        \\r
1203 do {                                            \\r
1204   if (yydebug)                                  \\r
1205     YYFPRINTF Args;                             \\r
1206 } while (YYID (0))\r
1207 \r
1208 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \\r
1209 do {                                                                      \\r
1210   if (yydebug)                                                            \\r
1211     {                                                                     \\r
1212       YYFPRINTF (stderr, "%s ", Title);                                   \\r
1213       yy_symbol_print (stderr,                                            \\r
1214                   Type, Value); \\r
1215       YYFPRINTF (stderr, "\n");                                           \\r
1216     }                                                                     \\r
1217 } while (YYID (0))\r
1218 \r
1219 \r
1220 /*--------------------------------.\r
1221 | Print this symbol on YYOUTPUT.  |\r
1222 `--------------------------------*/\r
1223 \r
1224 /*ARGSUSED*/\r
1225 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1226      || defined __cplusplus || defined _MSC_VER)\r
1227 static void\r
1228 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)\r
1229 #else\r
1230 static void\r
1231 yy_symbol_value_print (yyoutput, yytype, yyvaluep)\r
1232     FILE *yyoutput;\r
1233     int yytype;\r
1234     YYSTYPE const * const yyvaluep;\r
1235 #endif\r
1236 {\r
1237   if (!yyvaluep)\r
1238     return;\r
1239 # ifdef YYPRINT\r
1240   if (yytype < YYNTOKENS)\r
1241     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);\r
1242 # else\r
1243   YYUSE (yyoutput);\r
1244 # endif\r
1245   switch (yytype)\r
1246     {\r
1247       default:\r
1248         break;\r
1249     }\r
1250 }\r
1251 \r
1252 \r
1253 /*--------------------------------.\r
1254 | Print this symbol on YYOUTPUT.  |\r
1255 `--------------------------------*/\r
1256 \r
1257 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1258      || defined __cplusplus || defined _MSC_VER)\r
1259 static void\r
1260 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)\r
1261 #else\r
1262 static void\r
1263 yy_symbol_print (yyoutput, yytype, yyvaluep)\r
1264     FILE *yyoutput;\r
1265     int yytype;\r
1266     YYSTYPE const * const yyvaluep;\r
1267 #endif\r
1268 {\r
1269   if (yytype < YYNTOKENS)\r
1270     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);\r
1271   else\r
1272     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);\r
1273 \r
1274   yy_symbol_value_print (yyoutput, yytype, yyvaluep);\r
1275   YYFPRINTF (yyoutput, ")");\r
1276 }\r
1277 \r
1278 /*------------------------------------------------------------------.\r
1279 | yy_stack_print -- Print the state stack from its BOTTOM up to its |\r
1280 | TOP (included).                                                   |\r
1281 `------------------------------------------------------------------*/\r
1282 \r
1283 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1284      || defined __cplusplus || defined _MSC_VER)\r
1285 static void\r
1286 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)\r
1287 #else\r
1288 static void\r
1289 yy_stack_print (bottom, top)\r
1290     yytype_int16 *bottom;\r
1291     yytype_int16 *top;\r
1292 #endif\r
1293 {\r
1294   YYFPRINTF (stderr, "Stack now");\r
1295   for (; bottom <= top; ++bottom)\r
1296     YYFPRINTF (stderr, " %d", *bottom);\r
1297   YYFPRINTF (stderr, "\n");\r
1298 }\r
1299 \r
1300 # define YY_STACK_PRINT(Bottom, Top)                            \\r
1301 do {                                                            \\r
1302   if (yydebug)                                                  \\r
1303     yy_stack_print ((Bottom), (Top));                           \\r
1304 } while (YYID (0))\r
1305 \r
1306 \r
1307 /*------------------------------------------------.\r
1308 | Report that the YYRULE is going to be reduced.  |\r
1309 `------------------------------------------------*/\r
1310 \r
1311 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1312      || defined __cplusplus || defined _MSC_VER)\r
1313 static void\r
1314 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)\r
1315 #else\r
1316 static void\r
1317 yy_reduce_print (yyvsp, yyrule)\r
1318     YYSTYPE *yyvsp;\r
1319     int yyrule;\r
1320 #endif\r
1321 {\r
1322   int yynrhs = yyr2[yyrule];\r
1323   int yyi;\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
1329     {\r
1330       fprintf (stderr, "   $%d = ", yyi + 1);\r
1331       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],\r
1332                        &(yyvsp[(yyi + 1) - (yynrhs)])\r
1333                                        );\r
1334       fprintf (stderr, "\n");\r
1335     }\r
1336 }\r
1337 \r
1338 # define YY_REDUCE_PRINT(Rule)          \\r
1339 do {                                    \\r
1340   if (yydebug)                          \\r
1341     yy_reduce_print (yyvsp, Rule); \\r
1342 } while (YYID (0))\r
1343 \r
1344 /* Nonzero means print parse trace.  It is left uninitialized so that\r
1345    multiple parsers can coexist.  */\r
1346 int yydebug;\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
1353 \r
1354 \r
1355 /* YYINITDEPTH -- initial size of the parser's stacks.  */\r
1356 #ifndef YYINITDEPTH\r
1357 # define YYINITDEPTH 200\r
1358 #endif\r
1359 \r
1360 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only\r
1361    if the built-in stack extension method is used).\r
1362 \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
1366 \r
1367 #ifndef YYMAXDEPTH\r
1368 # define YYMAXDEPTH 10000\r
1369 #endif\r
1370 \r
1371 \f\r
1372 \r
1373 #if YYERROR_VERBOSE\r
1374 \r
1375 # ifndef yystrlen\r
1376 #  if defined __GLIBC__ && defined _STRING_H\r
1377 #   define yystrlen strlen\r
1378 #  else\r
1379 /* Return the length of YYSTR.  */\r
1380 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1381      || defined __cplusplus || defined _MSC_VER)\r
1382 static YYSIZE_T\r
1383 yystrlen (const char *yystr)\r
1384 #else\r
1385 static YYSIZE_T\r
1386 yystrlen (yystr)\r
1387     const char *yystr;\r
1388 #endif\r
1389 {\r
1390   YYSIZE_T yylen;\r
1391   for (yylen = 0; yystr[yylen]; yylen++)\r
1392     continue;\r
1393   return yylen;\r
1394 }\r
1395 #  endif\r
1396 # endif\r
1397 \r
1398 # ifndef yystpcpy\r
1399 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE\r
1400 #   define yystpcpy stpcpy\r
1401 #  else\r
1402 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in\r
1403    YYDEST.  */\r
1404 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1405      || defined __cplusplus || defined _MSC_VER)\r
1406 static char *\r
1407 yystpcpy (char *yydest, const char *yysrc)\r
1408 #else\r
1409 static char *\r
1410 yystpcpy (yydest, yysrc)\r
1411     char *yydest;\r
1412     const char *yysrc;\r
1413 #endif\r
1414 {\r
1415   char *yyd = yydest;\r
1416   const char *yys = yysrc;\r
1417 \r
1418   while ((*yyd++ = *yys++) != '\0')\r
1419     continue;\r
1420 \r
1421   return yyd - 1;\r
1422 }\r
1423 #  endif\r
1424 # endif\r
1425 \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
1434 static YYSIZE_T\r
1435 yytnamerr (char *yyres, const char *yystr)\r
1436 {\r
1437   if (*yystr == '"')\r
1438     {\r
1439       YYSIZE_T yyn = 0;\r
1440       char const *yyp = yystr;\r
1441 \r
1442       for (;;)\r
1443         switch (*++yyp)\r
1444           {\r
1445           case '\'':\r
1446           case ',':\r
1447             goto do_not_strip_quotes;\r
1448 \r
1449           case '\\':\r
1450             if (*++yyp != '\\')\r
1451               goto do_not_strip_quotes;\r
1452             /* Fall through.  */\r
1453           default:\r
1454             if (yyres)\r
1455               yyres[yyn] = *yyp;\r
1456             yyn++;\r
1457             break;\r
1458 \r
1459           case '"':\r
1460             if (yyres)\r
1461               yyres[yyn] = '\0';\r
1462             return yyn;\r
1463           }\r
1464     do_not_strip_quotes: ;\r
1465     }\r
1466 \r
1467   if (! yyres)\r
1468     return yystrlen (yystr);\r
1469 \r
1470   return yystpcpy (yyres, yystr) - yyres;\r
1471 }\r
1472 # endif\r
1473 \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
1481 static YYSIZE_T\r
1482 yysyntax_error (char *yyresult, int yystate, int yychar)\r
1483 {\r
1484   int yyn = yypact[yystate];\r
1485 \r
1486   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))\r
1487     return 0;\r
1488   else\r
1489     {\r
1490       int yytype = YYTRANSLATE (yychar);\r
1491       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);\r
1492       YYSIZE_T yysize = yysize0;\r
1493       YYSIZE_T yysize1;\r
1494       int yysize_overflow = 0;\r
1495       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };\r
1496       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];\r
1497       int yyx;\r
1498 \r
1499 # if 0\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
1507 # endif\r
1508       char *yyfmt;\r
1509       char const *yyf;\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
1518 \r
1519       /* Start YYX at -YYN if negative to avoid negative indexes in\r
1520          YYCHECK.  */\r
1521       int yyxbegin = yyn < 0 ? -yyn : 0;\r
1522 \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
1526       int yycount = 1;\r
1527 \r
1528       yyarg[0] = yytname[yytype];\r
1529       yyfmt = yystpcpy (yyformat, yyunexpected);\r
1530 \r
1531       for (yyx = yyxbegin; yyx < yyxend; ++yyx)\r
1532         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)\r
1533           {\r
1534             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)\r
1535               {\r
1536                 yycount = 1;\r
1537                 yysize = yysize0;\r
1538                 yyformat[sizeof yyunexpected - 1] = '\0';\r
1539                 break;\r
1540               }\r
1541             yyarg[yycount++] = yytname[yyx];\r
1542             yysize1 = yysize + yytnamerr (0, yytname[yyx]);\r
1543             yysize_overflow |= (yysize1 < yysize);\r
1544             yysize = yysize1;\r
1545             yyfmt = yystpcpy (yyfmt, yyprefix);\r
1546             yyprefix = yyor;\r
1547           }\r
1548 \r
1549       yyf = YY_(yyformat);\r
1550       yysize1 = yysize + yystrlen (yyf);\r
1551       yysize_overflow |= (yysize1 < yysize);\r
1552       yysize = yysize1;\r
1553 \r
1554       if (yysize_overflow)\r
1555         return YYSIZE_MAXIMUM;\r
1556 \r
1557       if (yyresult)\r
1558         {\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
1563           int yyi = 0;\r
1564           while ((*yyp = *yyf) != '\0')\r
1565             {\r
1566               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)\r
1567                 {\r
1568                   yyp += yytnamerr (yyp, yyarg[yyi++]);\r
1569                   yyf += 2;\r
1570                 }\r
1571               else\r
1572                 {\r
1573                   yyp++;\r
1574                   yyf++;\r
1575                 }\r
1576             }\r
1577         }\r
1578       return yysize;\r
1579     }\r
1580 }\r
1581 #endif /* YYERROR_VERBOSE */\r
1582 \f\r
1583 \r
1584 /*-----------------------------------------------.\r
1585 | Release the memory associated to this symbol.  |\r
1586 `-----------------------------------------------*/\r
1587 \r
1588 /*ARGSUSED*/\r
1589 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1590      || defined __cplusplus || defined _MSC_VER)\r
1591 static void\r
1592 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)\r
1593 #else\r
1594 static void\r
1595 yydestruct (yymsg, yytype, yyvaluep)\r
1596     const char *yymsg;\r
1597     int yytype;\r
1598     YYSTYPE *yyvaluep;\r
1599 #endif\r
1600 {\r
1601   YYUSE (yyvaluep);\r
1602 \r
1603   if (!yymsg)\r
1604     yymsg = "Deleting";\r
1605   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);\r
1606 \r
1607   switch (yytype)\r
1608     {\r
1609 \r
1610       default:\r
1611         break;\r
1612     }\r
1613 }\r
1614 \f\r
1615 \r
1616 /* Prevent warnings from -Wmissing-prototypes.  */\r
1617 \r
1618 #ifdef YYPARSE_PARAM\r
1619 #if defined __STDC__ || defined __cplusplus\r
1620 int yyparse (void *YYPARSE_PARAM);\r
1621 #else\r
1622 int yyparse ();\r
1623 #endif\r
1624 #else /* ! YYPARSE_PARAM */\r
1625 #if defined __STDC__ || defined __cplusplus\r
1626 int yyparse (void);\r
1627 #else\r
1628 int yyparse ();\r
1629 #endif\r
1630 #endif /* ! YYPARSE_PARAM */\r
1631 \r
1632 \r
1633 \r
1634 /* The look-ahead symbol.  */\r
1635 int yychar;\r
1636 \r
1637 /* The semantic value of the look-ahead symbol.  */\r
1638 YYSTYPE yylval;\r
1639 \r
1640 /* Number of syntax errors so far.  */\r
1641 int yynerrs;\r
1642 \r
1643 \r
1644 \r
1645 /*----------.\r
1646 | yyparse.  |\r
1647 `----------*/\r
1648 \r
1649 #ifdef YYPARSE_PARAM\r
1650 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1651      || defined __cplusplus || defined _MSC_VER)\r
1652 int\r
1653 yyparse (void *YYPARSE_PARAM)\r
1654 #else\r
1655 int\r
1656 yyparse (YYPARSE_PARAM)\r
1657     void *YYPARSE_PARAM;\r
1658 #endif\r
1659 #else /* ! YYPARSE_PARAM */\r
1660 #if (defined __STDC__ || defined __C99__FUNC__ \\r
1661      || defined __cplusplus || defined _MSC_VER)\r
1662 int\r
1663 yyparse (void)\r
1664 #else\r
1665 int\r
1666 yyparse ()\r
1667 \r
1668 #endif\r
1669 #endif\r
1670 {\r
1671   \r
1672   int yystate;\r
1673   int yyn;\r
1674   int yyresult;\r
1675   /* Number of tokens to shift before error messages enabled.  */\r
1676   int yyerrstatus;\r
1677   /* Look-ahead token as an internal (translated) token number.  */\r
1678   int yytoken = 0;\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
1684 #endif\r
1685 \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
1690 \r
1691      Refer to the stacks thru separate pointers, to allow yyoverflow\r
1692      to reallocate them elsewhere.  */\r
1693 \r
1694   /* The state stack.  */\r
1695   yytype_int16 yyssa[YYINITDEPTH];\r
1696   yytype_int16 *yyss = yyssa;\r
1697   yytype_int16 *yyssp;\r
1698 \r
1699   /* The semantic value stack.  */\r
1700   YYSTYPE yyvsa[YYINITDEPTH];\r
1701   YYSTYPE *yyvs = yyvsa;\r
1702   YYSTYPE *yyvsp;\r
1703 \r
1704 \r
1705 \r
1706 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))\r
1707 \r
1708   YYSIZE_T yystacksize = YYINITDEPTH;\r
1709 \r
1710   /* The variables used to return semantic value and location from the\r
1711      action routines.  */\r
1712   YYSTYPE yyval;\r
1713 \r
1714 \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
1717   int yylen = 0;\r
1718 \r
1719   YYDPRINTF ((stderr, "Starting parse\n"));\r
1720 \r
1721   yystate = 0;\r
1722   yyerrstatus = 0;\r
1723   yynerrs = 0;\r
1724   yychar = YYEMPTY;             /* Cause a token to be read.  */\r
1725 \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
1730 \r
1731   yyssp = yyss;\r
1732   yyvsp = yyvs;\r
1733 \r
1734   goto yysetstate;\r
1735 \r
1736 /*------------------------------------------------------------.\r
1737 | yynewstate -- Push a new state, which is found in yystate.  |\r
1738 `------------------------------------------------------------*/\r
1739  yynewstate:\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
1742   yyssp++;\r
1743 \r
1744  yysetstate:\r
1745   *yyssp = yystate;\r
1746 \r
1747   if (yyss + yystacksize - 1 <= yyssp)\r
1748     {\r
1749       /* Get the current used size of the three stacks, in elements.  */\r
1750       YYSIZE_T yysize = yyssp - yyss + 1;\r
1751 \r
1752 #ifdef yyoverflow\r
1753       {\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
1756            memory.  */\r
1757         YYSTYPE *yyvs1 = yyvs;\r
1758         yytype_int16 *yyss1 = yyss;\r
1759 \r
1760 \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
1768 \r
1769                     &yystacksize);\r
1770 \r
1771         yyss = yyss1;\r
1772         yyvs = yyvs1;\r
1773       }\r
1774 #else /* no yyoverflow */\r
1775 # ifndef YYSTACK_RELOCATE\r
1776       goto yyexhaustedlab;\r
1777 # else\r
1778       /* Extend the stack our own way.  */\r
1779       if (YYMAXDEPTH <= yystacksize)\r
1780         goto yyexhaustedlab;\r
1781       yystacksize *= 2;\r
1782       if (YYMAXDEPTH < yystacksize)\r
1783         yystacksize = YYMAXDEPTH;\r
1784 \r
1785       {\r
1786         yytype_int16 *yyss1 = yyss;\r
1787         union yyalloc *yyptr =\r
1788           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));\r
1789         if (! yyptr)\r
1790           goto yyexhaustedlab;\r
1791         YYSTACK_RELOCATE (yyss);\r
1792         YYSTACK_RELOCATE (yyvs);\r
1793 \r
1794 #  undef YYSTACK_RELOCATE\r
1795         if (yyss1 != yyssa)\r
1796           YYSTACK_FREE (yyss1);\r
1797       }\r
1798 # endif\r
1799 #endif /* no yyoverflow */\r
1800 \r
1801       yyssp = yyss + yysize - 1;\r
1802       yyvsp = yyvs + yysize - 1;\r
1803 \r
1804 \r
1805       YYDPRINTF ((stderr, "Stack size increased to %lu\n",\r
1806                   (unsigned long int) yystacksize));\r
1807 \r
1808       if (yyss + yystacksize - 1 <= yyssp)\r
1809         YYABORT;\r
1810     }\r
1811 \r
1812   YYDPRINTF ((stderr, "Entering state %d\n", yystate));\r
1813 \r
1814   goto yybackup;\r
1815 \r
1816 /*-----------.\r
1817 | yybackup.  |\r
1818 `-----------*/\r
1819 yybackup:\r
1820 \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
1823 \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
1827     goto yydefault;\r
1828 \r
1829   /* Not known => get a look-ahead token if don't already have one.  */\r
1830 \r
1831   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */\r
1832   if (yychar == YYEMPTY)\r
1833     {\r
1834       YYDPRINTF ((stderr, "Reading a token: "));\r
1835       yychar = YYLEX;\r
1836     }\r
1837 \r
1838   if (yychar <= YYEOF)\r
1839     {\r
1840       yychar = yytoken = YYEOF;\r
1841       YYDPRINTF ((stderr, "Now at end of input.\n"));\r
1842     }\r
1843   else\r
1844     {\r
1845       yytoken = YYTRANSLATE (yychar);\r
1846       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);\r
1847     }\r
1848 \r
1849   /* If the proper action on seeing token YYTOKEN is to reduce or to\r
1850      detect an error, take that action.  */\r
1851   yyn += yytoken;\r
1852   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)\r
1853     goto yydefault;\r
1854   yyn = yytable[yyn];\r
1855   if (yyn <= 0)\r
1856     {\r
1857       if (yyn == 0 || yyn == YYTABLE_NINF)\r
1858         goto yyerrlab;\r
1859       yyn = -yyn;\r
1860       goto yyreduce;\r
1861     }\r
1862 \r
1863   if (yyn == YYFINAL)\r
1864     YYACCEPT;\r
1865 \r
1866   /* Count tokens shifted since error; after three, turn off error\r
1867      status.  */\r
1868   if (yyerrstatus)\r
1869     yyerrstatus--;\r
1870 \r
1871   /* Shift the look-ahead token.  */\r
1872   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);\r
1873 \r
1874   /* Discard the shifted token unless it is eof.  */\r
1875   if (yychar != YYEOF)\r
1876     yychar = YYEMPTY;\r
1877 \r
1878   yystate = yyn;\r
1879   *++yyvsp = yylval;\r
1880 \r
1881   goto yynewstate;\r
1882 \r
1883 \r
1884 /*-----------------------------------------------------------.\r
1885 | yydefault -- do the default action for the current state.  |\r
1886 `-----------------------------------------------------------*/\r
1887 yydefault:\r
1888   yyn = yydefact[yystate];\r
1889   if (yyn == 0)\r
1890     goto yyerrlab;\r
1891   goto yyreduce;\r
1892 \r
1893 \r
1894 /*-----------------------------.\r
1895 | yyreduce -- Do a reduction.  |\r
1896 `-----------------------------*/\r
1897 yyreduce:\r
1898   /* yyn is the number of a rule to reduce with.  */\r
1899   yylen = yyr2[yyn];\r
1900 \r
1901   /* If YYLEN is nonzero, implement the default value of the action:\r
1902      `$$ = $1'.\r
1903 \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
1910 \r
1911 \r
1912   YY_REDUCE_PRINT (yyn);\r
1913   switch (yyn)\r
1914     {\r
1915         case 2:\r
1916 #line 189 "fta.y"\r
1917     {\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
1921         ;}\r
1922     break;\r
1923 \r
1924   case 3:\r
1925 #line 194 "fta.y"\r
1926     {\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
1931         ;}\r
1932     break;\r
1933 \r
1934   case 4:\r
1935 #line 201 "fta.y"\r
1936     {\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
1941         ;}\r
1942     break;\r
1943 \r
1944   case 5:\r
1945 #line 215 "fta.y"\r
1946     {\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
1950                         ;}\r
1951     break;\r
1952 \r
1953   case 6:\r
1954 #line 220 "fta.y"\r
1955     {\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
1959                         ;}\r
1960     break;\r
1961 \r
1962   case 7:\r
1963 #line 225 "fta.y"\r
1964     {\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
1968                         ;}\r
1969     break;\r
1970 \r
1971   case 8:\r
1972 #line 230 "fta.y"\r
1973     {\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
1976                         ;}\r
1977     break;\r
1978 \r
1979   case 9:\r
1980 #line 234 "fta.y"\r
1981     {\r
1982                                 (yyval.tblp) = (yyvsp[(1) - (1)].tblp);\r
1983                         ;}\r
1984     break;\r
1985 \r
1986   case 10:\r
1987 #line 237 "fta.y"\r
1988     {\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
1992                         ;}\r
1993     break;\r
1994 \r
1995   case 11:\r
1996 #line 242 "fta.y"\r
1997     {\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
2001                         ;}\r
2002     break;\r
2003 \r
2004   case 12:\r
2005 #line 247 "fta.y"\r
2006     {\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
2009                         ;}\r
2010     break;\r
2011 \r
2012   case 13:\r
2013 #line 251 "fta.y"\r
2014     {\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
2017                         ;}\r
2018     break;\r
2019 \r
2020   case 14:\r
2021 #line 255 "fta.y"\r
2022     {\r
2023                                 (yyval.tblp) = (yyvsp[(1) - (1)].tblp);\r
2024                         ;}\r
2025     break;\r
2026 \r
2027   case 15:\r
2028 #line 260 "fta.y"\r
2029     {(yyval.q_list) = new query_list_t((yyvsp[(1) - (1)].tblp));;}\r
2030     break;\r
2031 \r
2032   case 16:\r
2033 #line 261 "fta.y"\r
2034     {(yyval.q_list) = (yyvsp[(1) - (3)].q_list)->append((yyvsp[(3) - (3)].tblp));;}\r
2035     break;\r
2036 \r
2037   case 17:\r
2038 #line 265 "fta.y"\r
2039     {(yyval.var_defs)=(yyvsp[(3) - (4)].var_defs);;}\r
2040     break;\r
2041 \r
2042   case 18:\r
2043 #line 266 "fta.y"\r
2044     {(yyval.var_defs)=NULL;;}\r
2045     break;\r
2046 \r
2047   case 19:\r
2048 #line 270 "fta.y"\r
2049     {(yyval.var_defs)=(yyvsp[(3) - (4)].var_defs);fta_parse_defines=(yyvsp[(3) - (4)].var_defs);;}\r
2050     break;\r
2051 \r
2052   case 20:\r
2053 #line 271 "fta.y"\r
2054     {(yyval.var_defs)=NULL;fta_parse_defines = NULL;;}\r
2055     break;\r
2056 \r
2057   case 21:\r
2058 #line 275 "fta.y"\r
2059     {(yyval.var_defs) = new var_defs_t((yyvsp[(1) - (1)].var_pair));;}\r
2060     break;\r
2061 \r
2062   case 22:\r
2063 #line 276 "fta.y"\r
2064     {(yyval.var_defs) = (yyvsp[(1) - (2)].var_defs)->add_var_pair((yyvsp[(2) - (2)].var_pair));;}\r
2065     break;\r
2066 \r
2067   case 23:\r
2068 #line 280 "fta.y"\r
2069     {(yyval.var_pair) = new var_pair_t((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval));;}\r
2070     break;\r
2071 \r
2072   case 24:\r
2073 #line 281 "fta.y"\r
2074     {(yyval.var_pair) = new var_pair_t((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval));;}\r
2075     break;\r
2076 \r
2077   case 25:\r
2078 #line 285 "fta.y"\r
2079     {(yyval.tblp) = (yyvsp[(3) - (3)].tblp)->add_selection((yyvsp[(2) - (3)].select_listval));;}\r
2080     break;\r
2081 \r
2082   case 26:\r
2083 #line 290 "fta.y"\r
2084     {(yyval.tblp) = new table_exp_t((yyvsp[(2) - (3)].clist),(yyvsp[(3) - (3)].tbl_list));;}\r
2085     break;\r
2086 \r
2087   case 27:\r
2088 #line 292 "fta.y"\r
2089     {(yyval.tblp) = new table_exp_t((yyvsp[(2) - (5)].clist),(yyvsp[(4) - (5)].scalarval),(yyvsp[(5) - (5)].tbl_list));;}\r
2090     break;\r
2091 \r
2092   case 28:\r
2093 #line 299 "fta.y"\r
2094     { (yyval.select_listval) = (yyvsp[(1) - (1)].select_listval);;}\r
2095     break;\r
2096 \r
2097   case 29:\r
2098 #line 311 "fta.y"\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
2100     break;\r
2101 \r
2102   case 30:\r
2103 #line 315 "fta.y"\r
2104     {(yyval.tbl_list) = (yyvsp[(2) - (2)].tbl_list); (yyval.tbl_list)->set_properties(-1);;}\r
2105     break;\r
2106 \r
2107   case 31:\r
2108 #line 316 "fta.y"\r
2109     {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(INNER_JOIN_PROPERTY);;}\r
2110     break;\r
2111 \r
2112   case 32:\r
2113 #line 317 "fta.y"\r
2114     {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(OUTER_JOIN_PROPERTY);;}\r
2115     break;\r
2116 \r
2117   case 33:\r
2118 #line 318 "fta.y"\r
2119     {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(RIGHT_OUTER_JOIN_PROPERTY);;}\r
2120     break;\r
2121 \r
2122   case 34:\r
2123 #line 319 "fta.y"\r
2124     {(yyval.tbl_list) = (yyvsp[(3) - (3)].tbl_list); (yyval.tbl_list)->set_properties(LEFT_OUTER_JOIN_PROPERTY);;}\r
2125     break;\r
2126 \r
2127   case 35:\r
2128 #line 320 "fta.y"\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
2130     break;\r
2131 \r
2132   case 36:\r
2133 #line 324 "fta.y"\r
2134     {(yyval.tbl_list) = new tablevar_list_t((yyvsp[(1) - (1)].table));;}\r
2135     break;\r
2136 \r
2137   case 37:\r
2138 #line 325 "fta.y"\r
2139     {(yyval.tbl_list)= (yyvsp[(1) - (3)].tbl_list)->append_table((yyvsp[(3) - (3)].table));;}\r
2140     break;\r
2141 \r
2142   case 38:\r
2143 #line 329 "fta.y"\r
2144     { (yyval.table) = (yyvsp[(1) - (1)].table);;}\r
2145     break;\r
2146 \r
2147   case 39:\r
2148 #line 330 "fta.y"\r
2149     { (yyval.table)= (yyvsp[(1) - (2)].table)->set_range_var((yyvsp[(2) - (2)].strval));;}\r
2150     break;\r
2151 \r
2152   case 40:\r
2153 #line 334 "fta.y"\r
2154     {(yyval.table) = new tablevar_t((yyvsp[(1) - (1)].stringval)->c_str());;}\r
2155     break;\r
2156 \r
2157   case 41:\r
2158 #line 335 "fta.y"\r
2159     {(yyval.table) = new tablevar_t((yyvsp[(1) - (3)].strval),(yyvsp[(3) - (3)].stringval)->c_str(),0);;}\r
2160     break;\r
2161 \r
2162   case 42:\r
2163 #line 336 "fta.y"\r
2164     {(yyval.table) = new tablevar_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].stringval)->c_str());;}\r
2165     break;\r
2166 \r
2167   case 43:\r
2168 #line 337 "fta.y"\r
2169     {(yyval.table) = new tablevar_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].stringval)->c_str());;}\r
2170     break;\r
2171 \r
2172   case 44:\r
2173 #line 338 "fta.y"\r
2174     {(yyval.table) = new tablevar_t((yyvsp[(2) - (5)].strval),(yyvsp[(5) - (5)].stringval)->c_str(),1);;}\r
2175     break;\r
2176 \r
2177   case 45:\r
2178 #line 342 "fta.y"\r
2179     {(yyval.stringval) = new string_t((yyvsp[(1) - (1)].strval));;}\r
2180     break;\r
2181 \r
2182   case 46:\r
2183 #line 343 "fta.y"\r
2184     {(yyval.stringval) = (yyval.stringval)->append("/",(yyvsp[(3) - (3)].strval));;}\r
2185     break;\r
2186 \r
2187   case 47:\r
2188 #line 348 "fta.y"\r
2189     {(yyval.predp)=NULL;;}\r
2190     break;\r
2191 \r
2192   case 48:\r
2193 #line 349 "fta.y"\r
2194     {(yyval.predp)=(yyvsp[(1) - (1)].predp);;}\r
2195     break;\r
2196 \r
2197   case 49:\r
2198 #line 353 "fta.y"\r
2199     {(yyval.predp) = (yyvsp[(2) - (2)].predp);;}\r
2200     break;\r
2201 \r
2202   case 50:\r
2203 #line 357 "fta.y"\r
2204     {(yyval.predp)=NULL;;}\r
2205     break;\r
2206 \r
2207   case 51:\r
2208 #line 358 "fta.y"\r
2209     {(yyval.predp)=(yyvsp[(2) - (2)].predp); ;}\r
2210     break;\r
2211 \r
2212   case 52:\r
2213 #line 362 "fta.y"\r
2214     {(yyval.predp)=NULL;;}\r
2215     break;\r
2216 \r
2217   case 53:\r
2218 #line 363 "fta.y"\r
2219     {(yyval.predp)=(yyvsp[(2) - (2)].predp); ;}\r
2220     break;\r
2221 \r
2222   case 54:\r
2223 #line 367 "fta.y"\r
2224     {(yyval.predp)=NULL;;}\r
2225     break;\r
2226 \r
2227   case 55:\r
2228 #line 368 "fta.y"\r
2229     {(yyval.predp)=(yyvsp[(2) - (2)].predp); ;}\r
2230     break;\r
2231 \r
2232   case 56:\r
2233 #line 372 "fta.y"\r
2234     {(yyval.predp)=NULL;;}\r
2235     break;\r
2236 \r
2237   case 57:\r
2238 #line 373 "fta.y"\r
2239     {(yyval.predp)=(yyvsp[(1) - (1)].predp);;}\r
2240     break;\r
2241 \r
2242   case 58:\r
2243 #line 377 "fta.y"\r
2244     {(yyval.predp) = (yyvsp[(2) - (2)].predp);;}\r
2245     break;\r
2246 \r
2247   case 59:\r
2248 #line 384 "fta.y"\r
2249     {(yyval.predp)=new predicate_t("OR",(yyvsp[(1) - (3)].predp),(yyvsp[(3) - (3)].predp));;}\r
2250     break;\r
2251 \r
2252   case 60:\r
2253 #line 385 "fta.y"\r
2254     {(yyval.predp)=new predicate_t("AND",(yyvsp[(1) - (3)].predp),(yyvsp[(3) - (3)].predp));;}\r
2255     break;\r
2256 \r
2257   case 61:\r
2258 #line 386 "fta.y"\r
2259     {(yyval.predp) = new predicate_t("NOT", (yyvsp[(2) - (2)].predp) );;}\r
2260     break;\r
2261 \r
2262   case 62:\r
2263 #line 387 "fta.y"\r
2264     {(yyval.predp) = (yyvsp[(2) - (3)].predp);;}\r
2265     break;\r
2266 \r
2267   case 63:\r
2268 #line 388 "fta.y"\r
2269     {(yyval.predp) = (yyvsp[(1) - (1)].predp);;}\r
2270     break;\r
2271 \r
2272   case 64:\r
2273 #line 392 "fta.y"\r
2274     { (yyval.predp)=(yyvsp[(1) - (1)].predp);;}\r
2275     break;\r
2276 \r
2277   case 65:\r
2278 #line 393 "fta.y"\r
2279     { (yyval.predp) = (yyvsp[(1) - (1)].predp);;}\r
2280     break;\r
2281 \r
2282   case 66:\r
2283 #line 394 "fta.y"\r
2284     {(yyval.predp) = predicate_t::make_paramless_fcn_predicate((yyvsp[(1) - (3)].strval)); ;}\r
2285     break;\r
2286 \r
2287   case 67:\r
2288 #line 395 "fta.y"\r
2289     {(yyval.predp) = new predicate_t((yyvsp[(1) - (4)].strval), (yyvsp[(3) - (4)].se_listval)->get_se_list()); ;}\r
2290     break;\r
2291 \r
2292   case 68:\r
2293 #line 399 "fta.y"\r
2294     {(yyval.predp) = new predicate_t((yyvsp[(1) - (3)].scalarval),(yyvsp[(2) - (3)].strval),(yyvsp[(3) - (3)].scalarval));;}\r
2295     break;\r
2296 \r
2297   case 69:\r
2298 #line 403 "fta.y"\r
2299     { (yyval.predp) = new predicate_t((yyvsp[(1) - (5)].scalarval),(yyvsp[(4) - (5)].lit_l)); ;}\r
2300     break;\r
2301 \r
2302   case 70:\r
2303 #line 407 "fta.y"\r
2304     {(yyval.lit_l) = new literal_list_t((yyvsp[(1) - (1)].litval));;}\r
2305     break;\r
2306 \r
2307   case 71:\r
2308 #line 408 "fta.y"\r
2309     {(yyval.lit_l) = (yyvsp[(1) - (3)].lit_l)->append_literal((yyvsp[(3) - (3)].litval));;}\r
2310     break;\r
2311 \r
2312   case 72:\r
2313 #line 414 "fta.y"\r
2314     { (yyval.scalarval)=new scalarexp_t("+",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2315     break;\r
2316 \r
2317   case 73:\r
2318 #line 415 "fta.y"\r
2319     { (yyval.scalarval)=new scalarexp_t("-",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2320     break;\r
2321 \r
2322   case 74:\r
2323 #line 416 "fta.y"\r
2324     { (yyval.scalarval)=new scalarexp_t("|",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2325     break;\r
2326 \r
2327   case 75:\r
2328 #line 417 "fta.y"\r
2329     { (yyval.scalarval)=new scalarexp_t("*",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2330     break;\r
2331 \r
2332   case 76:\r
2333 #line 418 "fta.y"\r
2334     { (yyval.scalarval)=new scalarexp_t("/",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2335     break;\r
2336 \r
2337   case 77:\r
2338 #line 419 "fta.y"\r
2339     { (yyval.scalarval)=new scalarexp_t("&",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2340     break;\r
2341 \r
2342   case 78:\r
2343 #line 420 "fta.y"\r
2344     { (yyval.scalarval)=new scalarexp_t("%",(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2345     break;\r
2346 \r
2347   case 79:\r
2348 #line 421 "fta.y"\r
2349     { (yyval.scalarval)=new scalarexp_t((yyvsp[(2) - (3)].strval),(yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].scalarval));;}\r
2350     break;\r
2351 \r
2352   case 80:\r
2353 #line 422 "fta.y"\r
2354     { (yyval.scalarval) = new scalarexp_t("+",(yyvsp[(2) - (2)].scalarval));;}\r
2355     break;\r
2356 \r
2357   case 81:\r
2358 #line 423 "fta.y"\r
2359     { (yyval.scalarval) = new scalarexp_t("-",(yyvsp[(2) - (2)].scalarval));;}\r
2360     break;\r
2361 \r
2362   case 82:\r
2363 #line 424 "fta.y"\r
2364     { (yyval.scalarval) = new scalarexp_t("!",(yyvsp[(2) - (2)].scalarval));;}\r
2365     break;\r
2366 \r
2367   case 83:\r
2368 #line 425 "fta.y"\r
2369     { (yyval.scalarval) = new scalarexp_t("~",(yyvsp[(2) - (2)].scalarval));;}\r
2370     break;\r
2371 \r
2372   case 84:\r
2373 #line 426 "fta.y"\r
2374     { (yyval.scalarval)= new scalarexp_t((yyvsp[(1) - (1)].litval));;}\r
2375     break;\r
2376 \r
2377   case 85:\r
2378 #line 427 "fta.y"\r
2379     {(yyval.scalarval) = scalarexp_t::make_param_reference((yyvsp[(2) - (2)].strval));;}\r
2380     break;\r
2381 \r
2382   case 86:\r
2383 #line 428 "fta.y"\r
2384     {(yyval.scalarval) = scalarexp_t::make_iface_param_reference((yyvsp[(1) - (1)].ifpref));;}\r
2385     break;\r
2386 \r
2387   case 87:\r
2388 #line 429 "fta.y"\r
2389     { (yyval.scalarval) = new scalarexp_t((yyvsp[(1) - (1)].colref));;}\r
2390     break;\r
2391 \r
2392   case 88:\r
2393 #line 430 "fta.y"\r
2394     {(yyval.scalarval) = (yyvsp[(2) - (3)].scalarval);;}\r
2395     break;\r
2396 \r
2397   case 89:\r
2398 #line 431 "fta.y"\r
2399     { (yyval.scalarval) = scalarexp_t::make_star_aggr((yyvsp[(1) - (4)].strval)); ;}\r
2400     break;\r
2401 \r
2402   case 90:\r
2403 #line 432 "fta.y"\r
2404     { (yyval.scalarval) = scalarexp_t::make_se_aggr((yyvsp[(1) - (4)].strval),(yyvsp[(3) - (4)].scalarval)); ;}\r
2405     break;\r
2406 \r
2407   case 91:\r
2408 #line 433 "fta.y"\r
2409     {(yyval.scalarval) = new scalarexp_t((yyvsp[(1) - (4)].strval), (yyvsp[(3) - (4)].se_listval)->get_se_list()); ;}\r
2410     break;\r
2411 \r
2412   case 92:\r
2413 #line 434 "fta.y"\r
2414     {(yyval.scalarval) = scalarexp_t::make_paramless_fcn((yyvsp[(1) - (3)].strval)); ;}\r
2415     break;\r
2416 \r
2417   case 93:\r
2418 #line 435 "fta.y"\r
2419     { (yyval.scalarval) = scalarexp_t::make_star_aggr((yyvsp[(1) - (5)].strval)); (yyval.scalarval)->set_superaggr(true); ;}\r
2420     break;\r
2421 \r
2422   case 94:\r
2423 #line 436 "fta.y"\r
2424     { (yyval.scalarval) = scalarexp_t::make_se_aggr((yyvsp[(1) - (5)].strval),(yyvsp[(4) - (5)].scalarval)); (yyval.scalarval)->set_superaggr(true); ;}\r
2425     break;\r
2426 \r
2427   case 95:\r
2428 #line 437 "fta.y"\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
2430     break;\r
2431 \r
2432   case 96:\r
2433 #line 438 "fta.y"\r
2434     {(yyval.scalarval) = scalarexp_t::make_paramless_fcn((yyvsp[(1) - (4)].strval)); (yyval.scalarval)->set_superaggr(true); ;}\r
2435     break;\r
2436 \r
2437   case 97:\r
2438 #line 443 "fta.y"\r
2439     {   (yyval.select_listval)= new select_list_t((yyvsp[(1) - (1)].scalarval)); ;}\r
2440     break;\r
2441 \r
2442   case 98:\r
2443 #line 444 "fta.y"\r
2444     {   (yyval.select_listval)= new select_list_t((yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].strval)); ;}\r
2445     break;\r
2446 \r
2447   case 99:\r
2448 #line 445 "fta.y"\r
2449     { (yyval.select_listval)=(yyvsp[(1) - (3)].select_listval)->append((yyvsp[(3) - (3)].scalarval)); ;}\r
2450     break;\r
2451 \r
2452   case 100:\r
2453 #line 446 "fta.y"\r
2454     { (yyval.select_listval)=(yyvsp[(1) - (5)].select_listval)->append((yyvsp[(3) - (5)].scalarval),(yyvsp[(5) - (5)].strval)); ;}\r
2455     break;\r
2456 \r
2457   case 101:\r
2458 #line 450 "fta.y"\r
2459     {   (yyval.se_listval)= new se_list_t((yyvsp[(1) - (1)].scalarval)); ;}\r
2460     break;\r
2461 \r
2462   case 102:\r
2463 #line 451 "fta.y"\r
2464     { (yyval.se_listval)=(yyvsp[(1) - (3)].se_listval)->append((yyvsp[(3) - (3)].scalarval)); ;}\r
2465     break;\r
2466 \r
2467   case 103:\r
2468 #line 455 "fta.y"\r
2469     {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_STRING);;}\r
2470     break;\r
2471 \r
2472   case 104:\r
2473 #line 456 "fta.y"\r
2474     {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_INT);;}\r
2475     break;\r
2476 \r
2477   case 105:\r
2478 #line 457 "fta.y"\r
2479     {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_LONGINT);;}\r
2480     break;\r
2481 \r
2482   case 106:\r
2483 #line 458 "fta.y"\r
2484     {(yyval.litval) = new literal_t((yyvsp[(1) - (1)].strval),LITERAL_FLOAT);;}\r
2485     break;\r
2486 \r
2487   case 107:\r
2488 #line 459 "fta.y"\r
2489     {(yyval.litval) = new literal_t("TRUE",LITERAL_BOOL);;}\r
2490     break;\r
2491 \r
2492   case 108:\r
2493 #line 460 "fta.y"\r
2494     {(yyval.litval) = new literal_t("FALSE",LITERAL_BOOL);;}\r
2495     break;\r
2496 \r
2497   case 109:\r
2498 #line 461 "fta.y"\r
2499     {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_TIMEVAL);;}\r
2500     break;\r
2501 \r
2502   case 110:\r
2503 #line 462 "fta.y"\r
2504     {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_HEX);;}\r
2505     break;\r
2506 \r
2507   case 111:\r
2508 #line 463 "fta.y"\r
2509     {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_LONGHEX);;}\r
2510     break;\r
2511 \r
2512   case 112:\r
2513 #line 464 "fta.y"\r
2514     {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_IP);;}\r
2515     break;\r
2516 \r
2517   case 113:\r
2518 #line 465 "fta.y"\r
2519     {(yyval.litval) = new literal_t((yyvsp[(2) - (2)].strval),LITERAL_IPV6);;}\r
2520     break;\r
2521 \r
2522   case 114:\r
2523 #line 466 "fta.y"\r
2524     {(yyval.litval) = literal_t::make_define_literal((yyvsp[(2) - (2)].strval),fta_parse_defines);;}\r
2525     break;\r
2526 \r
2527   case 115:\r
2528 #line 472 "fta.y"\r
2529     {(yyval.extended_gb_list) = NULL;;}\r
2530     break;\r
2531 \r
2532   case 116:\r
2533 #line 473 "fta.y"\r
2534     {(yyval.extended_gb_list) = (yyvsp[(3) - (3)].extended_gb_list);;}\r
2535     break;\r
2536 \r
2537   case 117:\r
2538 #line 477 "fta.y"\r
2539     {(yyval.clist) = NULL;;}\r
2540     break;\r
2541 \r
2542   case 118:\r
2543 #line 478 "fta.y"\r
2544     {(yyval.clist) = (yyvsp[(2) - (2)].clist);;}\r
2545     break;\r
2546 \r
2547   case 119:\r
2548 #line 482 "fta.y"\r
2549     { (yyval.list_of_gb_list) = new list_of_gb_list_t((yyvsp[(2) - (3)].gb_list));;}\r
2550     break;\r
2551 \r
2552   case 120:\r
2553 #line 483 "fta.y"\r
2554     {(yyval.list_of_gb_list) = (yyvsp[(1) - (5)].list_of_gb_list)->append((yyvsp[(4) - (5)].gb_list));;}\r
2555     break;\r
2556 \r
2557   case 121:\r
2558 #line 487 "fta.y"\r
2559     {(yyval.extended_gb) = extended_gb_t::create_from_gb((yyvsp[(1) - (1)].gb_val));;}\r
2560     break;\r
2561 \r
2562   case 122:\r
2563 #line 488 "fta.y"\r
2564     {(yyval.extended_gb) = extended_gb_t::extended_create_from_rollup((yyvsp[(3) - (4)].gb_list));;}\r
2565     break;\r
2566 \r
2567   case 123:\r
2568 #line 489 "fta.y"\r
2569     {(yyval.extended_gb) = extended_gb_t::extended_create_from_cube((yyvsp[(3) - (4)].gb_list));;}\r
2570     break;\r
2571 \r
2572   case 124:\r
2573 #line 490 "fta.y"\r
2574     {(yyval.extended_gb) = extended_gb_t::extended_create_from_gsets((yyvsp[(3) - (4)].list_of_gb_list));;}\r
2575     break;\r
2576 \r
2577   case 125:\r
2578 #line 494 "fta.y"\r
2579     { (yyval.extended_gb_list) = new extended_gb_list_t((yyvsp[(1) - (1)].extended_gb));;}\r
2580     break;\r
2581 \r
2582   case 126:\r
2583 #line 495 "fta.y"\r
2584     { (yyval.extended_gb_list)=(yyvsp[(1) - (3)].extended_gb_list)->append((yyvsp[(3) - (3)].extended_gb));;}\r
2585     break;\r
2586 \r
2587   case 127:\r
2588 #line 499 "fta.y"\r
2589     { (yyval.gb_list) = new gb_list_t((yyvsp[(1) - (1)].gb_val));;}\r
2590     break;\r
2591 \r
2592   case 128:\r
2593 #line 500 "fta.y"\r
2594     { (yyval.gb_list)=(yyvsp[(1) - (3)].gb_list)->append((yyvsp[(3) - (3)].gb_val));;}\r
2595     break;\r
2596 \r
2597   case 129:\r
2598 #line 504 "fta.y"\r
2599     {(yyval.gb_val) = new gb_t((yyvsp[(1) - (1)].strval)); ;}\r
2600     break;\r
2601 \r
2602   case 130:\r
2603 #line 505 "fta.y"\r
2604     {(yyval.gb_val) = new gb_t((yyvsp[(1) - (3)].strval),(yyvsp[(3) - (3)].strval)); ;}\r
2605     break;\r
2606 \r
2607   case 131:\r
2608 #line 506 "fta.y"\r
2609     {(yyval.gb_val) = new gb_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].strval)); ;}\r
2610     break;\r
2611 \r
2612   case 132:\r
2613 #line 507 "fta.y"\r
2614     {(yyval.gb_val) = new gb_t((yyvsp[(1) - (3)].scalarval),(yyvsp[(3) - (3)].strval)); ;}\r
2615     break;\r
2616 \r
2617   case 133:\r
2618 #line 518 "fta.y"\r
2619     {(yyval.ifpref) = new ifpref_t((yyvsp[(2) - (2)].strval));;}\r
2620     break;\r
2621 \r
2622   case 134:\r
2623 #line 519 "fta.y"\r
2624     {(yyval.ifpref) = new ifpref_t((yyvsp[(1) - (4)].strval), (yyvsp[(4) - (4)].strval));;}\r
2625     break;\r
2626 \r
2627   case 135:\r
2628 #line 523 "fta.y"\r
2629     {(yyval.colref) = new colref_t((yyvsp[(1) - (1)].strval)); ;}\r
2630     break;\r
2631 \r
2632   case 136:\r
2633 #line 524 "fta.y"\r
2634     {(yyval.colref) = new colref_t((yyvsp[(1) - (3)].strval),(yyvsp[(3) - (3)].strval)); ;}\r
2635     break;\r
2636 \r
2637   case 137:\r
2638 #line 525 "fta.y"\r
2639     {(yyval.colref) = new colref_t((yyvsp[(1) - (5)].strval),(yyvsp[(3) - (5)].strval),(yyvsp[(5) - (5)].strval)); ;}\r
2640     break;\r
2641 \r
2642   case 138:\r
2643 #line 529 "fta.y"\r
2644     {(yyval.clist)=new colref_list_t((yyvsp[(1) - (3)].colref)); (yyval.clist)->append((yyvsp[(3) - (3)].colref));;}\r
2645     break;\r
2646 \r
2647   case 139:\r
2648 #line 530 "fta.y"\r
2649     {(yyval.clist) = (yyvsp[(1) - (3)].clist)->append((yyvsp[(3) - (3)].colref));;}\r
2650     break;\r
2651 \r
2652   case 140:\r
2653 #line 534 "fta.y"\r
2654     {(yyval.colref) = new colref_t((yyvsp[(1) - (1)].strval)); ;}\r
2655     break;\r
2656 \r
2657   case 141:\r
2658 #line 538 "fta.y"\r
2659     {(yyval.clist)=new colref_list_t((yyvsp[(1) - (3)].colref)); (yyval.clist)->append((yyvsp[(3) - (3)].colref));;}\r
2660     break;\r
2661 \r
2662   case 142:\r
2663 #line 539 "fta.y"\r
2664     {(yyval.clist) = (yyvsp[(1) - (3)].clist)->append((yyvsp[(3) - (3)].colref));;}\r
2665     break;\r
2666 \r
2667   case 143:\r
2668 #line 554 "fta.y"\r
2669     {(yyval.table_list_schema) = new table_list((yyvsp[(1) - (1)].table_def_t));;}\r
2670     break;\r
2671 \r
2672   case 144:\r
2673 #line 555 "fta.y"\r
2674     {(yyval.table_list_schema) = (yyvsp[(1) - (2)].table_list_schema)->append_table((yyvsp[(2) - (2)].table_def_t));;}\r
2675     break;\r
2676 \r
2677   case 145:\r
2678 #line 558 "fta.y"\r
2679     {\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
2681     break;\r
2682 \r
2683   case 146:\r
2684 #line 560 "fta.y"\r
2685     {\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
2687     break;\r
2688 \r
2689   case 147:\r
2690 #line 562 "fta.y"\r
2691     {\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
2693     break;\r
2694 \r
2695   case 148:\r
2696 #line 564 "fta.y"\r
2697     { (yyval.table_def_t) = new table_def((yyvsp[(3) - (4)].ufcnl)); ;}\r
2698     break;\r
2699 \r
2700   case 149:\r
2701 #line 568 "fta.y"\r
2702     {(yyval.ufcnl) = new unpack_fcn_list((yyvsp[(1) - (1)].ufcn));;}\r
2703     break;\r
2704 \r
2705   case 150:\r
2706 #line 569 "fta.y"\r
2707     {(yyval.ufcnl) = (yyvsp[(1) - (3)].ufcnl) -> append((yyvsp[(3) - (3)].ufcn));;}\r
2708     break;\r
2709 \r
2710   case 151:\r
2711 #line 573 "fta.y"\r
2712     {(yyval.ufcn) = new unpack_fcn((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval),(yyvsp[(3) - (3)].strval));;}\r
2713     break;\r
2714 \r
2715   case 152:\r
2716 #line 577 "fta.y"\r
2717     {(yyval.subqueryspec_list_t) = new subqueryspec_list((yyvsp[(1) - (1)].subq_spec_t));;}\r
2718     break;\r
2719 \r
2720   case 153:\r
2721 #line 578 "fta.y"\r
2722     {(yyval.subqueryspec_list_t) = (yyvsp[(1) - (3)].subqueryspec_list_t)->append((yyvsp[(3) - (3)].subq_spec_t));;}\r
2723     break;\r
2724 \r
2725   case 154:\r
2726 #line 582 "fta.y"\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
2728     break;\r
2729 \r
2730   case 155:\r
2731 #line 585 "fta.y"\r
2732     {(yyval.field_list_t) = new field_entry_list((yyvsp[(1) - (1)].field_t));;}\r
2733     break;\r
2734 \r
2735   case 156:\r
2736 #line 586 "fta.y"\r
2737     {(yyval.field_list_t) = (yyvsp[(1) - (2)].field_list_t)->append_field((yyvsp[(2) - (2)].field_t));;}\r
2738     break;\r
2739 \r
2740   case 157:\r
2741 #line 590 "fta.y"\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
2743     break;\r
2744 \r
2745   case 158:\r
2746 #line 591 "fta.y"\r
2747     {(yyval.field_t) = new field_entry((yyvsp[(1) - (4)].strval),(yyvsp[(2) - (4)].strval),"",(yyvsp[(3) - (4)].plist_t),NULL);;}\r
2748     break;\r
2749 \r
2750   case 159:\r
2751 #line 595 "fta.y"\r
2752     {(yyval.plist_t) = NULL;;}\r
2753     break;\r
2754 \r
2755   case 160:\r
2756 #line 596 "fta.y"\r
2757     {(yyval.plist_t) = (yyvsp[(2) - (3)].plist_t);;}\r
2758     break;\r
2759 \r
2760   case 161:\r
2761 #line 600 "fta.y"\r
2762     {(yyval.plist_t) = new param_list((yyvsp[(1) - (1)].strval));;}\r
2763     break;\r
2764 \r
2765   case 162:\r
2766 #line 601 "fta.y"\r
2767     {(yyval.plist_t) = new param_list((yyvsp[(1) - (2)].strval),(yyvsp[(2) - (2)].strval));;}\r
2768     break;\r
2769 \r
2770   case 163:\r
2771 #line 602 "fta.y"\r
2772     {(yyval.plist_t) = new param_list((yyvsp[(1) - (2)].strval),(yyvsp[(2) - (2)].strval));;}\r
2773     break;\r
2774 \r
2775   case 164:\r
2776 #line 603 "fta.y"\r
2777     {(yyval.plist_t) = new param_list((yyvsp[(1) - (2)].strval),(yyvsp[(2) - (2)].strval));;}\r
2778     break;\r
2779 \r
2780   case 165:\r
2781 #line 604 "fta.y"\r
2782     {(yyval.plist_t) = (yyvsp[(1) - (3)].plist_t)->append((yyvsp[(3) - (3)].strval));;}\r
2783     break;\r
2784 \r
2785   case 166:\r
2786 #line 605 "fta.y"\r
2787     {(yyval.plist_t) = (yyvsp[(1) - (4)].plist_t)->append((yyvsp[(3) - (4)].strval),(yyvsp[(4) - (4)].strval));;}\r
2788     break;\r
2789 \r
2790   case 167:\r
2791 #line 606 "fta.y"\r
2792     {(yyval.plist_t) = (yyvsp[(1) - (4)].plist_t)->append((yyvsp[(3) - (4)].strval),(yyvsp[(4) - (4)].strval));;}\r
2793     break;\r
2794 \r
2795   case 168:\r
2796 #line 607 "fta.y"\r
2797     {(yyval.plist_t) = (yyvsp[(1) - (4)].plist_t)->append((yyvsp[(3) - (4)].strval),(yyvsp[(4) - (4)].strval));;}\r
2798     break;\r
2799 \r
2800   case 169:\r
2801 #line 611 "fta.y"\r
2802     {(yyval.plist_t) = NULL;;}\r
2803     break;\r
2804 \r
2805   case 170:\r
2806 #line 612 "fta.y"\r
2807     {(yyval.plist_t) = (yyvsp[(2) - (3)].plist_t);;}\r
2808     break;\r
2809 \r
2810   case 171:\r
2811 #line 616 "fta.y"\r
2812     {(yyval.plist_t) = NULL;;}\r
2813     break;\r
2814 \r
2815   case 172:\r
2816 #line 617 "fta.y"\r
2817     {(yyval.plist_t) = (yyvsp[(2) - (3)].plist_t);;}\r
2818     break;\r
2819 \r
2820   case 173:\r
2821 #line 621 "fta.y"\r
2822     {(yyval.plist_t) = new param_list((yyvsp[(1) - (1)].strval));;}\r
2823     break;\r
2824 \r
2825   case 174:\r
2826 #line 622 "fta.y"\r
2827     {(yyval.plist_t) = (yyvsp[(1) - (3)].plist_t)->append((yyvsp[(3) - (3)].strval));;}\r
2828     break;\r
2829 \r
2830   case 175:\r
2831 #line 626 "fta.y"\r
2832     {(yyval.namevec_t) = new name_vec((yyvsp[(1) - (3)].strval),(yyvsp[(2) - (3)].strval),(yyvsp[(3) - (3)].plist_t));;}\r
2833     break;\r
2834 \r
2835   case 176:\r
2836 #line 627 "fta.y"\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
2838     break;\r
2839 \r
2840 \r
2841 /* Line 1267 of yacc.c.  */\r
2842 #line 2843 "fta.tab.cc"\r
2843       default: break;\r
2844     }\r
2845   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);\r
2846 \r
2847   YYPOPSTACK (yylen);\r
2848   yylen = 0;\r
2849   YY_STACK_PRINT (yyss, yyssp);\r
2850 \r
2851   *++yyvsp = yyval;\r
2852 \r
2853 \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
2857 \r
2858   yyn = yyr1[yyn];\r
2859 \r
2860   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;\r
2861   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)\r
2862     yystate = yytable[yystate];\r
2863   else\r
2864     yystate = yydefgoto[yyn - YYNTOKENS];\r
2865 \r
2866   goto yynewstate;\r
2867 \r
2868 \r
2869 /*------------------------------------.\r
2870 | yyerrlab -- here on detecting error |\r
2871 `------------------------------------*/\r
2872 yyerrlab:\r
2873   /* If not already recovering from an error, report this error.  */\r
2874   if (!yyerrstatus)\r
2875     {\r
2876       ++yynerrs;\r
2877 #if ! YYERROR_VERBOSE\r
2878       yyerror (YY_("syntax error"));\r
2879 #else\r
2880       {\r
2881         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);\r
2882         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)\r
2883           {\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
2890             if (yymsg)\r
2891               yymsg_alloc = yyalloc;\r
2892             else\r
2893               {\r
2894                 yymsg = yymsgbuf;\r
2895                 yymsg_alloc = sizeof yymsgbuf;\r
2896               }\r
2897           }\r
2898 \r
2899         if (0 < yysize && yysize <= yymsg_alloc)\r
2900           {\r
2901             (void) yysyntax_error (yymsg, yystate, yychar);\r
2902             yyerror (yymsg);\r
2903           }\r
2904         else\r
2905           {\r
2906             yyerror (YY_("syntax error"));\r
2907             if (yysize != 0)\r
2908               goto yyexhaustedlab;\r
2909           }\r
2910       }\r
2911 #endif\r
2912     }\r
2913 \r
2914 \r
2915 \r
2916   if (yyerrstatus == 3)\r
2917     {\r
2918       /* If just tried and failed to reuse look-ahead token after an\r
2919          error, discard it.  */\r
2920 \r
2921       if (yychar <= YYEOF)\r
2922         {\r
2923           /* Return failure if at end of input.  */\r
2924           if (yychar == YYEOF)\r
2925             YYABORT;\r
2926         }\r
2927       else\r
2928         {\r
2929           yydestruct ("Error: discarding",\r
2930                       yytoken, &yylval);\r
2931           yychar = YYEMPTY;\r
2932         }\r
2933     }\r
2934 \r
2935   /* Else will try to reuse look-ahead token after shifting the error\r
2936      token.  */\r
2937   goto yyerrlab1;\r
2938 \r
2939 \r
2940 /*---------------------------------------------------.\r
2941 | yyerrorlab -- error raised explicitly by YYERROR.  |\r
2942 `---------------------------------------------------*/\r
2943 yyerrorlab:\r
2944 \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
2947      code.  */\r
2948   if (/*CONSTCOND*/ 0)\r
2949      goto yyerrorlab;\r
2950 \r
2951   /* Do not reclaim the symbols of the rule which action triggered\r
2952      this YYERROR.  */\r
2953   YYPOPSTACK (yylen);\r
2954   yylen = 0;\r
2955   YY_STACK_PRINT (yyss, yyssp);\r
2956   yystate = *yyssp;\r
2957   goto yyerrlab1;\r
2958 \r
2959 \r
2960 /*-------------------------------------------------------------.\r
2961 | yyerrlab1 -- common code for both syntax error and YYERROR.  |\r
2962 `-------------------------------------------------------------*/\r
2963 yyerrlab1:\r
2964   yyerrstatus = 3;      /* Each real token shifted decrements this.  */\r
2965 \r
2966   for (;;)\r
2967     {\r
2968       yyn = yypact[yystate];\r
2969       if (yyn != YYPACT_NINF)\r
2970         {\r
2971           yyn += YYTERROR;\r
2972           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)\r
2973             {\r
2974               yyn = yytable[yyn];\r
2975               if (0 < yyn)\r
2976                 break;\r
2977             }\r
2978         }\r
2979 \r
2980       /* Pop the current state because it cannot handle the error token.  */\r
2981       if (yyssp == yyss)\r
2982         YYABORT;\r
2983 \r
2984 \r
2985       yydestruct ("Error: popping",\r
2986                   yystos[yystate], yyvsp);\r
2987       YYPOPSTACK (1);\r
2988       yystate = *yyssp;\r
2989       YY_STACK_PRINT (yyss, yyssp);\r
2990     }\r
2991 \r
2992   if (yyn == YYFINAL)\r
2993     YYACCEPT;\r
2994 \r
2995   *++yyvsp = yylval;\r
2996 \r
2997 \r
2998   /* Shift the error token.  */\r
2999   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);\r
3000 \r
3001   yystate = yyn;\r
3002   goto yynewstate;\r
3003 \r
3004 \r
3005 /*-------------------------------------.\r
3006 | yyacceptlab -- YYACCEPT comes here.  |\r
3007 `-------------------------------------*/\r
3008 yyacceptlab:\r
3009   yyresult = 0;\r
3010   goto yyreturn;\r
3011 \r
3012 /*-----------------------------------.\r
3013 | yyabortlab -- YYABORT comes here.  |\r
3014 `-----------------------------------*/\r
3015 yyabortlab:\r
3016   yyresult = 1;\r
3017   goto yyreturn;\r
3018 \r
3019 #ifndef yyoverflow\r
3020 /*-------------------------------------------------.\r
3021 | yyexhaustedlab -- memory exhaustion comes here.  |\r
3022 `-------------------------------------------------*/\r
3023 yyexhaustedlab:\r
3024   yyerror (YY_("memory exhausted"));\r
3025   yyresult = 2;\r
3026   /* Fall through.  */\r
3027 #endif\r
3028 \r
3029 yyreturn:\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
3038     {\r
3039       yydestruct ("Cleanup: popping",\r
3040                   yystos[*yyssp], yyvsp);\r
3041       YYPOPSTACK (1);\r
3042     }\r
3043 #ifndef yyoverflow\r
3044   if (yyss != yyssa)\r
3045     YYSTACK_FREE (yyss);\r
3046 #endif\r
3047 #if YYERROR_VERBOSE\r
3048   if (yymsg != yymsgbuf)\r
3049     YYSTACK_FREE (yymsg);\r
3050 #endif\r
3051   /* Make sure YYID is used.  */\r
3052   return YYID (yyresult);\r
3053 }\r
3054 \r
3055 \r
3056 #line 630 "fta.y"\r
3057 \r
3058 \r
3059 \r