1 /* A Bison parser, made by GNU Bison 3.0.4.  */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6 
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19 
20 /* As a special exception, you may create a larger work that contains
21    part or all of the Bison parser skeleton and distribute that work
22    under terms of your choice, so long as that work isn't itself a
23    parser generator using the skeleton or a modified version thereof
24    as a parser skeleton.  Alternatively, if you modify or redistribute
25    the parser skeleton itself, you may (at your option) remove this
26    special exception, which will cause the skeleton and the resulting
27    Bison output files to be licensed under the GNU General Public
28    License without this special exception.
29 
30    This special exception was added by the Free Software Foundation in
31    version 2.2 of Bison.  */
32 
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34    simplifying the original so-called "semantic" parser.  */
35 
36 /* All symbols defined below should begin with yy or YY, to avoid
37    infringing on user name space.  This should be done even for local
38    variables, as they might otherwise be expanded by user macros.
39    There are some unavoidable exceptions within include files to
40    define necessary library symbols; they are noted "INFRINGES ON
41    USER NAME SPACE" below.  */
42 
43 /* Identify Bison output.  */
44 #define YYBISON 1
45 
46 /* Bison version.  */
47 #define YYBISON_VERSION "3.0.4"
48 
49 /* Skeleton name.  */
50 #define YYSKELETON_NAME "yacc.c"
51 
52 /* Pure parsers.  */
53 #define YYPURE 2
54 
55 /* Push parsers.  */
56 #define YYPUSH 0
57 
58 /* Pull parsers.  */
59 #define YYPULL 1
60 
61 
62 /* Substitute the variable and function names.  */
63 #define yyparse         Schema_parse
64 #define yylex           Schema_lex
65 #define yyerror         Schema_error
66 #define yydebug         Schema_debug
67 #define yynerrs         Schema_nerrs
68 
69 
70 /* Copy the first part of user declarations.  */
71 
72 
73     #define YYDEBUG 1
74 
75     #include <stdio.h>
76 
77     #include "ParseTree.hpp"
78     #include "ErrorReport.hpp"
79 
80     using namespace ncbi::SchemaParser;
81 
82     #include "schema-tokens.h"
83     #include "schema-lex.h"
84     #define Schema_lex SchemaScan_yylex
85 
Schema_error(YYLTYPE * p_llocp,ParseTree ** p_root,ErrorReport * p_errors,struct SchemaScanBlock * p_sb,const char * p_msg)86     void Schema_error ( YYLTYPE *                   p_llocp,
87                         ParseTree **                p_root,
88                         ErrorReport *               p_errors,
89                         struct SchemaScanBlock *    p_sb,
90                         const char *                p_msg )
91     {
92         /* send message to the C++ parser for proper display and recovery */
93         Token :: Location loc ( p_sb -> file_name, p_llocp -> first_line, p_llocp -> first_column );
94         p_errors -> ReportError ( loc, "%s", p_msg);
95     }
96 
97     extern "C"
98     {
99         extern enum yytokentype SchemaScan_yylex ( YYSTYPE *lvalp, YYLTYPE *llocp, SchemaScanBlock* sb );
100     }
101 
102     static
103     ParseTree*
P(SchemaToken & p_prod)104     P ( SchemaToken & p_prod )
105     {
106         assert ( p_prod . subtree );
107         return ( ParseTree * ) p_prod . subtree;
108     }
109 
110     static
111     ParseTree*
T(SchemaToken & p_term)112     T ( SchemaToken & p_term )
113     {
114         assert ( p_term . subtree == 0 );
115         return new ParseTree ( p_term );
116     }
117 
118     /* Create production node */
119     static
120     ParseTree *
MakeTree(int p_token,ParseTree * p_ch1=0,ParseTree * p_ch2=0,ParseTree * p_ch3=0,ParseTree * p_ch4=0,ParseTree * p_ch5=0,ParseTree * p_ch6=0,ParseTree * p_ch7=0,ParseTree * p_ch8=0,ParseTree * p_ch9=0)121     MakeTree ( int p_token,
122                ParseTree * p_ch1 = 0,
123                ParseTree * p_ch2 = 0,
124                ParseTree * p_ch3 = 0,
125                ParseTree * p_ch4 = 0,
126                ParseTree * p_ch5 = 0,
127                ParseTree * p_ch6 = 0,
128                ParseTree * p_ch7 = 0,
129                ParseTree * p_ch8 = 0,
130                ParseTree * p_ch9 = 0
131              )
132     {
133         ParseTree * ret = new ParseTree ( Token ( p_token ) );
134         if ( p_ch1 != 0 ) ret -> AddChild ( p_ch1 );
135         if ( p_ch2 != 0 ) ret -> AddChild ( p_ch2 );
136         if ( p_ch3 != 0 ) ret -> AddChild ( p_ch3 );
137         if ( p_ch4 != 0 ) ret -> AddChild ( p_ch4 );
138         if ( p_ch5 != 0 ) ret -> AddChild ( p_ch5 );
139         if ( p_ch6 != 0 ) ret -> AddChild ( p_ch6 );
140         if ( p_ch7 != 0 ) ret -> AddChild ( p_ch7 );
141         if ( p_ch8 != 0 ) ret -> AddChild ( p_ch8 );
142         if ( p_ch9 != 0 ) ret -> AddChild ( p_ch9 );
143         return ret;
144     }
145 
146     /* Create a flat list */
147     static
148     ParseTree *
MakeList(SchemaToken & p_prod)149     MakeList ( SchemaToken & p_prod )
150     {
151         ParseTree * ret = new ParseTree ( Token ( PT_ASTLIST ) );
152         ret -> AddChild ( P ( p_prod ) );
153         return ret;
154     }
155 
156     /* Add to a flat list node */
157     static
158     ParseTree *
AddToList(ParseTree * p_root,ParseTree * p_br1,ParseTree * p_br2=0)159     AddToList ( ParseTree * p_root, ParseTree * p_br1, ParseTree * p_br2 = 0 )
160     {
161         assert ( p_br1 != 0 );
162         p_root -> AddChild ( p_br1 );
163         if ( p_br2 != 0 )
164         {
165             p_root -> AddChild ( p_br2 );
166         }
167         return p_root;
168     }
169 
170 
171 
172 
173 
174 # ifndef YY_NULLPTR
175 #  if defined __cplusplus && 201103L <= __cplusplus
176 #   define YY_NULLPTR nullptr
177 #  else
178 #   define YY_NULLPTR 0
179 #  endif
180 # endif
181 
182 /* Enabling verbose error messages.  */
183 #ifdef YYERROR_VERBOSE
184 # undef YYERROR_VERBOSE
185 # define YYERROR_VERBOSE 1
186 #else
187 # define YYERROR_VERBOSE 1
188 #endif
189 
190 /* In a future release of Bison, this section will be replaced
191    by #include "schema-tokens.h".  */
192 #ifndef YY_SCHEMA_HOME_BOSHKINS_NCBI_DEVEL_NCBI_VDB_LIBS_SCHEMA_SCHEMA_TOKENS_H_INCLUDED
193 # define YY_SCHEMA_HOME_BOSHKINS_NCBI_DEVEL_NCBI_VDB_LIBS_SCHEMA_SCHEMA_TOKENS_H_INCLUDED
194 /* Debug traces.  */
195 #ifndef YYDEBUG
196 # define YYDEBUG 0
197 #endif
198 #if YYDEBUG
199 extern int Schema_debug;
200 #endif
201 
202 /* Token type.  */
203 #ifndef YYTOKENTYPE
204 # define YYTOKENTYPE
205   enum yytokentype
206   {
207     END_SOURCE = 0,
208     UNRECOGNIZED = 258,
209     ELLIPSIS = 259,
210     INCREMENT = 260,
211     DECIMAL = 261,
212     OCTAL = 262,
213     HEX = 263,
214     FLOAT_ = 264,
215     EXP_FLOAT = 265,
216     STRING = 266,
217     ESCAPED_STRING = 267,
218     IDENTIFIER_1_0 = 268,
219     PHYSICAL_IDENTIFIER_1_0 = 269,
220     VERSION = 270,
221     UNTERM_STRING = 271,
222     UNTERM_ESCAPED_STRING = 272,
223     VERS_1_0 = 273,
224     VERS_2_0 = 274,
225     KW___no_header = 275,
226     KW___row_length = 276,
227     KW___untyped = 277,
228     KW_alias = 278,
229     KW_column = 279,
230     KW_const = 280,
231     KW_control = 281,
232     KW_database = 282,
233     KW_decode = 283,
234     KW_default = 284,
235     KW_encode = 285,
236     KW_extern = 286,
237     KW_false = 287,
238     KW_fmtdef = 288,
239     KW_function = 289,
240     KW_include = 290,
241     KW_limit = 291,
242     KW_physical = 292,
243     KW_read = 293,
244     KW_readonly = 294,
245     KW_return = 295,
246     KW_schema = 296,
247     KW_static = 297,
248     KW_table = 298,
249     KW_template = 299,
250     KW_trigger = 300,
251     KW_true = 301,
252     KW_type = 302,
253     KW_typedef = 303,
254     KW_typeset = 304,
255     KW_validate = 305,
256     KW_version = 306,
257     KW_view = 307,
258     KW_virtual = 308,
259     KW_void = 309,
260     KW_write = 310,
261     PT_ASTLIST = 311,
262     PT_PARSE = 312,
263     PT_SOURCE = 313,
264     PT_VERSION_1_0 = 314,
265     PT_VERSION_2 = 315,
266     PT_SCHEMA_1_0 = 316,
267     PT_SCHEMA_2_0 = 317,
268     PT_INCLUDE = 318,
269     PT_TYPEDEF = 319,
270     PT_FQN = 320,
271     PT_IDENT = 321,
272     PT_PHYSIDENT = 322,
273     PT_UINT = 323,
274     PT_TYPESET = 324,
275     PT_TYPESETDEF = 325,
276     PT_FORMAT = 326,
277     PT_CONST = 327,
278     PT_ALIAS = 328,
279     PT_EXTERN = 329,
280     PT_FUNCTION = 330,
281     PT_UNTYPED = 331,
282     PT_ROWLENGTH = 332,
283     PT_FUNCDECL = 333,
284     PT_EMPTY = 334,
285     PT_SCHEMASIG = 335,
286     PT_SCHEMAFORMAL = 336,
287     PT_RETURNTYPE = 337,
288     PT_FACTSIG = 338,
289     PT_FUNCSIG = 339,
290     PT_FUNCPARAMS = 340,
291     PT_FORMALPARAM = 341,
292     PT_ELLIPSIS = 342,
293     PT_FUNCPROLOGUE = 343,
294     PT_RETURN = 344,
295     PT_PRODSTMT = 345,
296     PT_PRODTRIGGER = 346,
297     PT_SCHEMA = 347,
298     PT_VALIDATE = 348,
299     PT_PHYSICAL = 349,
300     PT_PHYSPROLOGUE = 350,
301     PT_PHYSSTMT = 351,
302     PT_PHYSBODYSTMT = 352,
303     PT_TABLE = 353,
304     PT_TABLEPARENTS = 354,
305     PT_TABLEBODY = 355,
306     PT_FUNCEXPR = 356,
307     PT_FACTPARMS = 357,
308     PT_COLUMN = 358,
309     PT_COLUMNEXPR = 359,
310     PT_COLDECL = 360,
311     PT_TYPEDCOL = 361,
312     PT_COLSTMT = 362,
313     PT_DFLTVIEW = 363,
314     PT_PHYSMBR = 364,
315     PT_PHYSCOL = 365,
316     PT_PHYSCOLDEF = 366,
317     PT_COLSCHEMAPARMS = 367,
318     PT_COLSCHEMAPARAM = 368,
319     PT_COLUNTYPED = 369,
320     PT_DATABASE = 370,
321     PT_TYPEEXPR = 371,
322     PT_DBBODY = 372,
323     PT_DBDAD = 373,
324     PT_DBMEMBER = 374,
325     PT_TBLMEMBER = 375,
326     PT_NOHEADER = 376,
327     PT_CASTEXPR = 377,
328     PT_CONSTVECT = 378,
329     PT_NEGATE = 379,
330     PT_UNARYPLUS = 380,
331     PT_VERSNAME = 381,
332     PT_ARRAY = 382,
333     PT_PHYSENCREF = 383,
334     PT_TYPEDCOLEXPR = 384,
335     PT_VIEW = 385,
336     PT_VIEWPARAM = 386,
337     PT_VIEWPARENTS = 387,
338     PT_VIEWPARENT = 388,
339     PT_MEMBEREXPR = 389,
340     PT_JOINEXPR = 390
341   };
342 #endif
343 
344 /* Value type.  */
345 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
346 typedef SchemaToken YYSTYPE;
347 # define YYSTYPE_IS_TRIVIAL 1
348 # define YYSTYPE_IS_DECLARED 1
349 #endif
350 
351 /* Location type.  */
352 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
353 typedef struct YYLTYPE YYLTYPE;
354 struct YYLTYPE
355 {
356   int first_line;
357   int first_column;
358   int last_line;
359   int last_column;
360 };
361 # define YYLTYPE_IS_DECLARED 1
362 # define YYLTYPE_IS_TRIVIAL 1
363 #endif
364 
365 
366 
367 int Schema_parse (ParseTree** root, ErrorReport * errors, struct SchemaScanBlock* sb);
368 
369 #endif /* !YY_SCHEMA_HOME_BOSHKINS_NCBI_DEVEL_NCBI_VDB_LIBS_SCHEMA_SCHEMA_TOKENS_H_INCLUDED  */
370 
371 /* Copy the second part of user declarations.  */
372 
373 
374 
375 #ifdef short
376 # undef short
377 #endif
378 
379 #ifdef YYTYPE_UINT8
380 typedef YYTYPE_UINT8 yytype_uint8;
381 #else
382 typedef unsigned char yytype_uint8;
383 #endif
384 
385 #ifdef YYTYPE_INT8
386 typedef YYTYPE_INT8 yytype_int8;
387 #else
388 typedef signed char yytype_int8;
389 #endif
390 
391 #ifdef YYTYPE_UINT16
392 typedef YYTYPE_UINT16 yytype_uint16;
393 #else
394 typedef unsigned short int yytype_uint16;
395 #endif
396 
397 #ifdef YYTYPE_INT16
398 typedef YYTYPE_INT16 yytype_int16;
399 #else
400 typedef short int yytype_int16;
401 #endif
402 
403 #ifndef YYSIZE_T
404 # ifdef __SIZE_TYPE__
405 #  define YYSIZE_T __SIZE_TYPE__
406 # elif defined size_t
407 #  define YYSIZE_T size_t
408 # elif ! defined YYSIZE_T
409 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
410 #  define YYSIZE_T size_t
411 # else
412 #  define YYSIZE_T unsigned int
413 # endif
414 #endif
415 
416 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
417 
418 #ifndef YY_
419 # if defined YYENABLE_NLS && YYENABLE_NLS
420 #  if ENABLE_NLS
421 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
422 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
423 #  endif
424 # endif
425 # ifndef YY_
426 #  define YY_(Msgid) Msgid
427 # endif
428 #endif
429 
430 #ifndef YY_ATTRIBUTE
431 # if (defined __GNUC__                                               \
432       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
433      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
434 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
435 # else
436 #  define YY_ATTRIBUTE(Spec) /* empty */
437 # endif
438 #endif
439 
440 #ifndef YY_ATTRIBUTE_PURE
441 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
442 #endif
443 
444 #ifndef YY_ATTRIBUTE_UNUSED
445 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
446 #endif
447 
448 #if !defined _Noreturn \
449      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
450 # if defined _MSC_VER && 1200 <= _MSC_VER
451 #  define _Noreturn __declspec (noreturn)
452 # else
453 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
454 # endif
455 #endif
456 
457 /* Suppress unused-variable warnings by "using" E.  */
458 #if ! defined lint || defined __GNUC__
459 # define YYUSE(E) ((void) (E))
460 #else
461 # define YYUSE(E) /* empty */
462 #endif
463 
464 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
465 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
466 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
467     _Pragma ("GCC diagnostic push") \
468     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
469     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
470 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
471     _Pragma ("GCC diagnostic pop")
472 #else
473 # define YY_INITIAL_VALUE(Value) Value
474 #endif
475 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
476 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
477 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
478 #endif
479 #ifndef YY_INITIAL_VALUE
480 # define YY_INITIAL_VALUE(Value) /* Nothing. */
481 #endif
482 
483 
484 #if ! defined yyoverflow || YYERROR_VERBOSE
485 
486 /* The parser invokes alloca or malloc; define the necessary symbols.  */
487 
488 # ifdef YYSTACK_USE_ALLOCA
489 #  if YYSTACK_USE_ALLOCA
490 #   ifdef __GNUC__
491 #    define YYSTACK_ALLOC __builtin_alloca
492 #   elif defined __BUILTIN_VA_ARG_INCR
493 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
494 #   elif defined _AIX
495 #    define YYSTACK_ALLOC __alloca
496 #   elif defined _MSC_VER
497 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
498 #    define alloca _alloca
499 #   else
500 #    define YYSTACK_ALLOC alloca
501 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
502 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
503       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
504 #     ifndef EXIT_SUCCESS
505 #      define EXIT_SUCCESS 0
506 #     endif
507 #    endif
508 #   endif
509 #  endif
510 # endif
511 
512 # ifdef YYSTACK_ALLOC
513    /* Pacify GCC's 'empty if-body' warning.  */
514 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
515 #  ifndef YYSTACK_ALLOC_MAXIMUM
516     /* The OS might guarantee only one guard page at the bottom of the stack,
517        and a page size can be as small as 4096 bytes.  So we cannot safely
518        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
519        to allow for a few compiler-allocated temporary stack slots.  */
520 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
521 #  endif
522 # else
523 #  define YYSTACK_ALLOC YYMALLOC
524 #  define YYSTACK_FREE YYFREE
525 #  ifndef YYSTACK_ALLOC_MAXIMUM
526 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
527 #  endif
528 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
529        && ! ((defined YYMALLOC || defined malloc) \
530              && (defined YYFREE || defined free)))
531 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
532 #   ifndef EXIT_SUCCESS
533 #    define EXIT_SUCCESS 0
534 #   endif
535 #  endif
536 #  ifndef YYMALLOC
537 #   define YYMALLOC malloc
538 #   if ! defined malloc && ! defined EXIT_SUCCESS
539 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
540 #   endif
541 #  endif
542 #  ifndef YYFREE
543 #   define YYFREE free
544 #   if ! defined free && ! defined EXIT_SUCCESS
545 void free (void *); /* INFRINGES ON USER NAME SPACE */
546 #   endif
547 #  endif
548 # endif
549 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
550 
551 
552 #if (! defined yyoverflow \
553      && (! defined __cplusplus \
554          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
555              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
556 
557 /* A type that is properly aligned for any stack member.  */
558 union yyalloc
559 {
560   yytype_int16 yyss_alloc;
561   YYSTYPE yyvs_alloc;
562   YYLTYPE yyls_alloc;
563 };
564 
565 /* The size of the maximum gap between one aligned stack and the next.  */
566 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
567 
568 /* The size of an array large to enough to hold all stacks, each with
569    N elements.  */
570 # define YYSTACK_BYTES(N) \
571      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
572       + 2 * YYSTACK_GAP_MAXIMUM)
573 
574 # define YYCOPY_NEEDED 1
575 
576 /* Relocate STACK from its old location to the new one.  The
577    local variables YYSIZE and YYSTACKSIZE give the old and new number of
578    elements in the stack, and YYPTR gives the new location of the
579    stack.  Advance YYPTR to a properly aligned location for the next
580    stack.  */
581 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
582     do                                                                  \
583       {                                                                 \
584         YYSIZE_T yynewbytes;                                            \
585         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
586         Stack = &yyptr->Stack_alloc;                                    \
587         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
588         yyptr += yynewbytes / sizeof (*yyptr);                          \
589       }                                                                 \
590     while (0)
591 
592 #endif
593 
594 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
595 /* Copy COUNT objects from SRC to DST.  The source and destination do
596    not overlap.  */
597 # ifndef YYCOPY
598 #  if defined __GNUC__ && 1 < __GNUC__
599 #   define YYCOPY(Dst, Src, Count) \
600       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
601 #  else
602 #   define YYCOPY(Dst, Src, Count)              \
603       do                                        \
604         {                                       \
605           YYSIZE_T yyi;                         \
606           for (yyi = 0; yyi < (Count); yyi++)   \
607             (Dst)[yyi] = (Src)[yyi];            \
608         }                                       \
609       while (0)
610 #  endif
611 # endif
612 #endif /* !YYCOPY_NEEDED */
613 
614 /* YYFINAL -- State number of the termination state.  */
615 #define YYFINAL  68
616 /* YYLAST -- Last index in YYTABLE.  */
617 #define YYLAST   856
618 
619 /* YYNTOKENS -- Number of terminals.  */
620 #define YYNTOKENS  155
621 /* YYNNTS -- Number of nonterminals.  */
622 #define YYNNTS  125
623 /* YYNRULES -- Number of rules.  */
624 #define YYNRULES  270
625 /* YYNSTATES -- Number of states.  */
626 #define YYNSTATES  524
627 
628 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
629    by yylex, with out-of-bounds checking.  */
630 #define YYUNDEFTOK  2
631 #define YYMAXUTOK   390
632 
633 #define YYTRANSLATE(YYX)                                                \
634   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
635 
636 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
637    as returned by yylex, without out-of-bounds checking.  */
638 static const yytype_uint8 yytranslate[] =
639 {
640        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
641        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
642        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
643        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
644      144,   145,   142,   151,   137,   150,   153,   152,     2,     2,
645        2,     2,     2,     2,     2,     2,     2,     2,   154,   136,
646      146,   143,   147,     2,   149,     2,     2,     2,     2,     2,
647        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
648        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
649        2,   140,     2,   141,     2,     2,     2,     2,     2,     2,
650        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
651        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
652        2,     2,     2,   138,   148,   139,     2,     2,     2,     2,
653        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
654        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
655        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
656        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
657        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
658        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
659        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
660        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
661        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
662        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
663        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
664        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
665        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
666        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
667       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
668       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
669       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
670       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
671       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
672       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
673       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
674       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
675       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
676      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
677      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
678      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
679      135
680 };
681 
682 #if YYDEBUG
683   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
684 static const yytype_uint16 yyrline[] =
685 {
686        0,   298,   298,   299,   303,   304,   305,   311,   315,   316,
687      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
688      330,   331,   332,   333,   339,   347,   348,   354,   359,   363,
689      370,   371,   375,   376,   380,   381,   387,   389,   394,   398,
690      405,   412,   417,   423,   427,   428,   429,   439,   444,   449,
691      450,   454,   458,   459,   463,   464,   468,   469,   473,   474,
692      478,   482,   483,   485,   487,   489,   494,   495,   499,   503,
693      507,   508,   510,   512,   514,   519,   520,   524,   525,   530,
694      531,   535,   537,   539,   544,   545,   549,   550,   557,   562,
695      569,   571,   579,   586,   596,   597,   601,   603,   608,   609,
696      613,   615,   617,   619,   624,   631,   639,   640,   644,   645,
697      649,   651,   656,   657,   661,   662,   663,   665,   667,   668,
698      669,   670,   671,   673,   677,   679,   684,   685,   689,   690,
699      694,   695,   696,   700,   702,   707,   709,   711,   716,   718,
700      720,   725,   726,   730,   734,   735,   739,   740,   744,   745,
701      746,   747,   751,   756,   758,   760,   762,   767,   772,   773,
702      777,   778,   782,   783,   787,   788,   795,   796,   800,   801,
703      805,   806,   807,   808,   809,   810,   811,   812,   813,   814,
704      815,   816,   817,   821,   828,   837,   838,   842,   843,   844,
705      848,   849,   853,   857,   858,   862,   863,   867,   868,   872,
706      873,   874,   878,   879,   883,   884,   888,   892,   893,   897,
707      898,   902,   903,   907,   908,   912,   913,   917,   924,   932,
708      933,   937,   938,   942,   943,   947,   948,   949,   953,   954,
709      958,   963,   971,   979,   980,   982,   983,   984,   985,   986,
710      987,   988,   989,   993,   997,  1001,  1005,  1006,  1012,  1016,
711     1017,  1021,  1022,  1026,  1031,  1032,  1036,  1040,  1041,  1045,
712     1046,  1050,  1052,  1054,  1058,  1059,  1063,  1064,  1068,  1073,
713     1074
714 };
715 #endif
716 
717 #if YYDEBUG || YYERROR_VERBOSE || 1
718 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
719    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
720 static const char *const yytname[] =
721 {
722   "\"end of source\"", "error", "$undefined", "UNRECOGNIZED", "ELLIPSIS",
723   "INCREMENT", "DECIMAL", "OCTAL", "HEX", "FLOAT_", "EXP_FLOAT", "STRING",
724   "ESCAPED_STRING", "IDENTIFIER_1_0", "PHYSICAL_IDENTIFIER_1_0", "VERSION",
725   "UNTERM_STRING", "UNTERM_ESCAPED_STRING", "VERS_1_0", "VERS_2_0",
726   "KW___no_header", "KW___row_length", "KW___untyped", "KW_alias",
727   "KW_column", "KW_const", "KW_control", "KW_database", "KW_decode",
728   "KW_default", "KW_encode", "KW_extern", "KW_false", "KW_fmtdef",
729   "KW_function", "KW_include", "KW_limit", "KW_physical", "KW_read",
730   "KW_readonly", "KW_return", "KW_schema", "KW_static", "KW_table",
731   "KW_template", "KW_trigger", "KW_true", "KW_type", "KW_typedef",
732   "KW_typeset", "KW_validate", "KW_version", "KW_view", "KW_virtual",
733   "KW_void", "KW_write", "PT_ASTLIST", "PT_PARSE", "PT_SOURCE",
734   "PT_VERSION_1_0", "PT_VERSION_2", "PT_SCHEMA_1_0", "PT_SCHEMA_2_0",
735   "PT_INCLUDE", "PT_TYPEDEF", "PT_FQN", "PT_IDENT", "PT_PHYSIDENT",
736   "PT_UINT", "PT_TYPESET", "PT_TYPESETDEF", "PT_FORMAT", "PT_CONST",
737   "PT_ALIAS", "PT_EXTERN", "PT_FUNCTION", "PT_UNTYPED", "PT_ROWLENGTH",
738   "PT_FUNCDECL", "PT_EMPTY", "PT_SCHEMASIG", "PT_SCHEMAFORMAL",
739   "PT_RETURNTYPE", "PT_FACTSIG", "PT_FUNCSIG", "PT_FUNCPARAMS",
740   "PT_FORMALPARAM", "PT_ELLIPSIS", "PT_FUNCPROLOGUE", "PT_RETURN",
741   "PT_PRODSTMT", "PT_PRODTRIGGER", "PT_SCHEMA", "PT_VALIDATE",
742   "PT_PHYSICAL", "PT_PHYSPROLOGUE", "PT_PHYSSTMT", "PT_PHYSBODYSTMT",
743   "PT_TABLE", "PT_TABLEPARENTS", "PT_TABLEBODY", "PT_FUNCEXPR",
744   "PT_FACTPARMS", "PT_COLUMN", "PT_COLUMNEXPR", "PT_COLDECL",
745   "PT_TYPEDCOL", "PT_COLSTMT", "PT_DFLTVIEW", "PT_PHYSMBR", "PT_PHYSCOL",
746   "PT_PHYSCOLDEF", "PT_COLSCHEMAPARMS", "PT_COLSCHEMAPARAM",
747   "PT_COLUNTYPED", "PT_DATABASE", "PT_TYPEEXPR", "PT_DBBODY", "PT_DBDAD",
748   "PT_DBMEMBER", "PT_TBLMEMBER", "PT_NOHEADER", "PT_CASTEXPR",
749   "PT_CONSTVECT", "PT_NEGATE", "PT_UNARYPLUS", "PT_VERSNAME", "PT_ARRAY",
750   "PT_PHYSENCREF", "PT_TYPEDCOLEXPR", "PT_VIEW", "PT_VIEWPARAM",
751   "PT_VIEWPARENTS", "PT_VIEWPARENT", "PT_MEMBEREXPR", "PT_JOINEXPR", "';'",
752   "','", "'{'", "'}'", "'['", "']'", "'*'", "'='", "'('", "')'", "'<'",
753   "'>'", "'|'", "'@'", "'-'", "'+'", "'/'", "'.'", "':'", "$accept",
754   "parse", "source", "version_1_0", "schema_1_0", "schema_1_0_decl",
755   "typedef_1_0_decl", "typedef_1_0_new_name_list", "typeset_1_0_decl",
756   "typeset_1_0_new_name", "typeset_1_0_def", "typespec_1_0_list",
757   "typespec_1_0", "dim_1_0", "format_1_0_decl", "format_1_0_new_name",
758   "format_1_0_name", "const_1_0_decl", "alias_1_0_decl",
759   "alias_1_0_new_name", "function_1_0_decl", "func_1_0_decl",
760   "untyped_func_1_0_decl", "row_length_func_1_0_decl",
761   "opt_func_1_0_schema_sig", "func_1_0_schema_sig",
762   "func_1_0_schema_formals", "func_1_0_schema_formal",
763   "func_1_0_return_type", "opt_func_1_0_fact_sig", "func_1_0_fact_sig",
764   "func_1_0_fact_signature", "func_1_0_fact_params", "fact_param_1_0",
765   "func_1_0_param_sig", "func_1_0_param_signature",
766   "func_1_0_formal_params", "formal_param_1_0", "func_1_0_vararg_formals",
767   "func_1_0_prologue", "script_1_0_stmt_seq", "script_1_0_stmt",
768   "extern_1_0_decl", "ext_func_1_0_decl", "script_1_0_decl",
769   "validate_1_0_decl", "physical_1_0_decl", "phys_1_0_return_type",
770   "phys_1_0_prologue", "phys_1_0_body", "phys_1_0_body_stmt",
771   "phys_1_0_stmt", "table_1_0_decl", "opt_tbl_1_0_parents",
772   "tbl_1_0_parents", "tbl_1_0_body", "tbl_1_0_stmt_seq", "tbl_1_0_stmt",
773   "production_1_0_stmt", "col_1_0_modifiers", "col_1_0_modifier_seq",
774   "col_1_0_modifier", "col_1_0_decl", "phys_enc_ref",
775   "typed_column_decl_1_0", "col_ident", "phys_ident",
776   "opt_column_body_1_0", "column_body_1_0", "column_stmt_1_0",
777   "default_view_1_0_decl", "physmbr_1_0_decl", "phys_coldef_1_0",
778   "opt_col_schema_parms_1_0", "col_schema_parms_1_0",
779   "col_schema_parm_1_0", "col_schema_value_1_0", "cond_expr_1_0",
780   "expression_1_0", "primary_expr_1_0", "func_expr_1_0",
781   "schema_parms_1_0", "schema_parm_1_0", "opt_factory_parms_1_0",
782   "factory_parms_1_0", "factory_parms", "opt_func_1_0_parms",
783   "func_1_0_parms", "uint_expr_1_0", "float_expr_1_0", "string_expr_1_0",
784   "const_vect_expr_1_0", "opt_const_vect_exprlist_1_0",
785   "const_vect_exprlist_1_0", "bool_expr_1_0", "type_expr_1_0",
786   "member_expr_2_0", "join_expr_2_0", "database_1_0_decl",
787   "opt_database_dad_1_0", "database_body_1_0", "database_members_1_0",
788   "database_member_1_0", "opt_template_1_0", "db_member_1_0",
789   "table_member_1_0", "include_directive", "fqn_1_0", "ident_1_0", "empty",
790   "fqn_vers", "fqn_opt_vers", "version_2_0", "schema_2_0",
791   "schema_2_0_decl", "view_2_0_decl", "view_parms", "view_parm",
792   "opt_view_body", "view_body", "view_member", "opt_view_parents",
793   "view_parents", "view_parent", "view_parent_parms", YY_NULLPTR
794 };
795 #endif
796 
797 # ifdef YYPRINT
798 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
799    (internal) symbol number NUM (which must be that of a token).  */
800 static const yytype_uint16 yytoknum[] =
801 {
802        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
803      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
804      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
805      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
806      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
807      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
808      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
809      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
810      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
811      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
812      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
813      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
814      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
815      385,   386,   387,   388,   389,   390,    59,    44,   123,   125,
816       91,    93,    42,    61,    40,    41,    60,    62,   124,    64,
817       45,    43,    47,    46,    58
818 };
819 # endif
820 
821 #define YYPACT_NINF -350
822 
823 #define yypact_value_is_default(Yystate) \
824   (!!((Yystate) == (-350)))
825 
826 #define YYTABLE_NINF -247
827 
828 #define yytable_value_is_error(Yytable_value) \
829   0
830 
831   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
832      STATE-NUM.  */
833 static const yytype_int16 yypact[] =
834 {
835      585,  -350,   121,   121,   121,    35,   121,     7,   144,    15,
836       44,   121,   121,   121,    35,   374,  -350,   173,   179,   692,
837      692,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,
838     -350,  -350,  -350,  -350,  -350,   720,  -350,    -7,  -350,   121,
839      -53,     5,    40,  -350,  -350,    70,   121,    -6,   121,   121,
840       72,  -350,  -350,  -350,    25,  -350,  -350,  -350,   175,     7,
841     -350,   137,    -7,    90,    98,  -350,   142,   160,  -350,  -350,
842      692,  -350,   121,  -350,   720,  -350,  -350,   257,   166,    98,
843      -82,   516,  -350,   121,   167,  -350,  -350,   180,    98,    93,
844      113,   121,  -350,   104,  -350,   121,    56,  -350,   121,  -350,
845       25,  -350,   121,  -350,   121,   182,  -350,   292,  -350,   121,
846      207,  -350,  -350,   186,  -350,  -350,  -350,  -350,  -350,  -350,
847     -350,  -350,  -350,  -350,  -350,   561,  -350,  -350,  -350,  -350,
848     -350,  -350,  -350,  -350,  -350,  -350,   561,  -350,   121,   389,
849     -350,   561,   561,   226,  -350,  -350,  -350,  -350,  -350,  -350,
850     -350,  -350,  -350,  -350,  -350,     0,    -1,  -350,   224,     5,
851     -350,    66,  -350,  -350,   240,   244,  -350,    72,  -350,  -350,
852      121,   235,  -350,   235,   242,  -350,    75,  -350,  -350,   121,
853      109,  -350,  -350,   121,   264,  -350,   285,   268,  -350,   267,
854      152,  -350,  -350,   -32,  -350,  -350,  -350,  -350,   561,   121,
855      561,   286,  -350,  -350,  -350,  -350,  -350,    85,  -350,   170,
856     -350,  -350,  -350,  -350,  -350,  -350,    98,    20,   294,  -350,
857     -350,   197,   121,   293,   288,   388,  -350,    -8,  -350,    43,
858      121,  -350,  -350,   121,   410,  -350,  -350,     4,   234,  -350,
859     -350,  -350,   121,  -350,   121,   192,  -350,  -350,  -350,   561,
860      561,   389,   121,   516,   -15,  -350,  -350,  -350,   201,   561,
861     -350,  -350,   121,   121,   121,   429,   306,   236,  -350,  -350,
862       29,   220,   100,   318,  -350,  -350,   121,   422,   317,   453,
863      320,   389,  -350,   455,   121,  -350,    -8,  -350,   327,   328,
864     -350,  -350,   389,   437,  -350,   437,    38,   224,  -350,  -350,
865     -350,  -350,  -350,   121,   329,  -350,  -350,  -350,   224,   333,
866      322,   561,   561,  -350,  -350,   332,   341,  -350,   121,   121,
867      343,  -350,  -350,    18,   121,  -350,  -350,   121,   196,   468,
868      337,   271,  -350,  -350,  -350,    17,   121,  -350,   342,   318,
869      318,  -350,    95,  -350,    17,  -350,   200,   344,   561,   350,
870      474,   210,  -350,  -350,  -350,    -3,   223,   224,  -350,   561,
871      561,   214,  -350,   263,  -350,  -350,  -350,  -350,  -350,  -350,
872      121,  -350,   351,   347,  -350,   121,  -350,  -350,  -350,   561,
873      357,   358,   128,  -350,  -350,   121,  -350,   343,   485,   363,
874     -350,  -350,    28,   196,  -350,   561,    36,  -350,   121,   -96,
875      121,  -350,  -350,  -350,  -350,    37,   356,   561,   366,  -350,
876      233,   389,  -350,   389,  -350,   561,  -350,    64,    94,   121,
877     -350,    55,   561,   360,   367,  -350,    51,   561,  -350,  -350,
878     -350,  -350,   343,  -350,  -350,   181,  -350,   196,  -350,   363,
879       97,  -350,  -350,   364,  -350,   208,  -350,   372,   373,  -350,
880     -350,   561,  -350,  -350,    98,   107,  -350,  -350,   224,   368,
881      369,   370,  -350,   371,    55,  -350,  -350,   118,   121,   121,
882      121,  -350,   121,  -350,   376,    51,  -350,   386,  -350,   363,
883     -350,  -350,   561,   387,  -350,  -350,   135,  -350,  -350,   412,
884      561,   561,  -350,  -350,  -350,  -350,   218,  -350,   121,   375,
885     -350,  -350,  -350,  -350,   140,  -350,  -350,   380,   155,   158,
886      121,  -350,   378,   561,  -350,  -350,  -350,  -350,  -350,   561,
887      162,   183,  -350,  -350
888 };
889 
890   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
891      Performed when YYTABLE does not specify something else to do.  Zero
892      means the default is an error.  */
893 static const yytype_uint16 yydefact[] =
894 {
895        0,     2,     0,     0,     0,     0,     0,   244,     0,   244,
896      244,     0,     0,     0,     0,     0,    23,     0,     0,     0,
897        4,     8,    10,    11,    12,    13,    14,    15,    16,    17,
898       18,    19,    20,    21,    22,     0,   243,     0,   233,     0,
899       32,     0,   244,    89,    88,     0,     0,    38,     0,     0,
900        0,    43,    44,    45,     0,    50,    49,   232,     0,   244,
901       90,   244,     0,     0,    28,    92,     0,     0,     1,     3,
902        5,     9,     0,   251,     6,   249,   252,     0,     0,    42,
903        0,     0,   245,     0,     0,   219,    36,     0,    38,     0,
904        0,     0,   213,     0,    52,     0,    32,    56,     0,    57,
905        0,    94,     0,    91,     0,     0,   106,     0,    25,     0,
906        0,     7,   248,     0,   250,   235,   236,   237,   238,   239,
907      240,   241,   242,   234,    41,     0,   199,   201,   200,   202,
908      203,   204,   205,   143,   212,   211,   244,    35,     0,     0,
909      172,     0,     0,     0,   171,    34,   168,   173,   174,   175,
910      176,   177,   178,   181,   182,   170,   233,   247,   244,   246,
911      220,   244,   218,    37,     0,     0,    54,     0,    51,    55,
912        0,   244,    95,   244,   107,   108,     0,   105,    24,     0,
913        0,    30,    27,     0,     0,   209,     0,   208,   207,     0,
914        0,   185,   189,   187,   179,   180,    33,   216,     0,     0,
915        0,     0,   191,   190,   229,   227,   221,   244,   223,     0,
916      225,   226,   228,    48,    47,    53,   214,   244,     0,    59,
917       58,     0,     0,     0,   126,   130,   131,   244,   132,   244,
918        0,   123,   111,     0,     0,   112,   114,     0,     0,   128,
919      121,    26,     0,    29,     0,     0,   254,    40,   206,     0,
920        0,     0,     0,     0,     0,   166,   215,   193,     0,   244,
921      222,   224,     0,     0,     0,     0,     0,   244,    66,    61,
922      244,     0,     0,     0,    93,   109,     0,     0,     0,     0,
923      244,     0,   119,     0,     0,   158,   244,   118,     0,     0,
924      110,   113,     0,     0,   115,     0,    32,   244,   127,   130,
925      129,    31,   256,     0,   244,   210,   169,   186,   244,     0,
926        0,     0,     0,   192,   197,     0,   196,   195,     0,     0,
927      244,    68,    60,     0,     0,    62,    79,     0,     0,     0,
928        0,   244,    75,    70,    81,     0,     0,    46,     0,     0,
929        0,   100,     0,    98,     0,    96,     0,     0,     0,     0,
930        0,     0,   160,   163,   165,   164,     0,   244,   120,     0,
931        0,     0,   133,     0,   142,   141,   134,   137,   136,   255,
932        0,   264,     0,     0,   188,     0,   167,   194,   184,     0,
933        0,     0,     0,    63,    80,     0,    67,   244,     0,   244,
934       77,    69,     0,     0,    71,     0,     0,    84,     0,     0,
935        0,   101,   102,    97,    99,     0,     0,     0,     0,   152,
936        0,     0,   159,     0,   153,     0,   157,     0,     0,     0,
937      140,   244,     0,     0,   265,   266,   244,   244,   217,   198,
938      230,   231,   244,    64,    78,     0,    72,     0,    76,   244,
939        0,    83,    85,     0,    82,     0,   104,     0,     0,   116,
940      155,     0,   161,   162,   164,     0,   125,   124,   244,     0,
941        0,     0,   151,     0,   145,   146,   144,     0,     0,     0,
942        0,   263,     0,   257,     0,   258,   259,     0,    65,   244,
943       73,    86,     0,     0,   122,   117,     0,   154,   135,     0,
944        0,     0,   138,   147,   139,   269,     0,   267,     0,     0,
945      253,   260,   183,    74,     0,   103,   156,     0,     0,     0,
946        0,   268,     0,     0,    87,   150,   148,   149,   270,     0,
947        0,     0,   261,   262
948 };
949 
950   /* YYPGOTO[NTERM-NUM].  */
951 static const yytype_int16 yypgoto[] =
952 {
953     -350,  -350,  -350,  -350,   484,    39,  -350,  -350,  -350,  -350,
954     -350,  -350,    22,   266,  -350,   471,  -350,  -350,  -350,  -350,
955      212,    84,  -350,  -350,   524,  -350,  -350,   377,   -37,   361,
956     -350,  -350,  -213,  -287,  -350,  -350,  -310,  -349,  -297,  -350,
957      191,  -124,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,
958      194,   123,  -350,  -350,  -350,  -350,  -350,   303,  -350,  -350,
959     -350,   300,  -350,  -350,   245,  -350,    82,  -350,  -350,    78,
960     -350,  -215,   265,  -350,  -350,   132,   134,  -333,   172,  -350,
961     -350,   258,   301,  -289,   259,  -350,   126,  -350,  -136,  -350,
962     -350,  -350,  -350,  -350,  -350,   169,  -350,  -350,  -350,  -350,
963     -350,  -350,   349,  -350,  -350,  -350,  -350,    -2,   246,   157,
964        1,   -59,  -350,  -350,   480,  -350,  -350,   256,  -350,  -350,
965       86,  -350,  -350,    91,  -350
966 };
967 
968   /* YYDEFGOTO[NTERM-NUM].  */
969 static const yytype_int16 yydefgoto[] =
970 {
971       -1,    17,    18,    19,    20,    21,    22,   107,    23,    63,
972      110,   180,    92,   143,    24,    45,    46,    25,    26,    78,
973       27,    51,    52,    53,    54,    55,    93,    94,    98,   218,
974      219,   266,   267,   268,   271,   330,   331,   332,   325,   337,
975      396,   397,    28,    44,    29,    30,    31,   102,   274,   342,
976      343,   345,    32,   105,   174,   177,   234,   235,   236,   237,
977      238,   239,   294,   295,   362,   363,   144,   463,   464,   465,
978      240,   282,   283,   284,   351,   352,   353,   254,   255,   146,
979      147,   190,   191,   201,   202,   258,   315,   316,   148,   149,
980      150,   151,   186,   187,   152,   398,   153,   154,    33,    84,
981      162,   207,   208,   209,   210,   211,    34,   155,    38,   326,
982      157,   158,    35,    74,    75,    76,   245,   246,   474,   475,
983      476,   372,   424,   425,   496
984 };
985 
986   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
987      positive, shift that token.  If negative, reduce the rule whose
988      number is the opposite.  If YYTABLE_NINF, syntax error.  */
989 static const yytype_int16 yytable[] =
990 {
991       37,    40,    41,   192,    47,    42,    36,   -39,   368,    41,
992       62,    64,    61,   197,   287,    82,   280,    36,   389,   373,
993       82,   101,   384,   383,   160,    39,   417,   418,    48,    49,
994       36,    36,   384,    36,   394,    79,   386,    80,    36,   171,
995      444,    36,    36,   438,    88,   175,    89,    90,    96,    36,
996       36,   320,    96,    82,   327,   327,    96,   395,    77,    71,
997       40,   125,   440,   172,    36,    48,    49,   280,   416,     7,
998       41,   358,    77,   113,    73,   470,   395,   395,    59,    97,
999      286,   159,   455,   439,   108,    36,   438,    81,    36,   467,
1000      433,   459,   436,   460,    60,   386,   159,   223,    96,   224,
1001       41,    77,   159,   173,   225,   461,   226,    40,   253,    71,
1002      204,   387,   227,    73,   228,   192,   338,   229,   486,    91,
1003      230,   338,    77,   339,   244,   340,   310,   479,   339,   204,
1004      340,   181,   384,   311,    36,   478,    96,   193,   281,   198,
1005      413,    36,   480,   103,  -246,   354,  -246,    77,    77,   504,
1006      292,    77,   199,    50,    77,    57,   192,   508,   509,    77,
1007      385,    50,   264,   275,    56,    96,    56,    56,   216,   488,
1008      437,   328,   432,    68,    40,   441,   446,    40,    81,    69,
1009      520,   159,   503,    83,   200,   384,   521,   471,    36,   281,
1010       50,   462,    77,   308,    36,   100,    81,   262,   233,    85,
1011      456,   241,   205,   318,   319,   206,    86,   327,   170,    36,
1012       77,   231,   311,   263,   232,    40,    56,    43,   106,    95,
1013      159,   205,   327,    99,   260,   357,    65,    99,   109,    97,
1014      457,   341,    40,   481,   403,   296,   341,   164,   297,   265,
1015       40,   167,   311,   487,   244,   311,   242,    77,   243,   193,
1016      159,   168,    77,   145,   494,   311,   233,   165,   298,   293,
1017      159,   159,    40,   299,   301,   226,   311,    77,    40,    99,
1018       36,   506,   442,   228,   346,   354,   514,   354,   111,   355,
1019      104,   442,   159,   311,   115,   116,   265,   117,   311,   251,
1020      193,   516,   329,   188,   517,   118,   112,   184,   522,   252,
1021      119,   159,   124,   311,   120,   161,   311,   189,   185,   121,
1022      311,   423,   122,   194,   195,   203,   163,   277,   212,   523,
1023      176,    40,    40,   123,   278,    40,    40,   156,   220,   303,
1024      220,   311,   183,    96,   399,   272,    95,   166,   312,   304,
1025      273,   169,    96,   182,   406,   265,   265,   411,   313,   388,
1026      329,   251,   483,   507,    77,   510,   334,   412,   335,   414,
1027      458,   419,    77,   336,   212,   511,   415,   196,   159,   450,
1028      200,   156,   257,   323,   269,   364,   451,   364,   324,   222,
1029       40,   217,   156,    40,   285,   213,   285,   156,   156,   214,
1030       40,    40,    66,    67,    96,   126,   127,   128,   445,   420,
1031      247,   421,    36,    96,   265,   249,   422,   265,   392,   355,
1032      423,   454,   250,   393,   329,   329,   317,   159,   126,   127,
1033      128,   305,   306,    36,    40,   145,   248,   333,   178,   179,
1034      259,   314,   223,    40,   224,    40,   276,   285,   270,   225,
1035      279,   226,   321,   285,   156,   256,   156,   227,   472,   228,
1036       36,   133,   229,   322,   203,   230,   344,   329,   347,   329,
1037      348,   371,   401,   402,   349,   203,   281,   159,    40,   356,
1038      359,   360,   370,    40,   374,   375,   288,   378,   379,   289,
1039      382,   390,   391,   376,   377,   400,   409,   407,   410,   426,
1040      302,   427,   498,   430,   431,   156,   156,   472,   434,   156,
1041      435,   447,   449,    70,   469,   156,   468,   482,   484,   485,
1042      492,   489,   490,   491,   203,   500,   515,    87,   513,   309,
1043      408,   519,   126,   127,   128,   129,   130,   131,   132,    36,
1044      133,   502,   505,    58,   221,   405,   404,   291,   300,   365,
1045      366,   365,   493,   452,   215,   350,   231,   453,   134,   290,
1046      361,   429,   307,   477,   114,   367,   261,   156,   156,   369,
1047      497,   501,   135,     0,   380,   381,     0,   126,   127,   128,
1048      129,   130,   131,   132,    36,   133,     0,     0,   466,   448,
1049        0,     0,     0,   473,   317,     1,     0,     0,     0,     0,
1050        0,     0,     0,   134,   156,     0,     0,     0,     0,   314,
1051        0,     0,     0,     0,     0,   156,   156,   135,     2,     0,
1052        3,     0,     4,     0,     0,   203,     5,     0,     6,     7,
1053        8,   428,     9,     0,     0,   156,    10,     0,    11,     0,
1054        0,     0,     0,    12,    13,    14,    15,     0,     0,     0,
1055        0,   156,     0,     0,   443,     0,     0,     0,     0,     0,
1056        0,     0,     0,   156,     0,     0,   136,     0,   137,     0,
1057      138,   156,   139,     0,     0,   140,   141,   142,   156,     0,
1058        0,     0,     0,   156,     0,     0,     0,     0,     0,     0,
1059        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060        0,     0,     0,     0,     0,     0,     0,   156,     0,     0,
1061        0,   136,     0,     0,     0,   138,     0,   139,     0,     0,
1062      140,   141,   142,     0,   495,     2,     0,     3,   499,     4,
1063        0,    16,     0,     5,     0,     6,     7,     8,   156,     9,
1064        0,     0,     0,    10,     0,    11,   156,   156,     0,     0,
1065       12,    13,    14,     2,   512,     3,     0,     4,     0,     0,
1066        0,     5,     0,     6,     7,     8,   518,     9,     0,   156,
1067        0,    10,     0,    11,     0,   156,     0,     0,    12,    13,
1068       14,     0,    72,     0,     0,     0,     0,     0,     0,     0,
1069        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1070        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1071        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073        0,     0,     0,     0,     0,     0,     0,     0,    16,     0,
1074        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1075        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1076        0,     0,     0,     0,     0,     0,    16
1077 };
1078 
1079 static const yytype_int16 yycheck[] =
1080 {
1081        2,     3,     4,   139,     6,     4,    13,    13,   297,    11,
1082       12,    13,    11,    14,   229,    15,    24,    13,   328,   308,
1083       15,    58,     4,   320,    83,     3,   359,   360,    21,    22,
1084       13,    13,     4,    13,   331,    37,   323,    39,    13,    98,
1085      136,    13,    13,   392,    46,   104,    48,    49,    50,    13,
1086       13,   264,    54,    15,    26,    26,    58,    40,   154,    20,
1087       62,   143,   395,   100,    13,    21,    22,    24,   357,    34,
1088       72,   286,   154,    72,    35,    24,    40,    40,    34,    54,
1089       37,    83,   415,   393,    62,    13,   435,   140,    13,   422,
1090      387,    36,   389,    38,    10,   382,    98,    22,   100,    24,
1091      102,   154,   104,   102,    29,    50,    31,   109,   140,    70,
1092       44,   324,    37,    74,    39,   251,    21,    42,   451,    47,
1093       45,    21,   154,    28,   183,    30,   141,   437,    28,    44,
1094       30,   109,     4,   148,    13,   432,   138,   139,   146,   140,
1095      143,    13,   439,    59,   144,   281,   146,   154,   154,   482,
1096      146,   154,   153,   146,   154,    11,   292,   490,   491,   154,
1097      142,   146,   142,   222,     7,   167,     9,    10,   170,   458,
1098      142,   142,   385,     0,   176,   139,   139,   179,   140,     0,
1099      513,   183,   479,   143,   146,     4,   519,   136,    13,   146,
1100      146,   136,   154,   252,    13,    20,   140,    27,   176,    42,
1101      136,   179,   136,   262,   263,   139,   136,    26,   152,    13,
1102      154,   136,   148,    43,   139,   217,    59,     5,    61,    50,
1103      222,   136,    26,    54,   139,   284,    14,    58,   138,    54,
1104      136,   136,   234,   136,   139,   237,   136,   144,   237,   217,
1105      242,   137,   148,   136,   303,   148,   137,   154,   139,   251,
1106      252,   147,   154,    81,   136,   148,   234,   144,    24,   237,
1107      262,   263,   264,    29,   242,    31,   148,   154,   270,   100,
1108       13,   136,   396,    39,   276,   411,   136,   413,   136,   281,
1109      143,   405,   284,   148,    27,    28,   264,    30,   148,   137,
1110      292,   136,   270,   136,   136,    38,   136,   125,   136,   147,
1111       43,   303,   136,   148,    47,   138,   148,   138,   136,    52,
1112      148,   370,    55,   141,   142,   158,   136,    29,   161,   136,
1113      138,   323,   324,    77,    36,   327,   328,    81,   171,   137,
1114      173,   148,   146,   335,   336,   138,   167,    91,   137,   147,
1115      143,    95,   344,   136,   144,   323,   324,   137,   147,   327,
1116      328,   137,   144,   489,   154,   137,   136,   147,   138,   136,
1117      419,   147,   154,   143,   207,   147,   143,   141,   370,   136,
1118      146,   125,   200,   137,   217,   293,   143,   295,   142,   137,
1119      382,   146,   136,   385,   227,   145,   229,   141,   142,   145,
1120      392,   393,    18,    19,   396,     6,     7,     8,   400,   136,
1121      136,   138,    13,   405,   382,   137,   143,   385,   137,   411,
1122      469,   413,   145,   142,   392,   393,   259,   419,     6,     7,
1123        8,   249,   250,    13,   426,   253,   141,   270,   136,   137,
1124      144,   259,    22,   435,    24,   437,   143,   280,   144,    29,
1125       52,    31,    13,   286,   198,   199,   200,    37,   426,    39,
1126       13,    14,    42,   147,   297,    45,   138,   435,    36,   437,
1127      143,   304,   339,   340,    11,   308,   146,   469,   470,    14,
1128      143,   143,   143,   475,   141,   153,   230,   145,   137,   233,
1129      137,    13,   145,   311,   312,   143,   136,   143,    14,   138,
1130      244,   144,   470,   136,   136,   249,   250,   475,    13,   253,
1131      137,   145,   136,    19,   137,   259,   146,   143,   136,   136,
1132      139,   143,   143,   143,   357,   139,   136,    46,   143,   253,
1133      348,   143,     6,     7,     8,     9,    10,    11,    12,    13,
1134       14,   145,   145,     9,   173,   344,   342,   234,   238,   293,
1135      295,   295,   464,   411,   167,   280,   136,   413,    32,   139,
1136      292,   379,   251,   427,    74,   296,   207,   311,   312,   303,
1137      469,   475,    46,    -1,   318,   319,    -1,     6,     7,     8,
1138        9,    10,    11,    12,    13,    14,    -1,    -1,   421,   407,
1139       -1,    -1,    -1,   426,   427,     0,    -1,    -1,    -1,    -1,
1140       -1,    -1,    -1,    32,   348,    -1,    -1,    -1,    -1,   427,
1141       -1,    -1,    -1,    -1,    -1,   359,   360,    46,    23,    -1,
1142       25,    -1,    27,    -1,    -1,   458,    31,    -1,    33,    34,
1143       35,   375,    37,    -1,    -1,   379,    41,    -1,    43,    -1,
1144       -1,    -1,    -1,    48,    49,    50,    51,    -1,    -1,    -1,
1145       -1,   395,    -1,    -1,   398,    -1,    -1,    -1,    -1,    -1,
1146       -1,    -1,    -1,   407,    -1,    -1,   140,    -1,   142,    -1,
1147      144,   415,   146,    -1,    -1,   149,   150,   151,   422,    -1,
1148       -1,    -1,    -1,   427,    -1,    -1,    -1,    -1,    -1,    -1,
1149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1150       -1,    -1,    -1,    -1,    -1,    -1,    -1,   451,    -1,    -1,
1151       -1,   140,    -1,    -1,    -1,   144,    -1,   146,    -1,    -1,
1152      149,   150,   151,    -1,   468,    23,    -1,    25,   472,    27,
1153       -1,   136,    -1,    31,    -1,    33,    34,    35,   482,    37,
1154       -1,    -1,    -1,    41,    -1,    43,   490,   491,    -1,    -1,
1155       48,    49,    50,    23,   498,    25,    -1,    27,    -1,    -1,
1156       -1,    31,    -1,    33,    34,    35,   510,    37,    -1,   513,
1157       -1,    41,    -1,    43,    -1,   519,    -1,    -1,    48,    49,
1158       50,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,
1164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1166       -1,    -1,    -1,    -1,    -1,    -1,   136
1167 };
1168 
1169   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1170      symbol of state STATE-NUM.  */
1171 static const yytype_uint16 yystos[] =
1172 {
1173        0,     0,    23,    25,    27,    31,    33,    34,    35,    37,
1174       41,    43,    48,    49,    50,    51,   136,   156,   157,   158,
1175      159,   160,   161,   163,   169,   172,   173,   175,   197,   199,
1176      200,   201,   207,   253,   261,   267,    13,   262,   263,   167,
1177      262,   262,   265,   175,   198,   170,   171,   262,    21,    22,
1178      146,   176,   177,   178,   179,   180,   264,    11,   179,    34,
1179      176,   265,   262,   164,   262,   175,    18,    19,     0,     0,
1180      159,   160,    52,   160,   268,   269,   270,   154,   174,   262,
1181      262,   140,    15,   143,   254,   264,   136,   170,   262,   262,
1182      262,    47,   167,   181,   182,   250,   262,    54,   183,   250,
1183       20,   183,   202,   176,   143,   208,   264,   162,   167,   138,
1184      165,   136,   136,   265,   269,    27,    28,    30,    38,    43,
1185       47,    52,    55,   263,   136,   143,     6,     7,     8,     9,
1186       10,    11,    12,    14,    32,    46,   140,   142,   144,   146,
1187      149,   150,   151,   168,   221,   233,   234,   235,   243,   244,
1188      245,   246,   249,   251,   252,   262,   263,   265,   266,   262,
1189      266,   138,   255,   136,   144,   144,   263,   137,   147,   263,
1190      152,   266,   183,   265,   209,   266,   138,   210,   136,   137,
1191      166,   167,   136,   146,   233,   233,   247,   248,   264,   250,
1192      236,   237,   243,   262,   233,   233,   141,    14,   140,   153,
1193      146,   238,   239,   264,    44,   136,   139,   256,   257,   258,
1194      259,   260,   264,   145,   145,   182,   262,   146,   184,   185,
1195      264,   184,   137,    22,    24,    29,    31,    37,    39,    42,
1196       45,   136,   139,   167,   211,   212,   213,   214,   215,   216,
1197      225,   167,   137,   139,   266,   271,   272,   136,   141,   137,
1198      145,   137,   147,   140,   232,   233,   263,   233,   240,   144,
1199      139,   257,    27,    43,   142,   167,   186,   187,   188,   264,
1200      144,   189,   138,   143,   203,   266,   143,    29,    36,    52,
1201       24,   146,   226,   227,   228,   264,    37,   226,   263,   263,
1202      139,   212,   146,   167,   217,   218,   262,   265,    24,    29,
1203      216,   167,   263,   137,   147,   233,   233,   237,   266,   168,
1204      141,   148,   137,   147,   233,   241,   242,   264,   266,   266,
1205      187,    13,   147,   137,   142,   193,   264,    26,   142,   167,
1206      190,   191,   192,   264,   136,   138,   143,   194,    21,    28,
1207       30,   136,   204,   205,   138,   206,   262,    36,   143,    11,
1208      227,   229,   230,   231,   243,   262,    14,   266,   226,   143,
1209      143,   236,   219,   220,   221,   263,   219,   239,   238,   272,
1210      143,   264,   276,   238,   141,   153,   233,   233,   145,   137,
1211      263,   263,   137,   193,     4,   142,   188,   187,   167,   191,
1212       13,   145,   137,   142,   193,    40,   195,   196,   250,   262,
1213      143,   206,   206,   139,   205,   195,   144,   143,   233,   136,
1214       14,   137,   147,   143,   136,   143,   238,   232,   232,   147,
1215      136,   138,   143,   266,   277,   278,   138,   144,   263,   233,
1216      136,   136,   187,   193,    13,   137,   193,   142,   192,   191,
1217      232,   139,   196,   263,   136,   262,   139,   145,   233,   136,
1218      136,   143,   230,   231,   262,   232,   136,   136,   266,    36,
1219       38,    50,   136,   222,   223,   224,   264,   232,   146,   137,
1220       24,   136,   167,   264,   273,   274,   275,   241,   193,   191,
1221      193,   136,   143,   144,   136,   136,   232,   136,   238,   143,
1222      143,   143,   139,   224,   136,   263,   279,   278,   167,   263,
1223      139,   275,   145,   193,   232,   145,   136,   243,   232,   232,
1224      137,   147,   263,   143,   136,   136,   136,   136,   263,   143,
1225      232,   232,   136,   136
1226 };
1227 
1228   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1229 static const yytype_uint16 yyr1[] =
1230 {
1231        0,   155,   156,   156,   157,   157,   157,   158,   159,   159,
1232      160,   160,   160,   160,   160,   160,   160,   160,   160,   160,
1233      160,   160,   160,   160,   161,   162,   162,   163,   164,   165,
1234      166,   166,   167,   167,   168,   168,   169,   169,   170,   171,
1235      172,   173,   174,   175,   176,   176,   176,   177,   178,   179,
1236      179,   180,   181,   181,   182,   182,   183,   183,   184,   184,
1237      185,   186,   186,   186,   186,   186,   187,   187,   188,   189,
1238      190,   190,   190,   190,   190,   191,   191,   192,   192,   193,
1239      193,   194,   194,   194,   195,   195,   196,   196,   197,   198,
1240      199,   199,   200,   201,   202,   202,   203,   203,   204,   204,
1241      205,   205,   205,   205,   206,   207,   208,   208,   209,   209,
1242      210,   210,   211,   211,   212,   212,   212,   212,   212,   212,
1243      212,   212,   212,   212,   213,   213,   214,   214,   215,   215,
1244      216,   216,   216,   217,   217,   218,   218,   218,   219,   219,
1245      219,   220,   220,   221,   222,   222,   223,   223,   224,   224,
1246      224,   224,   225,   226,   226,   226,   226,   227,   228,   228,
1247      229,   229,   230,   230,   231,   231,   232,   232,   233,   233,
1248      234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1249      234,   234,   234,   235,   235,   236,   236,   237,   237,   237,
1250      238,   238,   239,   240,   240,   241,   241,   242,   242,   243,
1251      243,   243,   244,   244,   245,   245,   246,   247,   247,   248,
1252      248,   249,   249,   250,   250,   251,   251,   252,   253,   254,
1253      254,   255,   255,   256,   256,   257,   257,   257,   258,   258,
1254      259,   260,   261,   262,   262,   262,   262,   262,   262,   262,
1255      262,   262,   262,   263,   264,   265,   266,   266,   267,   268,
1256      268,   269,   269,   270,   271,   271,   272,   273,   273,   274,
1257      274,   275,   275,   275,   276,   276,   277,   277,   278,   279,
1258      279
1259 };
1260 
1261   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1262 static const yytype_uint8 yyr2[] =
1263 {
1264        0,     2,     1,     2,     1,     2,     2,     3,     1,     2,
1265        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1266        1,     1,     1,     1,     4,     1,     3,     4,     1,     3,
1267        1,     3,     1,     4,     1,     1,     3,     4,     1,     1,
1268        6,     4,     1,     2,     1,     1,     6,     4,     4,     1,
1269        1,     3,     1,     3,     2,     2,     1,     1,     1,     1,
1270        3,     1,     2,     3,     4,     5,     1,     3,     2,     3,
1271        1,     2,     3,     4,     5,     1,     3,     2,     3,     1,
1272        2,     1,     3,     3,     1,     2,     3,     5,     2,     1,
1273        2,     3,     2,     6,     1,     2,     2,     3,     1,     2,
1274        1,     2,     2,     5,     3,     4,     1,     2,     1,     3,
1275        3,     2,     1,     2,     1,     2,     5,     6,     2,     2,
1276        3,     1,     6,     1,     5,     5,     1,     2,     1,     2,
1277        1,     1,     1,     2,     2,     5,     2,     2,     4,     4,
1278        2,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1279        4,     1,     4,     3,     5,     4,     6,     3,     1,     3,
1280        1,     3,     3,     1,     1,     1,     1,     3,     1,     4,
1281        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1282        2,     1,     1,     8,     5,     1,     3,     1,     4,     1,
1283        1,     1,     3,     1,     3,     1,     1,     1,     3,     1,
1284        1,     1,     1,     1,     1,     1,     3,     1,     1,     1,
1285        3,     1,     1,     1,     3,     3,     2,     6,     4,     1,
1286        2,     2,     3,     1,     2,     1,     1,     1,     1,     1,
1287        5,     5,     2,     1,     3,     3,     3,     3,     3,     3,
1288        3,     3,     3,     1,     0,     2,     1,     1,     3,     1,
1289        2,     1,     1,     9,     1,     3,     2,     1,     1,     1,
1290        2,     5,     6,     1,     1,     2,     1,     3,     4,     1,
1291        3
1292 };
1293 
1294 
1295 #define yyerrok         (yyerrstatus = 0)
1296 #define yyclearin       (yychar = YYEMPTY)
1297 #define YYEMPTY         (-2)
1298 #define YYEOF           0
1299 
1300 #define YYACCEPT        goto yyacceptlab
1301 #define YYABORT         goto yyabortlab
1302 #define YYERROR         goto yyerrorlab
1303 
1304 
1305 #define YYRECOVERING()  (!!yyerrstatus)
1306 
1307 #define YYBACKUP(Token, Value)                                  \
1308 do                                                              \
1309   if (yychar == YYEMPTY)                                        \
1310     {                                                           \
1311       yychar = (Token);                                         \
1312       yylval = (Value);                                         \
1313       YYPOPSTACK (yylen);                                       \
1314       yystate = *yyssp;                                         \
1315       goto yybackup;                                            \
1316     }                                                           \
1317   else                                                          \
1318     {                                                           \
1319       yyerror (&yylloc, root, errors, sb, YY_("syntax error: cannot back up")); \
1320       YYERROR;                                                  \
1321     }                                                           \
1322 while (0)
1323 
1324 /* Error token number */
1325 #define YYTERROR        1
1326 #define YYERRCODE       256
1327 
1328 
1329 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1330    If N is 0, then set CURRENT to the empty location which ends
1331    the previous symbol: RHS[0] (always defined).  */
1332 
1333 #ifndef YYLLOC_DEFAULT
1334 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
1335     do                                                                  \
1336       if (N)                                                            \
1337         {                                                               \
1338           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
1339           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
1340           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
1341           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
1342         }                                                               \
1343       else                                                              \
1344         {                                                               \
1345           (Current).first_line   = (Current).last_line   =              \
1346             YYRHSLOC (Rhs, 0).last_line;                                \
1347           (Current).first_column = (Current).last_column =              \
1348             YYRHSLOC (Rhs, 0).last_column;                              \
1349         }                                                               \
1350     while (0)
1351 #endif
1352 
1353 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1354 
1355 
1356 /* Enable debugging if requested.  */
1357 #if YYDEBUG
1358 
1359 # ifndef YYFPRINTF
1360 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1361 #  define YYFPRINTF fprintf
1362 # endif
1363 
1364 # define YYDPRINTF(Args)                        \
1365 do {                                            \
1366   if (yydebug)                                  \
1367     YYFPRINTF Args;                             \
1368 } while (0)
1369 
1370 
1371 /* YY_LOCATION_PRINT -- Print the location on the stream.
1372    This macro was not mandated originally: define only if we know
1373    we won't break user code: when these are the locations we know.  */
1374 
1375 #ifndef YY_LOCATION_PRINT
1376 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1377 
1378 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
1379 
1380 YY_ATTRIBUTE_UNUSED
1381 static unsigned
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)1382 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
1383 {
1384   unsigned res = 0;
1385   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
1386   if (0 <= yylocp->first_line)
1387     {
1388       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
1389       if (0 <= yylocp->first_column)
1390         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
1391     }
1392   if (0 <= yylocp->last_line)
1393     {
1394       if (yylocp->first_line < yylocp->last_line)
1395         {
1396           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
1397           if (0 <= end_col)
1398             res += YYFPRINTF (yyo, ".%d", end_col);
1399         }
1400       else if (0 <= end_col && yylocp->first_column < end_col)
1401         res += YYFPRINTF (yyo, "-%d", end_col);
1402     }
1403   return res;
1404  }
1405 
1406 #  define YY_LOCATION_PRINT(File, Loc)          \
1407   yy_location_print_ (File, &(Loc))
1408 
1409 # else
1410 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1411 # endif
1412 #endif
1413 
1414 
1415 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
1416 do {                                                                      \
1417   if (yydebug)                                                            \
1418     {                                                                     \
1419       YYFPRINTF (stderr, "%s ", Title);                                   \
1420       yy_symbol_print (stderr,                                            \
1421                   Type, Value, Location, root, errors, sb); \
1422       YYFPRINTF (stderr, "\n");                                           \
1423     }                                                                     \
1424 } while (0)
1425 
1426 
1427 /*----------------------------------------.
1428 | Print this symbol's value on YYOUTPUT.  |
1429 `----------------------------------------*/
1430 
1431 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,ParseTree ** root,ErrorReport * errors,struct SchemaScanBlock * sb)1432 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ParseTree** root, ErrorReport * errors, struct SchemaScanBlock* sb)
1433 {
1434   FILE *yyo = yyoutput;
1435   YYUSE (yyo);
1436   YYUSE (yylocationp);
1437   YYUSE (root);
1438   YYUSE (errors);
1439   YYUSE (sb);
1440   if (!yyvaluep)
1441     return;
1442 # ifdef YYPRINT
1443   if (yytype < YYNTOKENS)
1444     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1445 # endif
1446   YYUSE (yytype);
1447 }
1448 
1449 
1450 /*--------------------------------.
1451 | Print this symbol on YYOUTPUT.  |
1452 `--------------------------------*/
1453 
1454 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,ParseTree ** root,ErrorReport * errors,struct SchemaScanBlock * sb)1455 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ParseTree** root, ErrorReport * errors, struct SchemaScanBlock* sb)
1456 {
1457   YYFPRINTF (yyoutput, "%s %s (",
1458              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1459 
1460   YY_LOCATION_PRINT (yyoutput, *yylocationp);
1461   YYFPRINTF (yyoutput, ": ");
1462   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, root, errors, sb);
1463   YYFPRINTF (yyoutput, ")");
1464 }
1465 
1466 /*------------------------------------------------------------------.
1467 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1468 | TOP (included).                                                   |
1469 `------------------------------------------------------------------*/
1470 
1471 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)1472 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1473 {
1474   YYFPRINTF (stderr, "Stack now");
1475   for (; yybottom <= yytop; yybottom++)
1476     {
1477       int yybot = *yybottom;
1478       YYFPRINTF (stderr, " %d", yybot);
1479     }
1480   YYFPRINTF (stderr, "\n");
1481 }
1482 
1483 # define YY_STACK_PRINT(Bottom, Top)                            \
1484 do {                                                            \
1485   if (yydebug)                                                  \
1486     yy_stack_print ((Bottom), (Top));                           \
1487 } while (0)
1488 
1489 
1490 /*------------------------------------------------.
1491 | Report that the YYRULE is going to be reduced.  |
1492 `------------------------------------------------*/
1493 
1494 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,ParseTree ** root,ErrorReport * errors,struct SchemaScanBlock * sb)1495 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, ParseTree** root, ErrorReport * errors, struct SchemaScanBlock* sb)
1496 {
1497   unsigned long int yylno = yyrline[yyrule];
1498   int yynrhs = yyr2[yyrule];
1499   int yyi;
1500   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1501              yyrule - 1, yylno);
1502   /* The symbols being reduced.  */
1503   for (yyi = 0; yyi < yynrhs; yyi++)
1504     {
1505       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1506       yy_symbol_print (stderr,
1507                        yystos[yyssp[yyi + 1 - yynrhs]],
1508                        &(yyvsp[(yyi + 1) - (yynrhs)])
1509                        , &(yylsp[(yyi + 1) - (yynrhs)])                       , root, errors, sb);
1510       YYFPRINTF (stderr, "\n");
1511     }
1512 }
1513 
1514 # define YY_REDUCE_PRINT(Rule)          \
1515 do {                                    \
1516   if (yydebug)                          \
1517     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, root, errors, sb); \
1518 } while (0)
1519 
1520 /* Nonzero means print parse trace.  It is left uninitialized so that
1521    multiple parsers can coexist.  */
1522 int yydebug;
1523 #else /* !YYDEBUG */
1524 # define YYDPRINTF(Args)
1525 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1526 # define YY_STACK_PRINT(Bottom, Top)
1527 # define YY_REDUCE_PRINT(Rule)
1528 #endif /* !YYDEBUG */
1529 
1530 
1531 /* YYINITDEPTH -- initial size of the parser's stacks.  */
1532 #ifndef YYINITDEPTH
1533 # define YYINITDEPTH 200
1534 #endif
1535 
1536 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1537    if the built-in stack extension method is used).
1538 
1539    Do not make this value too large; the results are undefined if
1540    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1541    evaluated with infinite-precision integer arithmetic.  */
1542 
1543 #ifndef YYMAXDEPTH
1544 # define YYMAXDEPTH 10000
1545 #endif
1546 
1547 
1548 #if YYERROR_VERBOSE
1549 
1550 # ifndef yystrlen
1551 #  if defined __GLIBC__ && defined _STRING_H
1552 #   define yystrlen strlen
1553 #  else
1554 /* Return the length of YYSTR.  */
1555 static YYSIZE_T
yystrlen(const char * yystr)1556 yystrlen (const char *yystr)
1557 {
1558   YYSIZE_T yylen;
1559   for (yylen = 0; yystr[yylen]; yylen++)
1560     continue;
1561   return yylen;
1562 }
1563 #  endif
1564 # endif
1565 
1566 # ifndef yystpcpy
1567 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1568 #   define yystpcpy stpcpy
1569 #  else
1570 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1571    YYDEST.  */
1572 static char *
yystpcpy(char * yydest,const char * yysrc)1573 yystpcpy (char *yydest, const char *yysrc)
1574 {
1575   char *yyd = yydest;
1576   const char *yys = yysrc;
1577 
1578   while ((*yyd++ = *yys++) != '\0')
1579     continue;
1580 
1581   return yyd - 1;
1582 }
1583 #  endif
1584 # endif
1585 
1586 # ifndef yytnamerr
1587 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1588    quotes and backslashes, so that it's suitable for yyerror.  The
1589    heuristic is that double-quoting is unnecessary unless the string
1590    contains an apostrophe, a comma, or backslash (other than
1591    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1592    null, do not copy; instead, return the length of what the result
1593    would have been.  */
1594 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)1595 yytnamerr (char *yyres, const char *yystr)
1596 {
1597   if (*yystr == '"')
1598     {
1599       YYSIZE_T yyn = 0;
1600       char const *yyp = yystr;
1601 
1602       for (;;)
1603         switch (*++yyp)
1604           {
1605           case '\'':
1606           case ',':
1607             goto do_not_strip_quotes;
1608 
1609           case '\\':
1610             if (*++yyp != '\\')
1611               goto do_not_strip_quotes;
1612             /* Fall through.  */
1613           default:
1614             if (yyres)
1615               yyres[yyn] = *yyp;
1616             yyn++;
1617             break;
1618 
1619           case '"':
1620             if (yyres)
1621               yyres[yyn] = '\0';
1622             return yyn;
1623           }
1624     do_not_strip_quotes: ;
1625     }
1626 
1627   if (! yyres)
1628     return yystrlen (yystr);
1629 
1630   return yystpcpy (yyres, yystr) - yyres;
1631 }
1632 # endif
1633 
1634 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1635    about the unexpected token YYTOKEN for the state stack whose top is
1636    YYSSP.
1637 
1638    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
1639    not large enough to hold the message.  In that case, also set
1640    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
1641    required number of bytes is too large to store.  */
1642 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)1643 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1644                 yytype_int16 *yyssp, int yytoken)
1645 {
1646   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1647   YYSIZE_T yysize = yysize0;
1648   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1649   /* Internationalized format string. */
1650   const char *yyformat = YY_NULLPTR;
1651   /* Arguments of yyformat. */
1652   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1653   /* Number of reported tokens (one for the "unexpected", one per
1654      "expected"). */
1655   int yycount = 0;
1656 
1657   /* There are many possibilities here to consider:
1658      - If this state is a consistent state with a default action, then
1659        the only way this function was invoked is if the default action
1660        is an error action.  In that case, don't check for expected
1661        tokens because there are none.
1662      - The only way there can be no lookahead present (in yychar) is if
1663        this state is a consistent state with a default action.  Thus,
1664        detecting the absence of a lookahead is sufficient to determine
1665        that there is no unexpected or expected token to report.  In that
1666        case, just report a simple "syntax error".
1667      - Don't assume there isn't a lookahead just because this state is a
1668        consistent state with a default action.  There might have been a
1669        previous inconsistent state, consistent state with a non-default
1670        action, or user semantic action that manipulated yychar.
1671      - Of course, the expected token list depends on states to have
1672        correct lookahead information, and it depends on the parser not
1673        to perform extra reductions after fetching a lookahead from the
1674        scanner and before detecting a syntax error.  Thus, state merging
1675        (from LALR or IELR) and default reductions corrupt the expected
1676        token list.  However, the list is correct for canonical LR with
1677        one exception: it will still contain any token that will not be
1678        accepted due to an error action in a later state.
1679   */
1680   if (yytoken != YYEMPTY)
1681     {
1682       int yyn = yypact[*yyssp];
1683       yyarg[yycount++] = yytname[yytoken];
1684       if (!yypact_value_is_default (yyn))
1685         {
1686           /* Start YYX at -YYN if negative to avoid negative indexes in
1687              YYCHECK.  In other words, skip the first -YYN actions for
1688              this state because they are default actions.  */
1689           int yyxbegin = yyn < 0 ? -yyn : 0;
1690           /* Stay within bounds of both yycheck and yytname.  */
1691           int yychecklim = YYLAST - yyn + 1;
1692           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1693           int yyx;
1694 
1695           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1696             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1697                 && !yytable_value_is_error (yytable[yyx + yyn]))
1698               {
1699                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1700                   {
1701                     yycount = 1;
1702                     yysize = yysize0;
1703                     break;
1704                   }
1705                 yyarg[yycount++] = yytname[yyx];
1706                 {
1707                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
1708                   if (! (yysize <= yysize1
1709                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1710                     return 2;
1711                   yysize = yysize1;
1712                 }
1713               }
1714         }
1715     }
1716 
1717   switch (yycount)
1718     {
1719 # define YYCASE_(N, S)                      \
1720       case N:                               \
1721         yyformat = S;                       \
1722       break
1723       YYCASE_(0, YY_("syntax error"));
1724       YYCASE_(1, YY_("syntax error, unexpected %s"));
1725       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1726       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1727       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1728       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1729 # undef YYCASE_
1730     }
1731 
1732   {
1733     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1734     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1735       return 2;
1736     yysize = yysize1;
1737   }
1738 
1739   if (*yymsg_alloc < yysize)
1740     {
1741       *yymsg_alloc = 2 * yysize;
1742       if (! (yysize <= *yymsg_alloc
1743              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1744         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1745       return 1;
1746     }
1747 
1748   /* Avoid sprintf, as that infringes on the user's name space.
1749      Don't have undefined behavior even if the translation
1750      produced a string with the wrong number of "%s"s.  */
1751   {
1752     char *yyp = *yymsg;
1753     int yyi = 0;
1754     while ((*yyp = *yyformat) != '\0')
1755       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1756         {
1757           yyp += yytnamerr (yyp, yyarg[yyi++]);
1758           yyformat += 2;
1759         }
1760       else
1761         {
1762           yyp++;
1763           yyformat++;
1764         }
1765   }
1766   return 0;
1767 }
1768 #endif /* YYERROR_VERBOSE */
1769 
1770 /*-----------------------------------------------.
1771 | Release the memory associated to this symbol.  |
1772 `-----------------------------------------------*/
1773 
1774 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,ParseTree ** root,ErrorReport * errors,struct SchemaScanBlock * sb)1775 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, ParseTree** root, ErrorReport * errors, struct SchemaScanBlock* sb)
1776 {
1777   YYUSE (yyvaluep);
1778   YYUSE (yylocationp);
1779   YYUSE (root);
1780   YYUSE (errors);
1781   YYUSE (sb);
1782   if (!yymsg)
1783     yymsg = "Deleting";
1784   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1785 
1786   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1787   switch (yytype)
1788     {
1789           case 0: /* "end of source"  */
1790 
1791       {
1792     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1793 }
1794 
1795         break;
1796 
1797     case 3: /* UNRECOGNIZED  */
1798 
1799       {
1800     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1801 }
1802 
1803         break;
1804 
1805     case 4: /* ELLIPSIS  */
1806 
1807       {
1808     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1809 }
1810 
1811         break;
1812 
1813     case 5: /* INCREMENT  */
1814 
1815       {
1816     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1817 }
1818 
1819         break;
1820 
1821     case 6: /* DECIMAL  */
1822 
1823       {
1824     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1825 }
1826 
1827         break;
1828 
1829     case 7: /* OCTAL  */
1830 
1831       {
1832     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1833 }
1834 
1835         break;
1836 
1837     case 8: /* HEX  */
1838 
1839       {
1840     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1841 }
1842 
1843         break;
1844 
1845     case 9: /* FLOAT_  */
1846 
1847       {
1848     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1849 }
1850 
1851         break;
1852 
1853     case 10: /* EXP_FLOAT  */
1854 
1855       {
1856     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1857 }
1858 
1859         break;
1860 
1861     case 11: /* STRING  */
1862 
1863       {
1864     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1865 }
1866 
1867         break;
1868 
1869     case 12: /* ESCAPED_STRING  */
1870 
1871       {
1872     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1873 }
1874 
1875         break;
1876 
1877     case 13: /* IDENTIFIER_1_0  */
1878 
1879       {
1880     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1881 }
1882 
1883         break;
1884 
1885     case 14: /* PHYSICAL_IDENTIFIER_1_0  */
1886 
1887       {
1888     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1889 }
1890 
1891         break;
1892 
1893     case 15: /* VERSION  */
1894 
1895       {
1896     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1897 }
1898 
1899         break;
1900 
1901     case 16: /* UNTERM_STRING  */
1902 
1903       {
1904     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1905 }
1906 
1907         break;
1908 
1909     case 17: /* UNTERM_ESCAPED_STRING  */
1910 
1911       {
1912     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1913 }
1914 
1915         break;
1916 
1917     case 18: /* VERS_1_0  */
1918 
1919       {
1920     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1921 }
1922 
1923         break;
1924 
1925     case 19: /* VERS_2_0  */
1926 
1927       {
1928     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1929 }
1930 
1931         break;
1932 
1933     case 20: /* KW___no_header  */
1934 
1935       {
1936     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1937 }
1938 
1939         break;
1940 
1941     case 21: /* KW___row_length  */
1942 
1943       {
1944     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1945 }
1946 
1947         break;
1948 
1949     case 22: /* KW___untyped  */
1950 
1951       {
1952     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1953 }
1954 
1955         break;
1956 
1957     case 23: /* KW_alias  */
1958 
1959       {
1960     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1961 }
1962 
1963         break;
1964 
1965     case 24: /* KW_column  */
1966 
1967       {
1968     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1969 }
1970 
1971         break;
1972 
1973     case 25: /* KW_const  */
1974 
1975       {
1976     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1977 }
1978 
1979         break;
1980 
1981     case 26: /* KW_control  */
1982 
1983       {
1984     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1985 }
1986 
1987         break;
1988 
1989     case 27: /* KW_database  */
1990 
1991       {
1992     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
1993 }
1994 
1995         break;
1996 
1997     case 28: /* KW_decode  */
1998 
1999       {
2000     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2001 }
2002 
2003         break;
2004 
2005     case 29: /* KW_default  */
2006 
2007       {
2008     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2009 }
2010 
2011         break;
2012 
2013     case 30: /* KW_encode  */
2014 
2015       {
2016     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2017 }
2018 
2019         break;
2020 
2021     case 31: /* KW_extern  */
2022 
2023       {
2024     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2025 }
2026 
2027         break;
2028 
2029     case 32: /* KW_false  */
2030 
2031       {
2032     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2033 }
2034 
2035         break;
2036 
2037     case 33: /* KW_fmtdef  */
2038 
2039       {
2040     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2041 }
2042 
2043         break;
2044 
2045     case 34: /* KW_function  */
2046 
2047       {
2048     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2049 }
2050 
2051         break;
2052 
2053     case 35: /* KW_include  */
2054 
2055       {
2056     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2057 }
2058 
2059         break;
2060 
2061     case 36: /* KW_limit  */
2062 
2063       {
2064     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2065 }
2066 
2067         break;
2068 
2069     case 37: /* KW_physical  */
2070 
2071       {
2072     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2073 }
2074 
2075         break;
2076 
2077     case 38: /* KW_read  */
2078 
2079       {
2080     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2081 }
2082 
2083         break;
2084 
2085     case 39: /* KW_readonly  */
2086 
2087       {
2088     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2089 }
2090 
2091         break;
2092 
2093     case 40: /* KW_return  */
2094 
2095       {
2096     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2097 }
2098 
2099         break;
2100 
2101     case 41: /* KW_schema  */
2102 
2103       {
2104     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2105 }
2106 
2107         break;
2108 
2109     case 42: /* KW_static  */
2110 
2111       {
2112     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2113 }
2114 
2115         break;
2116 
2117     case 43: /* KW_table  */
2118 
2119       {
2120     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2121 }
2122 
2123         break;
2124 
2125     case 44: /* KW_template  */
2126 
2127       {
2128     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2129 }
2130 
2131         break;
2132 
2133     case 45: /* KW_trigger  */
2134 
2135       {
2136     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2137 }
2138 
2139         break;
2140 
2141     case 46: /* KW_true  */
2142 
2143       {
2144     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2145 }
2146 
2147         break;
2148 
2149     case 47: /* KW_type  */
2150 
2151       {
2152     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2153 }
2154 
2155         break;
2156 
2157     case 48: /* KW_typedef  */
2158 
2159       {
2160     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2161 }
2162 
2163         break;
2164 
2165     case 49: /* KW_typeset  */
2166 
2167       {
2168     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2169 }
2170 
2171         break;
2172 
2173     case 50: /* KW_validate  */
2174 
2175       {
2176     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2177 }
2178 
2179         break;
2180 
2181     case 51: /* KW_version  */
2182 
2183       {
2184     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2185 }
2186 
2187         break;
2188 
2189     case 52: /* KW_view  */
2190 
2191       {
2192     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2193 }
2194 
2195         break;
2196 
2197     case 53: /* KW_virtual  */
2198 
2199       {
2200     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2201 }
2202 
2203         break;
2204 
2205     case 54: /* KW_void  */
2206 
2207       {
2208     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2209 }
2210 
2211         break;
2212 
2213     case 55: /* KW_write  */
2214 
2215       {
2216     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2217 }
2218 
2219         break;
2220 
2221     case 56: /* PT_ASTLIST  */
2222 
2223       {
2224     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2225 }
2226 
2227         break;
2228 
2229     case 57: /* PT_PARSE  */
2230 
2231       {
2232     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2233 }
2234 
2235         break;
2236 
2237     case 58: /* PT_SOURCE  */
2238 
2239       {
2240     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2241 }
2242 
2243         break;
2244 
2245     case 59: /* PT_VERSION_1_0  */
2246 
2247       {
2248     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2249 }
2250 
2251         break;
2252 
2253     case 60: /* PT_VERSION_2  */
2254 
2255       {
2256     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2257 }
2258 
2259         break;
2260 
2261     case 61: /* PT_SCHEMA_1_0  */
2262 
2263       {
2264     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2265 }
2266 
2267         break;
2268 
2269     case 62: /* PT_SCHEMA_2_0  */
2270 
2271       {
2272     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2273 }
2274 
2275         break;
2276 
2277     case 63: /* PT_INCLUDE  */
2278 
2279       {
2280     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2281 }
2282 
2283         break;
2284 
2285     case 64: /* PT_TYPEDEF  */
2286 
2287       {
2288     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2289 }
2290 
2291         break;
2292 
2293     case 65: /* PT_FQN  */
2294 
2295       {
2296     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2297 }
2298 
2299         break;
2300 
2301     case 66: /* PT_IDENT  */
2302 
2303       {
2304     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2305 }
2306 
2307         break;
2308 
2309     case 67: /* PT_PHYSIDENT  */
2310 
2311       {
2312     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2313 }
2314 
2315         break;
2316 
2317     case 68: /* PT_UINT  */
2318 
2319       {
2320     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2321 }
2322 
2323         break;
2324 
2325     case 69: /* PT_TYPESET  */
2326 
2327       {
2328     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2329 }
2330 
2331         break;
2332 
2333     case 70: /* PT_TYPESETDEF  */
2334 
2335       {
2336     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2337 }
2338 
2339         break;
2340 
2341     case 71: /* PT_FORMAT  */
2342 
2343       {
2344     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2345 }
2346 
2347         break;
2348 
2349     case 72: /* PT_CONST  */
2350 
2351       {
2352     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2353 }
2354 
2355         break;
2356 
2357     case 73: /* PT_ALIAS  */
2358 
2359       {
2360     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2361 }
2362 
2363         break;
2364 
2365     case 74: /* PT_EXTERN  */
2366 
2367       {
2368     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2369 }
2370 
2371         break;
2372 
2373     case 75: /* PT_FUNCTION  */
2374 
2375       {
2376     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2377 }
2378 
2379         break;
2380 
2381     case 76: /* PT_UNTYPED  */
2382 
2383       {
2384     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2385 }
2386 
2387         break;
2388 
2389     case 77: /* PT_ROWLENGTH  */
2390 
2391       {
2392     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2393 }
2394 
2395         break;
2396 
2397     case 78: /* PT_FUNCDECL  */
2398 
2399       {
2400     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2401 }
2402 
2403         break;
2404 
2405     case 79: /* PT_EMPTY  */
2406 
2407       {
2408     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2409 }
2410 
2411         break;
2412 
2413     case 80: /* PT_SCHEMASIG  */
2414 
2415       {
2416     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2417 }
2418 
2419         break;
2420 
2421     case 81: /* PT_SCHEMAFORMAL  */
2422 
2423       {
2424     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2425 }
2426 
2427         break;
2428 
2429     case 82: /* PT_RETURNTYPE  */
2430 
2431       {
2432     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2433 }
2434 
2435         break;
2436 
2437     case 83: /* PT_FACTSIG  */
2438 
2439       {
2440     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2441 }
2442 
2443         break;
2444 
2445     case 84: /* PT_FUNCSIG  */
2446 
2447       {
2448     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2449 }
2450 
2451         break;
2452 
2453     case 85: /* PT_FUNCPARAMS  */
2454 
2455       {
2456     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2457 }
2458 
2459         break;
2460 
2461     case 86: /* PT_FORMALPARAM  */
2462 
2463       {
2464     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2465 }
2466 
2467         break;
2468 
2469     case 87: /* PT_ELLIPSIS  */
2470 
2471       {
2472     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2473 }
2474 
2475         break;
2476 
2477     case 88: /* PT_FUNCPROLOGUE  */
2478 
2479       {
2480     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2481 }
2482 
2483         break;
2484 
2485     case 89: /* PT_RETURN  */
2486 
2487       {
2488     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2489 }
2490 
2491         break;
2492 
2493     case 90: /* PT_PRODSTMT  */
2494 
2495       {
2496     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2497 }
2498 
2499         break;
2500 
2501     case 91: /* PT_PRODTRIGGER  */
2502 
2503       {
2504     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2505 }
2506 
2507         break;
2508 
2509     case 92: /* PT_SCHEMA  */
2510 
2511       {
2512     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2513 }
2514 
2515         break;
2516 
2517     case 93: /* PT_VALIDATE  */
2518 
2519       {
2520     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2521 }
2522 
2523         break;
2524 
2525     case 94: /* PT_PHYSICAL  */
2526 
2527       {
2528     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2529 }
2530 
2531         break;
2532 
2533     case 95: /* PT_PHYSPROLOGUE  */
2534 
2535       {
2536     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2537 }
2538 
2539         break;
2540 
2541     case 96: /* PT_PHYSSTMT  */
2542 
2543       {
2544     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2545 }
2546 
2547         break;
2548 
2549     case 97: /* PT_PHYSBODYSTMT  */
2550 
2551       {
2552     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2553 }
2554 
2555         break;
2556 
2557     case 98: /* PT_TABLE  */
2558 
2559       {
2560     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2561 }
2562 
2563         break;
2564 
2565     case 99: /* PT_TABLEPARENTS  */
2566 
2567       {
2568     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2569 }
2570 
2571         break;
2572 
2573     case 100: /* PT_TABLEBODY  */
2574 
2575       {
2576     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2577 }
2578 
2579         break;
2580 
2581     case 101: /* PT_FUNCEXPR  */
2582 
2583       {
2584     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2585 }
2586 
2587         break;
2588 
2589     case 102: /* PT_FACTPARMS  */
2590 
2591       {
2592     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2593 }
2594 
2595         break;
2596 
2597     case 103: /* PT_COLUMN  */
2598 
2599       {
2600     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2601 }
2602 
2603         break;
2604 
2605     case 104: /* PT_COLUMNEXPR  */
2606 
2607       {
2608     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2609 }
2610 
2611         break;
2612 
2613     case 105: /* PT_COLDECL  */
2614 
2615       {
2616     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2617 }
2618 
2619         break;
2620 
2621     case 106: /* PT_TYPEDCOL  */
2622 
2623       {
2624     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2625 }
2626 
2627         break;
2628 
2629     case 107: /* PT_COLSTMT  */
2630 
2631       {
2632     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2633 }
2634 
2635         break;
2636 
2637     case 108: /* PT_DFLTVIEW  */
2638 
2639       {
2640     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2641 }
2642 
2643         break;
2644 
2645     case 109: /* PT_PHYSMBR  */
2646 
2647       {
2648     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2649 }
2650 
2651         break;
2652 
2653     case 110: /* PT_PHYSCOL  */
2654 
2655       {
2656     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2657 }
2658 
2659         break;
2660 
2661     case 111: /* PT_PHYSCOLDEF  */
2662 
2663       {
2664     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2665 }
2666 
2667         break;
2668 
2669     case 112: /* PT_COLSCHEMAPARMS  */
2670 
2671       {
2672     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2673 }
2674 
2675         break;
2676 
2677     case 113: /* PT_COLSCHEMAPARAM  */
2678 
2679       {
2680     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2681 }
2682 
2683         break;
2684 
2685     case 114: /* PT_COLUNTYPED  */
2686 
2687       {
2688     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2689 }
2690 
2691         break;
2692 
2693     case 115: /* PT_DATABASE  */
2694 
2695       {
2696     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2697 }
2698 
2699         break;
2700 
2701     case 116: /* PT_TYPEEXPR  */
2702 
2703       {
2704     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2705 }
2706 
2707         break;
2708 
2709     case 117: /* PT_DBBODY  */
2710 
2711       {
2712     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2713 }
2714 
2715         break;
2716 
2717     case 118: /* PT_DBDAD  */
2718 
2719       {
2720     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2721 }
2722 
2723         break;
2724 
2725     case 119: /* PT_DBMEMBER  */
2726 
2727       {
2728     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2729 }
2730 
2731         break;
2732 
2733     case 120: /* PT_TBLMEMBER  */
2734 
2735       {
2736     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2737 }
2738 
2739         break;
2740 
2741     case 121: /* PT_NOHEADER  */
2742 
2743       {
2744     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2745 }
2746 
2747         break;
2748 
2749     case 122: /* PT_CASTEXPR  */
2750 
2751       {
2752     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2753 }
2754 
2755         break;
2756 
2757     case 123: /* PT_CONSTVECT  */
2758 
2759       {
2760     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2761 }
2762 
2763         break;
2764 
2765     case 124: /* PT_NEGATE  */
2766 
2767       {
2768     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2769 }
2770 
2771         break;
2772 
2773     case 125: /* PT_UNARYPLUS  */
2774 
2775       {
2776     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2777 }
2778 
2779         break;
2780 
2781     case 126: /* PT_VERSNAME  */
2782 
2783       {
2784     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2785 }
2786 
2787         break;
2788 
2789     case 127: /* PT_ARRAY  */
2790 
2791       {
2792     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2793 }
2794 
2795         break;
2796 
2797     case 128: /* PT_PHYSENCREF  */
2798 
2799       {
2800     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2801 }
2802 
2803         break;
2804 
2805     case 129: /* PT_TYPEDCOLEXPR  */
2806 
2807       {
2808     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2809 }
2810 
2811         break;
2812 
2813     case 130: /* PT_VIEW  */
2814 
2815       {
2816     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2817 }
2818 
2819         break;
2820 
2821     case 131: /* PT_VIEWPARAM  */
2822 
2823       {
2824     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2825 }
2826 
2827         break;
2828 
2829     case 132: /* PT_VIEWPARENTS  */
2830 
2831       {
2832     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2833 }
2834 
2835         break;
2836 
2837     case 133: /* PT_VIEWPARENT  */
2838 
2839       {
2840     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2841 }
2842 
2843         break;
2844 
2845     case 134: /* PT_MEMBEREXPR  */
2846 
2847       {
2848     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2849 }
2850 
2851         break;
2852 
2853     case 135: /* PT_JOINEXPR  */
2854 
2855       {
2856     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2857 }
2858 
2859         break;
2860 
2861     case 136: /* ';'  */
2862 
2863       {
2864     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2865 }
2866 
2867         break;
2868 
2869     case 137: /* ','  */
2870 
2871       {
2872     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2873 }
2874 
2875         break;
2876 
2877     case 138: /* '{'  */
2878 
2879       {
2880     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2881 }
2882 
2883         break;
2884 
2885     case 139: /* '}'  */
2886 
2887       {
2888     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2889 }
2890 
2891         break;
2892 
2893     case 140: /* '['  */
2894 
2895       {
2896     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2897 }
2898 
2899         break;
2900 
2901     case 141: /* ']'  */
2902 
2903       {
2904     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2905 }
2906 
2907         break;
2908 
2909     case 142: /* '*'  */
2910 
2911       {
2912     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2913 }
2914 
2915         break;
2916 
2917     case 143: /* '='  */
2918 
2919       {
2920     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2921 }
2922 
2923         break;
2924 
2925     case 144: /* '('  */
2926 
2927       {
2928     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2929 }
2930 
2931         break;
2932 
2933     case 145: /* ')'  */
2934 
2935       {
2936     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2937 }
2938 
2939         break;
2940 
2941     case 146: /* '<'  */
2942 
2943       {
2944     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2945 }
2946 
2947         break;
2948 
2949     case 147: /* '>'  */
2950 
2951       {
2952     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2953 }
2954 
2955         break;
2956 
2957     case 148: /* '|'  */
2958 
2959       {
2960     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2961 }
2962 
2963         break;
2964 
2965     case 149: /* '@'  */
2966 
2967       {
2968     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2969 }
2970 
2971         break;
2972 
2973     case 150: /* '-'  */
2974 
2975       {
2976     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2977 }
2978 
2979         break;
2980 
2981     case 151: /* '+'  */
2982 
2983       {
2984     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2985 }
2986 
2987         break;
2988 
2989     case 152: /* '/'  */
2990 
2991       {
2992     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
2993 }
2994 
2995         break;
2996 
2997     case 153: /* '.'  */
2998 
2999       {
3000     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3001 }
3002 
3003         break;
3004 
3005     case 154: /* ':'  */
3006 
3007       {
3008     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3009 }
3010 
3011         break;
3012 
3013     case 156: /* parse  */
3014 
3015       {
3016     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3017 }
3018 
3019         break;
3020 
3021     case 157: /* source  */
3022 
3023       {
3024     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3025 }
3026 
3027         break;
3028 
3029     case 158: /* version_1_0  */
3030 
3031       {
3032     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3033 }
3034 
3035         break;
3036 
3037     case 159: /* schema_1_0  */
3038 
3039       {
3040     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3041 }
3042 
3043         break;
3044 
3045     case 160: /* schema_1_0_decl  */
3046 
3047       {
3048     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3049 }
3050 
3051         break;
3052 
3053     case 161: /* typedef_1_0_decl  */
3054 
3055       {
3056     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3057 }
3058 
3059         break;
3060 
3061     case 162: /* typedef_1_0_new_name_list  */
3062 
3063       {
3064     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3065 }
3066 
3067         break;
3068 
3069     case 163: /* typeset_1_0_decl  */
3070 
3071       {
3072     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3073 }
3074 
3075         break;
3076 
3077     case 164: /* typeset_1_0_new_name  */
3078 
3079       {
3080     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3081 }
3082 
3083         break;
3084 
3085     case 165: /* typeset_1_0_def  */
3086 
3087       {
3088     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3089 }
3090 
3091         break;
3092 
3093     case 166: /* typespec_1_0_list  */
3094 
3095       {
3096     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3097 }
3098 
3099         break;
3100 
3101     case 167: /* typespec_1_0  */
3102 
3103       {
3104     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3105 }
3106 
3107         break;
3108 
3109     case 168: /* dim_1_0  */
3110 
3111       {
3112     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3113 }
3114 
3115         break;
3116 
3117     case 169: /* format_1_0_decl  */
3118 
3119       {
3120     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3121 }
3122 
3123         break;
3124 
3125     case 170: /* format_1_0_new_name  */
3126 
3127       {
3128     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3129 }
3130 
3131         break;
3132 
3133     case 171: /* format_1_0_name  */
3134 
3135       {
3136     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3137 }
3138 
3139         break;
3140 
3141     case 172: /* const_1_0_decl  */
3142 
3143       {
3144     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3145 }
3146 
3147         break;
3148 
3149     case 173: /* alias_1_0_decl  */
3150 
3151       {
3152     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3153 }
3154 
3155         break;
3156 
3157     case 174: /* alias_1_0_new_name  */
3158 
3159       {
3160     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3161 }
3162 
3163         break;
3164 
3165     case 175: /* function_1_0_decl  */
3166 
3167       {
3168     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3169 }
3170 
3171         break;
3172 
3173     case 176: /* func_1_0_decl  */
3174 
3175       {
3176     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3177 }
3178 
3179         break;
3180 
3181     case 177: /* untyped_func_1_0_decl  */
3182 
3183       {
3184     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3185 }
3186 
3187         break;
3188 
3189     case 178: /* row_length_func_1_0_decl  */
3190 
3191       {
3192     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3193 }
3194 
3195         break;
3196 
3197     case 179: /* opt_func_1_0_schema_sig  */
3198 
3199       {
3200     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3201 }
3202 
3203         break;
3204 
3205     case 180: /* func_1_0_schema_sig  */
3206 
3207       {
3208     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3209 }
3210 
3211         break;
3212 
3213     case 181: /* func_1_0_schema_formals  */
3214 
3215       {
3216     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3217 }
3218 
3219         break;
3220 
3221     case 182: /* func_1_0_schema_formal  */
3222 
3223       {
3224     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3225 }
3226 
3227         break;
3228 
3229     case 183: /* func_1_0_return_type  */
3230 
3231       {
3232     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3233 }
3234 
3235         break;
3236 
3237     case 184: /* opt_func_1_0_fact_sig  */
3238 
3239       {
3240     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3241 }
3242 
3243         break;
3244 
3245     case 185: /* func_1_0_fact_sig  */
3246 
3247       {
3248     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3249 }
3250 
3251         break;
3252 
3253     case 186: /* func_1_0_fact_signature  */
3254 
3255       {
3256     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3257 }
3258 
3259         break;
3260 
3261     case 187: /* func_1_0_fact_params  */
3262 
3263       {
3264     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3265 }
3266 
3267         break;
3268 
3269     case 188: /* fact_param_1_0  */
3270 
3271       {
3272     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3273 }
3274 
3275         break;
3276 
3277     case 189: /* func_1_0_param_sig  */
3278 
3279       {
3280     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3281 }
3282 
3283         break;
3284 
3285     case 190: /* func_1_0_param_signature  */
3286 
3287       {
3288     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3289 }
3290 
3291         break;
3292 
3293     case 191: /* func_1_0_formal_params  */
3294 
3295       {
3296     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3297 }
3298 
3299         break;
3300 
3301     case 192: /* formal_param_1_0  */
3302 
3303       {
3304     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3305 }
3306 
3307         break;
3308 
3309     case 193: /* func_1_0_vararg_formals  */
3310 
3311       {
3312     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3313 }
3314 
3315         break;
3316 
3317     case 194: /* func_1_0_prologue  */
3318 
3319       {
3320     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3321 }
3322 
3323         break;
3324 
3325     case 195: /* script_1_0_stmt_seq  */
3326 
3327       {
3328     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3329 }
3330 
3331         break;
3332 
3333     case 196: /* script_1_0_stmt  */
3334 
3335       {
3336     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3337 }
3338 
3339         break;
3340 
3341     case 197: /* extern_1_0_decl  */
3342 
3343       {
3344     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3345 }
3346 
3347         break;
3348 
3349     case 198: /* ext_func_1_0_decl  */
3350 
3351       {
3352     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3353 }
3354 
3355         break;
3356 
3357     case 199: /* script_1_0_decl  */
3358 
3359       {
3360     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3361 }
3362 
3363         break;
3364 
3365     case 200: /* validate_1_0_decl  */
3366 
3367       {
3368     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3369 }
3370 
3371         break;
3372 
3373     case 201: /* physical_1_0_decl  */
3374 
3375       {
3376     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3377 }
3378 
3379         break;
3380 
3381     case 202: /* phys_1_0_return_type  */
3382 
3383       {
3384     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3385 }
3386 
3387         break;
3388 
3389     case 203: /* phys_1_0_prologue  */
3390 
3391       {
3392     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3393 }
3394 
3395         break;
3396 
3397     case 204: /* phys_1_0_body  */
3398 
3399       {
3400     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3401 }
3402 
3403         break;
3404 
3405     case 205: /* phys_1_0_body_stmt  */
3406 
3407       {
3408     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3409 }
3410 
3411         break;
3412 
3413     case 206: /* phys_1_0_stmt  */
3414 
3415       {
3416     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3417 }
3418 
3419         break;
3420 
3421     case 207: /* table_1_0_decl  */
3422 
3423       {
3424     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3425 }
3426 
3427         break;
3428 
3429     case 208: /* opt_tbl_1_0_parents  */
3430 
3431       {
3432     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3433 }
3434 
3435         break;
3436 
3437     case 209: /* tbl_1_0_parents  */
3438 
3439       {
3440     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3441 }
3442 
3443         break;
3444 
3445     case 210: /* tbl_1_0_body  */
3446 
3447       {
3448     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3449 }
3450 
3451         break;
3452 
3453     case 211: /* tbl_1_0_stmt_seq  */
3454 
3455       {
3456     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3457 }
3458 
3459         break;
3460 
3461     case 212: /* tbl_1_0_stmt  */
3462 
3463       {
3464     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3465 }
3466 
3467         break;
3468 
3469     case 213: /* production_1_0_stmt  */
3470 
3471       {
3472     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3473 }
3474 
3475         break;
3476 
3477     case 214: /* col_1_0_modifiers  */
3478 
3479       {
3480     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3481 }
3482 
3483         break;
3484 
3485     case 215: /* col_1_0_modifier_seq  */
3486 
3487       {
3488     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3489 }
3490 
3491         break;
3492 
3493     case 216: /* col_1_0_modifier  */
3494 
3495       {
3496     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3497 }
3498 
3499         break;
3500 
3501     case 217: /* col_1_0_decl  */
3502 
3503       {
3504     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3505 }
3506 
3507         break;
3508 
3509     case 218: /* phys_enc_ref  */
3510 
3511       {
3512     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3513 }
3514 
3515         break;
3516 
3517     case 219: /* typed_column_decl_1_0  */
3518 
3519       {
3520     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3521 }
3522 
3523         break;
3524 
3525     case 220: /* col_ident  */
3526 
3527       {
3528     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3529 }
3530 
3531         break;
3532 
3533     case 221: /* phys_ident  */
3534 
3535       {
3536     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3537 }
3538 
3539         break;
3540 
3541     case 222: /* opt_column_body_1_0  */
3542 
3543       {
3544     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3545 }
3546 
3547         break;
3548 
3549     case 223: /* column_body_1_0  */
3550 
3551       {
3552     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3553 }
3554 
3555         break;
3556 
3557     case 224: /* column_stmt_1_0  */
3558 
3559       {
3560     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3561 }
3562 
3563         break;
3564 
3565     case 225: /* default_view_1_0_decl  */
3566 
3567       {
3568     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3569 }
3570 
3571         break;
3572 
3573     case 226: /* physmbr_1_0_decl  */
3574 
3575       {
3576     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3577 }
3578 
3579         break;
3580 
3581     case 227: /* phys_coldef_1_0  */
3582 
3583       {
3584     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3585 }
3586 
3587         break;
3588 
3589     case 228: /* opt_col_schema_parms_1_0  */
3590 
3591       {
3592     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3593 }
3594 
3595         break;
3596 
3597     case 229: /* col_schema_parms_1_0  */
3598 
3599       {
3600     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3601 }
3602 
3603         break;
3604 
3605     case 230: /* col_schema_parm_1_0  */
3606 
3607       {
3608     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3609 }
3610 
3611         break;
3612 
3613     case 231: /* col_schema_value_1_0  */
3614 
3615       {
3616     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3617 }
3618 
3619         break;
3620 
3621     case 232: /* cond_expr_1_0  */
3622 
3623       {
3624     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3625 }
3626 
3627         break;
3628 
3629     case 233: /* expression_1_0  */
3630 
3631       {
3632     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3633 }
3634 
3635         break;
3636 
3637     case 234: /* primary_expr_1_0  */
3638 
3639       {
3640     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3641 }
3642 
3643         break;
3644 
3645     case 235: /* func_expr_1_0  */
3646 
3647       {
3648     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3649 }
3650 
3651         break;
3652 
3653     case 236: /* schema_parms_1_0  */
3654 
3655       {
3656     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3657 }
3658 
3659         break;
3660 
3661     case 237: /* schema_parm_1_0  */
3662 
3663       {
3664     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3665 }
3666 
3667         break;
3668 
3669     case 238: /* opt_factory_parms_1_0  */
3670 
3671       {
3672     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3673 }
3674 
3675         break;
3676 
3677     case 239: /* factory_parms_1_0  */
3678 
3679       {
3680     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3681 }
3682 
3683         break;
3684 
3685     case 240: /* factory_parms  */
3686 
3687       {
3688     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3689 }
3690 
3691         break;
3692 
3693     case 241: /* opt_func_1_0_parms  */
3694 
3695       {
3696     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3697 }
3698 
3699         break;
3700 
3701     case 242: /* func_1_0_parms  */
3702 
3703       {
3704     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3705 }
3706 
3707         break;
3708 
3709     case 243: /* uint_expr_1_0  */
3710 
3711       {
3712     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3713 }
3714 
3715         break;
3716 
3717     case 244: /* float_expr_1_0  */
3718 
3719       {
3720     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3721 }
3722 
3723         break;
3724 
3725     case 245: /* string_expr_1_0  */
3726 
3727       {
3728     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3729 }
3730 
3731         break;
3732 
3733     case 246: /* const_vect_expr_1_0  */
3734 
3735       {
3736     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3737 }
3738 
3739         break;
3740 
3741     case 247: /* opt_const_vect_exprlist_1_0  */
3742 
3743       {
3744     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3745 }
3746 
3747         break;
3748 
3749     case 248: /* const_vect_exprlist_1_0  */
3750 
3751       {
3752     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3753 }
3754 
3755         break;
3756 
3757     case 249: /* bool_expr_1_0  */
3758 
3759       {
3760     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3761 }
3762 
3763         break;
3764 
3765     case 250: /* type_expr_1_0  */
3766 
3767       {
3768     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3769 }
3770 
3771         break;
3772 
3773     case 251: /* member_expr_2_0  */
3774 
3775       {
3776     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3777 }
3778 
3779         break;
3780 
3781     case 252: /* join_expr_2_0  */
3782 
3783       {
3784     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3785 }
3786 
3787         break;
3788 
3789     case 253: /* database_1_0_decl  */
3790 
3791       {
3792     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3793 }
3794 
3795         break;
3796 
3797     case 254: /* opt_database_dad_1_0  */
3798 
3799       {
3800     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3801 }
3802 
3803         break;
3804 
3805     case 255: /* database_body_1_0  */
3806 
3807       {
3808     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3809 }
3810 
3811         break;
3812 
3813     case 256: /* database_members_1_0  */
3814 
3815       {
3816     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3817 }
3818 
3819         break;
3820 
3821     case 257: /* database_member_1_0  */
3822 
3823       {
3824     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3825 }
3826 
3827         break;
3828 
3829     case 258: /* opt_template_1_0  */
3830 
3831       {
3832     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3833 }
3834 
3835         break;
3836 
3837     case 259: /* db_member_1_0  */
3838 
3839       {
3840     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3841 }
3842 
3843         break;
3844 
3845     case 260: /* table_member_1_0  */
3846 
3847       {
3848     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3849 }
3850 
3851         break;
3852 
3853     case 261: /* include_directive  */
3854 
3855       {
3856     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3857 }
3858 
3859         break;
3860 
3861     case 262: /* fqn_1_0  */
3862 
3863       {
3864     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3865 }
3866 
3867         break;
3868 
3869     case 263: /* ident_1_0  */
3870 
3871       {
3872     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3873 }
3874 
3875         break;
3876 
3877     case 264: /* empty  */
3878 
3879       {
3880     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3881 }
3882 
3883         break;
3884 
3885     case 265: /* fqn_vers  */
3886 
3887       {
3888     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3889 }
3890 
3891         break;
3892 
3893     case 266: /* fqn_opt_vers  */
3894 
3895       {
3896     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3897 }
3898 
3899         break;
3900 
3901     case 267: /* version_2_0  */
3902 
3903       {
3904     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3905 }
3906 
3907         break;
3908 
3909     case 268: /* schema_2_0  */
3910 
3911       {
3912     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3913 }
3914 
3915         break;
3916 
3917     case 269: /* schema_2_0_decl  */
3918 
3919       {
3920     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3921 }
3922 
3923         break;
3924 
3925     case 270: /* view_2_0_decl  */
3926 
3927       {
3928     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3929 }
3930 
3931         break;
3932 
3933     case 271: /* view_parms  */
3934 
3935       {
3936     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3937 }
3938 
3939         break;
3940 
3941     case 272: /* view_parm  */
3942 
3943       {
3944     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3945 }
3946 
3947         break;
3948 
3949     case 273: /* opt_view_body  */
3950 
3951       {
3952     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3953 }
3954 
3955         break;
3956 
3957     case 274: /* view_body  */
3958 
3959       {
3960     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3961 }
3962 
3963         break;
3964 
3965     case 275: /* view_member  */
3966 
3967       {
3968     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3969 }
3970 
3971         break;
3972 
3973     case 276: /* opt_view_parents  */
3974 
3975       {
3976     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3977 }
3978 
3979         break;
3980 
3981     case 277: /* view_parents  */
3982 
3983       {
3984     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3985 }
3986 
3987         break;
3988 
3989     case 278: /* view_parent  */
3990 
3991       {
3992     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
3993 }
3994 
3995         break;
3996 
3997     case 279: /* view_parent_parms  */
3998 
3999       {
4000     delete ( ParseTree * ) ( ((*yyvaluep)) . subtree );
4001 }
4002 
4003         break;
4004 
4005 
4006       default:
4007         break;
4008     }
4009   YY_IGNORE_MAYBE_UNINITIALIZED_END
4010 }
4011 
4012 
4013 
4014 
4015 /*----------.
4016 | yyparse.  |
4017 `----------*/
4018 
4019 int
yyparse(ParseTree ** root,ErrorReport * errors,struct SchemaScanBlock * sb)4020 yyparse (ParseTree** root, ErrorReport * errors, struct SchemaScanBlock* sb)
4021 {
4022 /* The lookahead symbol.  */
4023 int yychar;
4024 
4025 
4026 /* The semantic value of the lookahead symbol.  */
4027 /* Default value used for initialization, for pacifying older GCCs
4028    or non-GCC compilers.  */
4029 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
4030 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
4031 
4032 /* Location data for the lookahead symbol.  */
4033 static YYLTYPE yyloc_default
4034 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
4035   = { 1, 1, 1, 1 }
4036 # endif
4037 ;
4038 YYLTYPE yylloc = yyloc_default;
4039 
4040     /* Number of syntax errors so far.  */
4041     int yynerrs;
4042 
4043     int yystate;
4044     /* Number of tokens to shift before error messages enabled.  */
4045     int yyerrstatus;
4046 
4047     /* The stacks and their tools:
4048        'yyss': related to states.
4049        'yyvs': related to semantic values.
4050        'yyls': related to locations.
4051 
4052        Refer to the stacks through separate pointers, to allow yyoverflow
4053        to reallocate them elsewhere.  */
4054 
4055     /* The state stack.  */
4056     yytype_int16 yyssa[YYINITDEPTH];
4057     yytype_int16 *yyss;
4058     yytype_int16 *yyssp;
4059 
4060     /* The semantic value stack.  */
4061     YYSTYPE yyvsa[YYINITDEPTH];
4062     YYSTYPE *yyvs;
4063     YYSTYPE *yyvsp;
4064 
4065     /* The location stack.  */
4066     YYLTYPE yylsa[YYINITDEPTH];
4067     YYLTYPE *yyls;
4068     YYLTYPE *yylsp;
4069 
4070     /* The locations where the error started and ended.  */
4071     YYLTYPE yyerror_range[3];
4072 
4073     YYSIZE_T yystacksize;
4074 
4075   int yyn;
4076   int yyresult;
4077   /* Lookahead token as an internal (translated) token number.  */
4078   int yytoken = 0;
4079   /* The variables used to return semantic value and location from the
4080      action routines.  */
4081   YYSTYPE yyval;
4082   YYLTYPE yyloc;
4083 
4084 #if YYERROR_VERBOSE
4085   /* Buffer for error messages, and its allocated size.  */
4086   char yymsgbuf[128];
4087   char *yymsg = yymsgbuf;
4088   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4089 #endif
4090 
4091 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
4092 
4093   /* The number of symbols on the RHS of the reduced rule.
4094      Keep to zero when no symbol should be popped.  */
4095   int yylen = 0;
4096 
4097   yyssp = yyss = yyssa;
4098   yyvsp = yyvs = yyvsa;
4099   yylsp = yyls = yylsa;
4100   yystacksize = YYINITDEPTH;
4101 
4102   YYDPRINTF ((stderr, "Starting parse\n"));
4103 
4104   yystate = 0;
4105   yyerrstatus = 0;
4106   yynerrs = 0;
4107   yychar = YYEMPTY; /* Cause a token to be read.  */
4108   yylsp[0] = yylloc;
4109   goto yysetstate;
4110 
4111 /*------------------------------------------------------------.
4112 | yynewstate -- Push a new state, which is found in yystate.  |
4113 `------------------------------------------------------------*/
4114  yynewstate:
4115   /* In all cases, when you get here, the value and location stacks
4116      have just been pushed.  So pushing a state here evens the stacks.  */
4117   yyssp++;
4118 
4119  yysetstate:
4120   *yyssp = yystate;
4121 
4122   if (yyss + yystacksize - 1 <= yyssp)
4123     {
4124       /* Get the current used size of the three stacks, in elements.  */
4125       YYSIZE_T yysize = yyssp - yyss + 1;
4126 
4127 #ifdef yyoverflow
4128       {
4129         /* Give user a chance to reallocate the stack.  Use copies of
4130            these so that the &'s don't force the real ones into
4131            memory.  */
4132         YYSTYPE *yyvs1 = yyvs;
4133         yytype_int16 *yyss1 = yyss;
4134         YYLTYPE *yyls1 = yyls;
4135 
4136         /* Each stack pointer address is followed by the size of the
4137            data in use in that stack, in bytes.  This used to be a
4138            conditional around just the two extra args, but that might
4139            be undefined if yyoverflow is a macro.  */
4140         yyoverflow (YY_("memory exhausted"),
4141                     &yyss1, yysize * sizeof (*yyssp),
4142                     &yyvs1, yysize * sizeof (*yyvsp),
4143                     &yyls1, yysize * sizeof (*yylsp),
4144                     &yystacksize);
4145 
4146         yyls = yyls1;
4147         yyss = yyss1;
4148         yyvs = yyvs1;
4149       }
4150 #else /* no yyoverflow */
4151 # ifndef YYSTACK_RELOCATE
4152       goto yyexhaustedlab;
4153 # else
4154       /* Extend the stack our own way.  */
4155       if (YYMAXDEPTH <= yystacksize)
4156         goto yyexhaustedlab;
4157       yystacksize *= 2;
4158       if (YYMAXDEPTH < yystacksize)
4159         yystacksize = YYMAXDEPTH;
4160 
4161       {
4162         yytype_int16 *yyss1 = yyss;
4163         union yyalloc *yyptr =
4164           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4165         if (! yyptr)
4166           goto yyexhaustedlab;
4167         YYSTACK_RELOCATE (yyss_alloc, yyss);
4168         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4169         YYSTACK_RELOCATE (yyls_alloc, yyls);
4170 #  undef YYSTACK_RELOCATE
4171         if (yyss1 != yyssa)
4172           YYSTACK_FREE (yyss1);
4173       }
4174 # endif
4175 #endif /* no yyoverflow */
4176 
4177       yyssp = yyss + yysize - 1;
4178       yyvsp = yyvs + yysize - 1;
4179       yylsp = yyls + yysize - 1;
4180 
4181       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4182                   (unsigned long int) yystacksize));
4183 
4184       if (yyss + yystacksize - 1 <= yyssp)
4185         YYABORT;
4186     }
4187 
4188   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4189 
4190   if (yystate == YYFINAL)
4191     YYACCEPT;
4192 
4193   goto yybackup;
4194 
4195 /*-----------.
4196 | yybackup.  |
4197 `-----------*/
4198 yybackup:
4199 
4200   /* Do appropriate processing given the current state.  Read a
4201      lookahead token if we need one and don't already have one.  */
4202 
4203   /* First try to decide what to do without reference to lookahead token.  */
4204   yyn = yypact[yystate];
4205   if (yypact_value_is_default (yyn))
4206     goto yydefault;
4207 
4208   /* Not known => get a lookahead token if don't already have one.  */
4209 
4210   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
4211   if (yychar == YYEMPTY)
4212     {
4213       YYDPRINTF ((stderr, "Reading a token: "));
4214       yychar = yylex (&yylval, &yylloc, sb);
4215     }
4216 
4217   if (yychar <= YYEOF)
4218     {
4219       yychar = yytoken = YYEOF;
4220       YYDPRINTF ((stderr, "Now at end of input.\n"));
4221     }
4222   else
4223     {
4224       yytoken = YYTRANSLATE (yychar);
4225       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4226     }
4227 
4228   /* If the proper action on seeing token YYTOKEN is to reduce or to
4229      detect an error, take that action.  */
4230   yyn += yytoken;
4231   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4232     goto yydefault;
4233   yyn = yytable[yyn];
4234   if (yyn <= 0)
4235     {
4236       if (yytable_value_is_error (yyn))
4237         goto yyerrlab;
4238       yyn = -yyn;
4239       goto yyreduce;
4240     }
4241 
4242   /* Count tokens shifted since error; after three, turn off error
4243      status.  */
4244   if (yyerrstatus)
4245     yyerrstatus--;
4246 
4247   /* Shift the lookahead token.  */
4248   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4249 
4250   /* Discard the shifted token.  */
4251   yychar = YYEMPTY;
4252 
4253   yystate = yyn;
4254   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4255   *++yyvsp = yylval;
4256   YY_IGNORE_MAYBE_UNINITIALIZED_END
4257   *++yylsp = yylloc;
4258   goto yynewstate;
4259 
4260 
4261 /*-----------------------------------------------------------.
4262 | yydefault -- do the default action for the current state.  |
4263 `-----------------------------------------------------------*/
4264 yydefault:
4265   yyn = yydefact[yystate];
4266   if (yyn == 0)
4267     goto yyerrlab;
4268   goto yyreduce;
4269 
4270 
4271 /*-----------------------------.
4272 | yyreduce -- Do a reduction.  |
4273 `-----------------------------*/
4274 yyreduce:
4275   /* yyn is the number of a rule to reduce with.  */
4276   yylen = yyr2[yyn];
4277 
4278   /* If YYLEN is nonzero, implement the default value of the action:
4279      '$$ = $1'.
4280 
4281      Otherwise, the following line sets YYVAL to garbage.
4282      This behavior is undocumented and Bison
4283      users should not rely upon it.  Assigning to YYVAL
4284      unconditionally makes the parser a bit smaller, and it avoids a
4285      GCC warning that YYVAL may be used uninitialized.  */
4286   yyval = yyvsp[1-yylen];
4287 
4288   /* Default location.  */
4289   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
4290   YY_REDUCE_PRINT (yyn);
4291   switch (yyn)
4292     {
4293         case 2:
4294 
4295     { *root = MakeTree ( PT_PARSE, T ( (yyvsp[0]) ) );              (yyval) . subtree = 0; (yyval) . leading_ws = 0;  }
4296 
4297     break;
4298 
4299   case 3:
4300 
4301     { *root = MakeTree ( PT_PARSE, P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) );    (yyval) . subtree = 0; (yyval) . leading_ws = 0; }
4302 
4303     break;
4304 
4305   case 4:
4306 
4307     { (yyval) . subtree = MakeTree ( PT_SOURCE, P ( (yyvsp[0]) ) ); }
4308 
4309     break;
4310 
4311   case 5:
4312 
4313     { (yyval) . subtree = MakeTree ( PT_SOURCE, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4314 
4315     break;
4316 
4317   case 6:
4318 
4319     { (yyval) . subtree = MakeTree ( PT_SOURCE, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4320 
4321     break;
4322 
4323   case 7:
4324 
4325     { (yyval) . subtree = MakeTree ( PT_VERSION_1_0, T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4326 
4327     break;
4328 
4329   case 8:
4330 
4331     { (yyval) . subtree = MakeTree ( PT_SCHEMA_1_0, P ( (yyvsp[0]) ) ); }
4332 
4333     break;
4334 
4335   case 9:
4336 
4337     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ) , P ( (yyvsp[0]) ) ); }
4338 
4339     break;
4340 
4341   case 10:
4342 
4343     { (yyval) = (yyvsp[0]); }
4344 
4345     break;
4346 
4347   case 11:
4348 
4349     { (yyval) = (yyvsp[0]); }
4350 
4351     break;
4352 
4353   case 12:
4354 
4355     { (yyval) = (yyvsp[0]); }
4356 
4357     break;
4358 
4359   case 13:
4360 
4361     { (yyval) = (yyvsp[0]); }
4362 
4363     break;
4364 
4365   case 14:
4366 
4367     { (yyval) = (yyvsp[0]); }
4368 
4369     break;
4370 
4371   case 15:
4372 
4373     { (yyval) = (yyvsp[0]); }
4374 
4375     break;
4376 
4377   case 16:
4378 
4379     { (yyval) = (yyvsp[0]); }
4380 
4381     break;
4382 
4383   case 17:
4384 
4385     { (yyval) = (yyvsp[0]); }
4386 
4387     break;
4388 
4389   case 18:
4390 
4391     { (yyval) = (yyvsp[0]); }
4392 
4393     break;
4394 
4395   case 19:
4396 
4397     { (yyval) = (yyvsp[0]); }
4398 
4399     break;
4400 
4401   case 20:
4402 
4403     { (yyval) = (yyvsp[0]); }
4404 
4405     break;
4406 
4407   case 21:
4408 
4409     { (yyval) = (yyvsp[0]); }
4410 
4411     break;
4412 
4413   case 22:
4414 
4415     { (yyval) = (yyvsp[0]); }
4416 
4417     break;
4418 
4419   case 23:
4420 
4421     { (yyval) . subtree = T ( (yyvsp[0]) ); }
4422 
4423     break;
4424 
4425   case 24:
4426 
4427     { (yyval) . subtree = MakeTree ( PT_TYPEDEF, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4428 
4429     break;
4430 
4431   case 25:
4432 
4433     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4434 
4435     break;
4436 
4437   case 26:
4438 
4439     { (yyval) . subtree = AddToList ( P((yyvsp[-2])), T((yyvsp[-1])), P((yyvsp[0])) ); }
4440 
4441     break;
4442 
4443   case 27:
4444 
4445     { (yyval) . subtree = MakeTree ( PT_TYPESET, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4446 
4447     break;
4448 
4449   case 28:
4450 
4451     { (yyval) = (yyvsp[0]); }
4452 
4453     break;
4454 
4455   case 29:
4456 
4457     { (yyval) . subtree = MakeTree ( PT_TYPESETDEF, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4458 
4459     break;
4460 
4461   case 30:
4462 
4463     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4464 
4465     break;
4466 
4467   case 31:
4468 
4469     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4470 
4471     break;
4472 
4473   case 32:
4474 
4475     { (yyval) = (yyvsp[0]); }
4476 
4477     break;
4478 
4479   case 33:
4480 
4481     { (yyval) . subtree = MakeTree ( PT_ARRAY, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4482 
4483     break;
4484 
4485   case 34:
4486 
4487     { (yyval) = (yyvsp[0]); }
4488 
4489     break;
4490 
4491   case 35:
4492 
4493     { (yyval) . subtree = T ( (yyvsp[0]) ); }
4494 
4495     break;
4496 
4497   case 36:
4498 
4499     { (yyval) . subtree = MakeTree ( PT_FORMAT, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4500 
4501     break;
4502 
4503   case 37:
4504 
4505     { (yyval) . subtree = MakeTree ( PT_FORMAT, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4506 
4507     break;
4508 
4509   case 38:
4510 
4511     { (yyval) = (yyvsp[0]); }
4512 
4513     break;
4514 
4515   case 39:
4516 
4517     { (yyval) = (yyvsp[0]); }
4518 
4519     break;
4520 
4521   case 40:
4522 
4523     { (yyval) . subtree = MakeTree ( PT_CONST, T ( (yyvsp[-5]) ), P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4524 
4525     break;
4526 
4527   case 41:
4528 
4529     { (yyval) . subtree = MakeTree ( PT_ALIAS, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4530 
4531     break;
4532 
4533   case 42:
4534 
4535     { (yyval) = (yyvsp[0]); }
4536 
4537     break;
4538 
4539   case 43:
4540 
4541     { (yyval) . subtree = MakeTree ( PT_FUNCTION, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4542 
4543     break;
4544 
4545   case 44:
4546 
4547     { (yyval) = (yyvsp[0]); }
4548 
4549     break;
4550 
4551   case 45:
4552 
4553     { (yyval) = (yyvsp[0]); }
4554 
4555     break;
4556 
4557   case 46:
4558 
4559     { (yyval) . subtree = MakeTree ( PT_FUNCDECL, P ( (yyvsp[-5]) ), P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4560 
4561     break;
4562 
4563   case 47:
4564 
4565     { (yyval) . subtree = MakeTree ( PT_UNTYPED, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4566 
4567     break;
4568 
4569   case 48:
4570 
4571     { (yyval) . subtree = MakeTree ( PT_ROWLENGTH, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4572 
4573     break;
4574 
4575   case 49:
4576 
4577     { (yyval) = (yyvsp[0]); }
4578 
4579     break;
4580 
4581   case 50:
4582 
4583     { (yyval) = (yyvsp[0]); }
4584 
4585     break;
4586 
4587   case 51:
4588 
4589     { (yyval) . subtree = MakeTree ( PT_SCHEMASIG, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4590 
4591     break;
4592 
4593   case 52:
4594 
4595     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4596 
4597     break;
4598 
4599   case 53:
4600 
4601     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4602 
4603     break;
4604 
4605   case 54:
4606 
4607     { (yyval) . subtree = MakeTree ( PT_SCHEMAFORMAL, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4608 
4609     break;
4610 
4611   case 55:
4612 
4613     { (yyval) . subtree = MakeTree ( PT_SCHEMAFORMAL, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4614 
4615     break;
4616 
4617   case 56:
4618 
4619     { (yyval) . subtree = MakeTree ( PT_RETURNTYPE, T ( (yyvsp[0]) ) ); }
4620 
4621     break;
4622 
4623   case 57:
4624 
4625     { (yyval) . subtree = MakeTree ( PT_RETURNTYPE, P ( (yyvsp[0]) ) ); }
4626 
4627     break;
4628 
4629   case 58:
4630 
4631     { (yyval) = (yyvsp[0]); }
4632 
4633     break;
4634 
4635   case 59:
4636 
4637     { (yyval) = (yyvsp[0]); }
4638 
4639     break;
4640 
4641   case 60:
4642 
4643     { (yyval) . subtree = MakeTree ( PT_FACTSIG, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4644 
4645     break;
4646 
4647   case 61:
4648 
4649     { (yyval) = (yyvsp[0]); }
4650 
4651     break;
4652 
4653   case 62:
4654 
4655     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4656 
4657     break;
4658 
4659   case 63:
4660 
4661     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4662 
4663     break;
4664 
4665   case 64:
4666 
4667     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4668 
4669     break;
4670 
4671   case 65:
4672 
4673     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, P ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4674 
4675     break;
4676 
4677   case 66:
4678 
4679     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4680 
4681     break;
4682 
4683   case 67:
4684 
4685     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4686 
4687     break;
4688 
4689   case 68:
4690 
4691     { (yyval) . subtree = MakeTree ( PT_FORMALPARAM, P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4692 
4693     break;
4694 
4695   case 69:
4696 
4697     { (yyval) . subtree = MakeTree ( PT_FUNCSIG, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4698 
4699     break;
4700 
4701   case 70:
4702 
4703     { (yyval) = (yyvsp[0]); }
4704 
4705     break;
4706 
4707   case 71:
4708 
4709     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4710 
4711     break;
4712 
4713   case 72:
4714 
4715     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4716 
4717     break;
4718 
4719   case 73:
4720 
4721     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4722 
4723     break;
4724 
4725   case 74:
4726 
4727     { (yyval) . subtree = MakeTree ( PT_FUNCPARAMS, P ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4728 
4729     break;
4730 
4731   case 75:
4732 
4733     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4734 
4735     break;
4736 
4737   case 76:
4738 
4739     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4740 
4741     break;
4742 
4743   case 77:
4744 
4745     { (yyval) . subtree = MakeTree ( PT_FORMALPARAM, P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4746 
4747     break;
4748 
4749   case 78:
4750 
4751     { (yyval) . subtree = MakeTree ( PT_FORMALPARAM, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4752 
4753     break;
4754 
4755   case 79:
4756 
4757     { (yyval) = (yyvsp[0]); }
4758 
4759     break;
4760 
4761   case 80:
4762 
4763     { (yyval) . subtree = MakeTree ( PT_ELLIPSIS, T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4764 
4765     break;
4766 
4767   case 81:
4768 
4769     { (yyval) . subtree = MakeTree ( PT_FUNCPROLOGUE, T ( (yyvsp[0]) ) ); }
4770 
4771     break;
4772 
4773   case 82:
4774 
4775     { (yyval) . subtree = MakeTree ( PT_FUNCPROLOGUE, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4776 
4777     break;
4778 
4779   case 83:
4780 
4781     { (yyval) . subtree = MakeTree ( PT_FUNCPROLOGUE, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4782 
4783     break;
4784 
4785   case 84:
4786 
4787     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4788 
4789     break;
4790 
4791   case 85:
4792 
4793     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4794 
4795     break;
4796 
4797   case 86:
4798 
4799     { (yyval) . subtree = MakeTree ( PT_RETURN, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4800 
4801     break;
4802 
4803   case 87:
4804 
4805     { (yyval) . subtree = MakeTree ( PT_PRODSTMT, P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4806 
4807     break;
4808 
4809   case 88:
4810 
4811     { (yyval) . subtree = MakeTree ( PT_EXTERN, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4812 
4813     break;
4814 
4815   case 89:
4816 
4817     { (yyval) = (yyvsp[0]); }
4818 
4819     break;
4820 
4821   case 90:
4822 
4823     { (yyval) . subtree = MakeTree ( PT_SCHEMA, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4824 
4825     break;
4826 
4827   case 91:
4828 
4829     { (yyval) . subtree = MakeTree ( PT_SCHEMA, T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4830 
4831     break;
4832 
4833   case 92:
4834 
4835     { (yyval) . subtree = MakeTree ( PT_VALIDATE, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4836 
4837     break;
4838 
4839   case 93:
4840 
4841     { (yyval) . subtree = MakeTree ( PT_PHYSICAL, T ( (yyvsp[-5]) ), P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4842 
4843     break;
4844 
4845   case 94:
4846 
4847     { (yyval) = (yyvsp[0]); }
4848 
4849     break;
4850 
4851   case 95:
4852 
4853     { (yyval) . subtree = MakeTree ( PT_NOHEADER, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4854 
4855     break;
4856 
4857   case 96:
4858 
4859     { (yyval) . subtree = MakeTree ( PT_PHYSPROLOGUE, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4860 
4861     break;
4862 
4863   case 97:
4864 
4865     { (yyval) . subtree = MakeTree ( PT_PHYSPROLOGUE, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4866 
4867     break;
4868 
4869   case 98:
4870 
4871     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4872 
4873     break;
4874 
4875   case 99:
4876 
4877     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4878 
4879     break;
4880 
4881   case 100:
4882 
4883     { (yyval) . subtree = MakeTree ( PT_PHYSBODYSTMT, T ( (yyvsp[0]) ) ); }
4884 
4885     break;
4886 
4887   case 101:
4888 
4889     { (yyval) . subtree = MakeTree ( PT_PHYSBODYSTMT, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4890 
4891     break;
4892 
4893   case 102:
4894 
4895     { (yyval) . subtree = MakeTree ( PT_PHYSBODYSTMT, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4896 
4897     break;
4898 
4899   case 103:
4900 
4901     { (yyval) . subtree = MakeTree ( PT_PHYSBODYSTMT, T ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4902 
4903     break;
4904 
4905   case 104:
4906 
4907     { (yyval) . subtree = MakeTree ( PT_PHYSSTMT, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4908 
4909     break;
4910 
4911   case 105:
4912 
4913     { (yyval) . subtree = MakeTree ( PT_TABLE, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4914 
4915     break;
4916 
4917   case 106:
4918 
4919     { (yyval) = (yyvsp[0]); }
4920 
4921     break;
4922 
4923   case 107:
4924 
4925     { (yyval) . subtree = MakeTree ( PT_TABLEPARENTS, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4926 
4927     break;
4928 
4929   case 108:
4930 
4931     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4932 
4933     break;
4934 
4935   case 109:
4936 
4937     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4938 
4939     break;
4940 
4941   case 110:
4942 
4943     { (yyval) . subtree = MakeTree ( PT_TABLEBODY, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4944 
4945     break;
4946 
4947   case 111:
4948 
4949     { (yyval) . subtree = MakeTree ( PT_TABLEBODY, T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4950 
4951     break;
4952 
4953   case 112:
4954 
4955     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
4956 
4957     break;
4958 
4959   case 113:
4960 
4961     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4962 
4963     break;
4964 
4965   case 114:
4966 
4967     { (yyval) = (yyvsp[0]); }
4968 
4969     break;
4970 
4971   case 115:
4972 
4973     { (yyval) . subtree = MakeTree ( PT_COLUMN, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4974 
4975     break;
4976 
4977   case 116:
4978 
4979     { (yyval) . subtree = MakeTree ( PT_COLUMNEXPR, T ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4980 
4981     break;
4982 
4983   case 117:
4984 
4985     { (yyval) . subtree = MakeTree ( PT_COLUMNEXPR, T ( (yyvsp[-5]) ), T ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
4986 
4987     break;
4988 
4989   case 118:
4990 
4991     { (yyval) . subtree = MakeTree ( PT_PHYSCOL, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4992 
4993     break;
4994 
4995   case 119:
4996 
4997     { (yyval) . subtree = MakeTree ( PT_PHYSCOL, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
4998 
4999     break;
5000 
5001   case 120:
5002 
5003     { (yyval) . subtree = MakeTree ( PT_PHYSCOL, T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5004 
5005     break;
5006 
5007   case 121:
5008 
5009     { (yyval) = (yyvsp[0]); }
5010 
5011     break;
5012 
5013   case 122:
5014 
5015     { (yyval) . subtree = MakeTree ( PT_COLUNTYPED, T ( (yyvsp[-5]) ), T ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5016 
5017     break;
5018 
5019   case 123:
5020 
5021     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5022 
5023     break;
5024 
5025   case 124:
5026 
5027     { (yyval) . subtree = MakeTree ( PT_PRODSTMT, P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5028 
5029     break;
5030 
5031   case 125:
5032 
5033     { (yyval) . subtree = MakeTree ( PT_PRODTRIGGER, T ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5034 
5035     break;
5036 
5037   case 126:
5038 
5039     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5040 
5041     break;
5042 
5043   case 127:
5044 
5045     { (yyval) = (yyvsp[-1]); AddToList ( P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5046 
5047     break;
5048 
5049   case 128:
5050 
5051     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5052 
5053     break;
5054 
5055   case 129:
5056 
5057     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5058 
5059     break;
5060 
5061   case 130:
5062 
5063     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5064 
5065     break;
5066 
5067   case 131:
5068 
5069     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5070 
5071     break;
5072 
5073   case 132:
5074 
5075     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5076 
5077     break;
5078 
5079   case 133:
5080 
5081     { (yyval) . subtree = MakeTree ( PT_COLDECL, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5082 
5083     break;
5084 
5085   case 134:
5086 
5087     { (yyval) . subtree = MakeTree ( PT_COLDECL, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5088 
5089     break;
5090 
5091   case 135:
5092 
5093     { (yyval) . subtree = MakeTree ( PT_PHYSENCREF, T ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5094 
5095     break;
5096 
5097   case 136:
5098 
5099     { (yyval) . subtree = MakeTree ( PT_PHYSENCREF, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5100 
5101     break;
5102 
5103   case 137:
5104 
5105     { (yyval) . subtree = MakeTree ( PT_PHYSENCREF, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5106 
5107     break;
5108 
5109   case 138:
5110 
5111     { (yyval) . subtree = MakeTree ( PT_TYPEDCOL, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5112 
5113     break;
5114 
5115   case 139:
5116 
5117     { (yyval) . subtree = MakeTree ( PT_TYPEDCOLEXPR, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5118 
5119     break;
5120 
5121   case 140:
5122 
5123     { (yyval) . subtree = MakeTree ( PT_TYPEDCOL, P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5124 
5125     break;
5126 
5127   case 141:
5128 
5129     { (yyval) = (yyvsp[0]); }
5130 
5131     break;
5132 
5133   case 142:
5134 
5135     { (yyval) = (yyvsp[0]); }
5136 
5137     break;
5138 
5139   case 143:
5140 
5141     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5142 
5143     break;
5144 
5145   case 144:
5146 
5147     { (yyval) = (yyvsp[0]); }
5148 
5149     break;
5150 
5151   case 145:
5152 
5153     { (yyval) = (yyvsp[0]); }
5154 
5155     break;
5156 
5157   case 146:
5158 
5159     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5160 
5161     break;
5162 
5163   case 147:
5164 
5165     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5166 
5167     break;
5168 
5169   case 148:
5170 
5171     { (yyval) . subtree = MakeTree ( PT_COLSTMT, T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5172 
5173     break;
5174 
5175   case 149:
5176 
5177     { (yyval) . subtree = MakeTree ( PT_COLSTMT, T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5178 
5179     break;
5180 
5181   case 150:
5182 
5183     { (yyval) . subtree = MakeTree ( PT_COLSTMT, T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5184 
5185     break;
5186 
5187   case 151:
5188 
5189     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5190 
5191     break;
5192 
5193   case 152:
5194 
5195     { (yyval) . subtree = MakeTree ( PT_DFLTVIEW, T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5196 
5197     break;
5198 
5199   case 153:
5200 
5201     { (yyval) . subtree = MakeTree ( PT_PHYSMBR, P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5202 
5203     break;
5204 
5205   case 154:
5206 
5207     { (yyval) . subtree = MakeTree ( PT_PHYSMBR, P ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5208 
5209     break;
5210 
5211   case 155:
5212 
5213     { (yyval) . subtree = MakeTree ( PT_PHYSMBR, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5214 
5215     break;
5216 
5217   case 156:
5218 
5219     { (yyval) . subtree = MakeTree ( PT_PHYSMBR, T ( (yyvsp[-5]) ), P ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5220 
5221     break;
5222 
5223   case 157:
5224 
5225     { (yyval) . subtree = MakeTree ( PT_PHYSCOLDEF, P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5226 
5227     break;
5228 
5229   case 158:
5230 
5231     { (yyval) = (yyvsp[0]); }
5232 
5233     break;
5234 
5235   case 159:
5236 
5237     { (yyval) . subtree = MakeTree ( PT_COLSCHEMAPARMS, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5238 
5239     break;
5240 
5241   case 160:
5242 
5243     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5244 
5245     break;
5246 
5247   case 161:
5248 
5249     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5250 
5251     break;
5252 
5253   case 162:
5254 
5255     { (yyval) . subtree = MakeTree ( PT_COLSCHEMAPARAM, P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5256 
5257     break;
5258 
5259   case 163:
5260 
5261     { (yyval) = (yyvsp[0]); }
5262 
5263     break;
5264 
5265   case 164:
5266 
5267     { (yyval) = (yyvsp[0]); }
5268 
5269     break;
5270 
5271   case 165:
5272 
5273     { (yyval) = (yyvsp[0]); }
5274 
5275     break;
5276 
5277   case 166:
5278 
5279     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5280 
5281     break;
5282 
5283   case 167:
5284 
5285     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5286 
5287     break;
5288 
5289   case 168:
5290 
5291     { (yyval) = (yyvsp[0]); }
5292 
5293     break;
5294 
5295   case 169:
5296 
5297     { (yyval) . subtree = MakeTree ( PT_CASTEXPR, T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5298 
5299     break;
5300 
5301   case 170:
5302 
5303     { (yyval) = (yyvsp[0]); }
5304 
5305     break;
5306 
5307   case 171:
5308 
5309     { (yyval) = (yyvsp[0]); }
5310 
5311     break;
5312 
5313   case 172:
5314 
5315     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5316 
5317     break;
5318 
5319   case 173:
5320 
5321     { (yyval) = (yyvsp[0]); }
5322 
5323     break;
5324 
5325   case 174:
5326 
5327     { (yyval) = (yyvsp[0]); }
5328 
5329     break;
5330 
5331   case 175:
5332 
5333     { (yyval) = (yyvsp[0]); }
5334 
5335     break;
5336 
5337   case 176:
5338 
5339     { (yyval) = (yyvsp[0]); }
5340 
5341     break;
5342 
5343   case 177:
5344 
5345     { (yyval) = (yyvsp[0]); }
5346 
5347     break;
5348 
5349   case 178:
5350 
5351     { (yyval) = (yyvsp[0]); }
5352 
5353     break;
5354 
5355   case 179:
5356 
5357     { (yyval) . subtree = MakeTree ( PT_NEGATE, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5358 
5359     break;
5360 
5361   case 180:
5362 
5363     { (yyval) . subtree = MakeTree ( PT_UNARYPLUS, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5364 
5365     break;
5366 
5367   case 181:
5368 
5369     { (yyval) = (yyvsp[0]); }
5370 
5371     break;
5372 
5373   case 182:
5374 
5375     { (yyval) = (yyvsp[0]); }
5376 
5377     break;
5378 
5379   case 183:
5380 
5381     { (yyval) . subtree = MakeTree ( PT_FUNCEXPR, T ( (yyvsp[-7]) ), P ( (yyvsp[-6]) ), T ( (yyvsp[-5]) ), P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5382 
5383     break;
5384 
5385   case 184:
5386 
5387     { (yyval) . subtree = MakeTree ( PT_FUNCEXPR, P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5388 
5389     break;
5390 
5391   case 185:
5392 
5393     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5394 
5395     break;
5396 
5397   case 186:
5398 
5399     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5400 
5401     break;
5402 
5403   case 187:
5404 
5405     { (yyval) = (yyvsp[0]); }
5406 
5407     break;
5408 
5409   case 188:
5410 
5411     { (yyval) . subtree = MakeTree ( PT_ARRAY, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5412 
5413     break;
5414 
5415   case 189:
5416 
5417     { (yyval) = (yyvsp[0]); }
5418 
5419     break;
5420 
5421   case 190:
5422 
5423     { (yyval) = (yyvsp[0]); }
5424 
5425     break;
5426 
5427   case 191:
5428 
5429     { (yyval) = (yyvsp[0]); }
5430 
5431     break;
5432 
5433   case 192:
5434 
5435     { (yyval) . subtree = MakeTree ( PT_FACTPARMS, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5436 
5437     break;
5438 
5439   case 193:
5440 
5441     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5442 
5443     break;
5444 
5445   case 194:
5446 
5447     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5448 
5449     break;
5450 
5451   case 195:
5452 
5453     { (yyval) = (yyvsp[0]); }
5454 
5455     break;
5456 
5457   case 196:
5458 
5459     { (yyval) = (yyvsp[0]); }
5460 
5461     break;
5462 
5463   case 197:
5464 
5465     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5466 
5467     break;
5468 
5469   case 198:
5470 
5471     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5472 
5473     break;
5474 
5475   case 199:
5476 
5477     { (yyval) . subtree = MakeTree ( PT_UINT, T ( (yyvsp[0]) ) ); }
5478 
5479     break;
5480 
5481   case 200:
5482 
5483     { (yyval) . subtree = MakeTree ( PT_UINT, T ( (yyvsp[0]) ) ); }
5484 
5485     break;
5486 
5487   case 201:
5488 
5489     { (yyval) . subtree = MakeTree ( PT_UINT, T ( (yyvsp[0]) ) ); }
5490 
5491     break;
5492 
5493   case 202:
5494 
5495     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5496 
5497     break;
5498 
5499   case 203:
5500 
5501     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5502 
5503     break;
5504 
5505   case 204:
5506 
5507     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5508 
5509     break;
5510 
5511   case 205:
5512 
5513     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5514 
5515     break;
5516 
5517   case 206:
5518 
5519     { (yyval) . subtree = MakeTree ( PT_CONSTVECT, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5520 
5521     break;
5522 
5523   case 207:
5524 
5525     { (yyval) = (yyvsp[0]); }
5526 
5527     break;
5528 
5529   case 208:
5530 
5531     { (yyval) = (yyvsp[0]); }
5532 
5533     break;
5534 
5535   case 209:
5536 
5537     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5538 
5539     break;
5540 
5541   case 210:
5542 
5543     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5544 
5545     break;
5546 
5547   case 211:
5548 
5549     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5550 
5551     break;
5552 
5553   case 212:
5554 
5555     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5556 
5557     break;
5558 
5559   case 213:
5560 
5561     { (yyval) = (yyvsp[0]); }
5562 
5563     break;
5564 
5565   case 214:
5566 
5567     { (yyval) . subtree = MakeTree ( PT_TYPEEXPR, P ( (yyvsp[-2]) ), T ( (yyvsp[-1])), P ( (yyvsp[0]) ) ); }
5568 
5569     break;
5570 
5571   case 215:
5572 
5573     { (yyval) . subtree = MakeTree ( PT_MEMBEREXPR, P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5574 
5575     break;
5576 
5577   case 216:
5578 
5579     { (yyval) . subtree = MakeTree ( PT_MEMBEREXPR, P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5580 
5581     break;
5582 
5583   case 217:
5584 
5585     { (yyval) . subtree = MakeTree ( PT_JOINEXPR, P ( (yyvsp[-5]) ), T ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ((yyvsp[0]) ) ); }
5586 
5587     break;
5588 
5589   case 218:
5590 
5591     { (yyval) . subtree = MakeTree ( PT_DATABASE, T ( (yyvsp[-3]) ), P ( (yyvsp[-2])), P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5592 
5593     break;
5594 
5595   case 219:
5596 
5597     { (yyval) = (yyvsp[0]); }
5598 
5599     break;
5600 
5601   case 220:
5602 
5603     { (yyval) . subtree = MakeTree ( PT_DBDAD, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5604 
5605     break;
5606 
5607   case 221:
5608 
5609     { (yyval) . subtree = MakeTree ( PT_DBBODY, T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5610 
5611     break;
5612 
5613   case 222:
5614 
5615     { (yyval) . subtree = MakeTree ( PT_DBBODY, T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5616 
5617     break;
5618 
5619   case 223:
5620 
5621     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5622 
5623     break;
5624 
5625   case 224:
5626 
5627     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5628 
5629     break;
5630 
5631   case 225:
5632 
5633     { (yyval) = (yyvsp[0]); }
5634 
5635     break;
5636 
5637   case 226:
5638 
5639     { (yyval) = (yyvsp[0]); }
5640 
5641     break;
5642 
5643   case 227:
5644 
5645     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5646 
5647     break;
5648 
5649   case 228:
5650 
5651     { (yyval) = (yyvsp[0]); }
5652 
5653     break;
5654 
5655   case 229:
5656 
5657     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5658 
5659     break;
5660 
5661   case 230:
5662 
5663     { (yyval) . subtree = MakeTree ( PT_DBMEMBER, P ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5664 
5665     break;
5666 
5667   case 231:
5668 
5669     { (yyval) . subtree = MakeTree ( PT_TBLMEMBER, P ( (yyvsp[-4]) ), T ( (yyvsp[-3]) ), P ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5670 
5671     break;
5672 
5673   case 232:
5674 
5675     { (yyval) . subtree = MakeTree ( PT_INCLUDE, T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5676 
5677     break;
5678 
5679   case 233:
5680 
5681     { (yyval) . subtree = MakeTree ( PT_FQN, P ( (yyvsp[0]) ) ); }
5682 
5683     break;
5684 
5685   case 234:
5686 
5687     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5688 
5689     break;
5690 
5691   case 235:
5692 
5693     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5694 
5695     break;
5696 
5697   case 236:
5698 
5699     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5700 
5701     break;
5702 
5703   case 237:
5704 
5705     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5706 
5707     break;
5708 
5709   case 238:
5710 
5711     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5712 
5713     break;
5714 
5715   case 239:
5716 
5717     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5718 
5719     break;
5720 
5721   case 240:
5722 
5723     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5724 
5725     break;
5726 
5727   case 241:
5728 
5729     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5730 
5731     break;
5732 
5733   case 242:
5734 
5735     { (yyvsp[0]) . type = IDENTIFIER_1_0; (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ) ); }
5736 
5737     break;
5738 
5739   case 243:
5740 
5741     { (yyval) . subtree = MakeTree ( PT_IDENT, T ( (yyvsp[0]) ) ); }
5742 
5743     break;
5744 
5745   case 244:
5746 
5747     { (yyval) . subtree = MakeTree ( PT_EMPTY ); }
5748 
5749     break;
5750 
5751   case 245:
5752 
5753     { (yyval) . subtree = MakeTree ( PT_VERSNAME, P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5754 
5755     break;
5756 
5757   case 246:
5758 
5759     { (yyval) = (yyvsp[0]); }
5760 
5761     break;
5762 
5763   case 247:
5764 
5765     { (yyval) = (yyvsp[0]); }
5766 
5767     break;
5768 
5769   case 248:
5770 
5771     { (yyval) . subtree = MakeTree ( PT_VERSION_2, T ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5772 
5773     break;
5774 
5775   case 249:
5776 
5777     { (yyval) . subtree = MakeTree ( PT_SCHEMA_2_0, P ( (yyvsp[0]) ) ); }
5778 
5779     break;
5780 
5781   case 250:
5782 
5783     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ) , P ( (yyvsp[0]) ) ); }
5784 
5785     break;
5786 
5787   case 251:
5788 
5789     { (yyval) = (yyvsp[0]); }
5790 
5791     break;
5792 
5793   case 252:
5794 
5795     { (yyval) = (yyvsp[0]); }
5796 
5797     break;
5798 
5799   case 253:
5800 
5801     { (yyval) . subtree = MakeTree ( PT_VIEW, T ( (yyvsp[-8]) ), P ( (yyvsp[-7]) ), T ( (yyvsp[-6]) ), P ( (yyvsp[-5]) ), T ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5802 
5803     break;
5804 
5805   case 254:
5806 
5807     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5808 
5809     break;
5810 
5811   case 255:
5812 
5813     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5814 
5815     break;
5816 
5817   case 256:
5818 
5819     { (yyval) . subtree = MakeTree ( PT_VIEWPARAM, P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5820 
5821     break;
5822 
5823   case 257:
5824 
5825     { (yyval) = (yyvsp[0]); }
5826 
5827     break;
5828 
5829   case 258:
5830 
5831     { (yyval) = (yyvsp[0]); }
5832 
5833     break;
5834 
5835   case 259:
5836 
5837     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5838 
5839     break;
5840 
5841   case 260:
5842 
5843     { (yyval) . subtree = AddToList ( P ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5844 
5845     break;
5846 
5847   case 261:
5848 
5849     { (yyval) . subtree = MakeTree ( PT_PRODSTMT, P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5850 
5851     break;
5852 
5853   case 262:
5854 
5855     { (yyval) . subtree = MakeTree ( PT_COLUMN, T ( (yyvsp[-5]) ), P ( (yyvsp[-4]) ), P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5856 
5857     break;
5858 
5859   case 263:
5860 
5861     { (yyval) . subtree = T ( (yyvsp[0]) ); }
5862 
5863     break;
5864 
5865   case 264:
5866 
5867     { (yyval) = (yyvsp[0]); }
5868 
5869     break;
5870 
5871   case 265:
5872 
5873     { (yyval) . subtree = MakeTree ( PT_VIEWPARENTS, T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5874 
5875     break;
5876 
5877   case 266:
5878 
5879     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5880 
5881     break;
5882 
5883   case 267:
5884 
5885     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5886 
5887     break;
5888 
5889   case 268:
5890 
5891     { (yyval) . subtree = MakeTree ( PT_VIEWPARENT, P ( (yyvsp[-3]) ), T ( (yyvsp[-2]) ), P ( (yyvsp[-1]) ), T ( (yyvsp[0]) ) ); }
5892 
5893     break;
5894 
5895   case 269:
5896 
5897     { (yyval) . subtree = MakeList ( (yyvsp[0]) ); }
5898 
5899     break;
5900 
5901   case 270:
5902 
5903     { (yyval) . subtree = AddToList ( P ( (yyvsp[-2]) ), T ( (yyvsp[-1]) ), P ( (yyvsp[0]) ) ); }
5904 
5905     break;
5906 
5907 
5908 
5909       default: break;
5910     }
5911   /* User semantic actions sometimes alter yychar, and that requires
5912      that yytoken be updated with the new translation.  We take the
5913      approach of translating immediately before every use of yytoken.
5914      One alternative is translating here after every semantic action,
5915      but that translation would be missed if the semantic action invokes
5916      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
5917      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
5918      incorrect destructor might then be invoked immediately.  In the
5919      case of YYERROR or YYBACKUP, subsequent parser actions might lead
5920      to an incorrect destructor call or verbose syntax error message
5921      before the lookahead is translated.  */
5922   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5923 
5924   YYPOPSTACK (yylen);
5925   yylen = 0;
5926   YY_STACK_PRINT (yyss, yyssp);
5927 
5928   *++yyvsp = yyval;
5929   *++yylsp = yyloc;
5930 
5931   /* Now 'shift' the result of the reduction.  Determine what state
5932      that goes to, based on the state we popped back to and the rule
5933      number reduced by.  */
5934 
5935   yyn = yyr1[yyn];
5936 
5937   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5938   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5939     yystate = yytable[yystate];
5940   else
5941     yystate = yydefgoto[yyn - YYNTOKENS];
5942 
5943   goto yynewstate;
5944 
5945 
5946 /*--------------------------------------.
5947 | yyerrlab -- here on detecting error.  |
5948 `--------------------------------------*/
5949 yyerrlab:
5950   /* Make sure we have latest lookahead translation.  See comments at
5951      user semantic actions for why this is necessary.  */
5952   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
5953 
5954   /* If not already recovering from an error, report this error.  */
5955   if (!yyerrstatus)
5956     {
5957       ++yynerrs;
5958 #if ! YYERROR_VERBOSE
5959       yyerror (&yylloc, root, errors, sb, YY_("syntax error"));
5960 #else
5961 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
5962                                         yyssp, yytoken)
5963       {
5964         char const *yymsgp = YY_("syntax error");
5965         int yysyntax_error_status;
5966         yysyntax_error_status = YYSYNTAX_ERROR;
5967         if (yysyntax_error_status == 0)
5968           yymsgp = yymsg;
5969         else if (yysyntax_error_status == 1)
5970           {
5971             if (yymsg != yymsgbuf)
5972               YYSTACK_FREE (yymsg);
5973             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
5974             if (!yymsg)
5975               {
5976                 yymsg = yymsgbuf;
5977                 yymsg_alloc = sizeof yymsgbuf;
5978                 yysyntax_error_status = 2;
5979               }
5980             else
5981               {
5982                 yysyntax_error_status = YYSYNTAX_ERROR;
5983                 yymsgp = yymsg;
5984               }
5985           }
5986         yyerror (&yylloc, root, errors, sb, yymsgp);
5987         if (yysyntax_error_status == 2)
5988           goto yyexhaustedlab;
5989       }
5990 # undef YYSYNTAX_ERROR
5991 #endif
5992     }
5993 
5994   yyerror_range[1] = yylloc;
5995 
5996   if (yyerrstatus == 3)
5997     {
5998       /* If just tried and failed to reuse lookahead token after an
5999          error, discard it.  */
6000 
6001       if (yychar <= YYEOF)
6002         {
6003           /* Return failure if at end of input.  */
6004           if (yychar == YYEOF)
6005             YYABORT;
6006         }
6007       else
6008         {
6009           yydestruct ("Error: discarding",
6010                       yytoken, &yylval, &yylloc, root, errors, sb);
6011           yychar = YYEMPTY;
6012         }
6013     }
6014 
6015   /* Else will try to reuse lookahead token after shifting the error
6016      token.  */
6017   goto yyerrlab1;
6018 
6019 
6020 /*---------------------------------------------------.
6021 | yyerrorlab -- error raised explicitly by YYERROR.  |
6022 `---------------------------------------------------*/
6023 yyerrorlab:
6024 
6025   /* Pacify compilers like GCC when the user code never invokes
6026      YYERROR and the label yyerrorlab therefore never appears in user
6027      code.  */
6028   if (/*CONSTCOND*/ 0)
6029      goto yyerrorlab;
6030 
6031   yyerror_range[1] = yylsp[1-yylen];
6032   /* Do not reclaim the symbols of the rule whose action triggered
6033      this YYERROR.  */
6034   YYPOPSTACK (yylen);
6035   yylen = 0;
6036   YY_STACK_PRINT (yyss, yyssp);
6037   yystate = *yyssp;
6038   goto yyerrlab1;
6039 
6040 
6041 /*-------------------------------------------------------------.
6042 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6043 `-------------------------------------------------------------*/
6044 yyerrlab1:
6045   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6046 
6047   for (;;)
6048     {
6049       yyn = yypact[yystate];
6050       if (!yypact_value_is_default (yyn))
6051         {
6052           yyn += YYTERROR;
6053           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6054             {
6055               yyn = yytable[yyn];
6056               if (0 < yyn)
6057                 break;
6058             }
6059         }
6060 
6061       /* Pop the current state because it cannot handle the error token.  */
6062       if (yyssp == yyss)
6063         YYABORT;
6064 
6065       yyerror_range[1] = *yylsp;
6066       yydestruct ("Error: popping",
6067                   yystos[yystate], yyvsp, yylsp, root, errors, sb);
6068       YYPOPSTACK (1);
6069       yystate = *yyssp;
6070       YY_STACK_PRINT (yyss, yyssp);
6071     }
6072 
6073   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6074   *++yyvsp = yylval;
6075   YY_IGNORE_MAYBE_UNINITIALIZED_END
6076 
6077   yyerror_range[2] = yylloc;
6078   /* Using YYLLOC is tempting, but would change the location of
6079      the lookahead.  YYLOC is available though.  */
6080   YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
6081   *++yylsp = yyloc;
6082 
6083   /* Shift the error token.  */
6084   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6085 
6086   yystate = yyn;
6087   goto yynewstate;
6088 
6089 
6090 /*-------------------------------------.
6091 | yyacceptlab -- YYACCEPT comes here.  |
6092 `-------------------------------------*/
6093 yyacceptlab:
6094   yyresult = 0;
6095   goto yyreturn;
6096 
6097 /*-----------------------------------.
6098 | yyabortlab -- YYABORT comes here.  |
6099 `-----------------------------------*/
6100 yyabortlab:
6101   yyresult = 1;
6102   goto yyreturn;
6103 
6104 #if !defined yyoverflow || YYERROR_VERBOSE
6105 /*-------------------------------------------------.
6106 | yyexhaustedlab -- memory exhaustion comes here.  |
6107 `-------------------------------------------------*/
6108 yyexhaustedlab:
6109   yyerror (&yylloc, root, errors, sb, YY_("memory exhausted"));
6110   yyresult = 2;
6111   /* Fall through.  */
6112 #endif
6113 
6114 yyreturn:
6115   if (yychar != YYEMPTY)
6116     {
6117       /* Make sure we have latest lookahead translation.  See comments at
6118          user semantic actions for why this is necessary.  */
6119       yytoken = YYTRANSLATE (yychar);
6120       yydestruct ("Cleanup: discarding lookahead",
6121                   yytoken, &yylval, &yylloc, root, errors, sb);
6122     }
6123   /* Do not reclaim the symbols of the rule whose action triggered
6124      this YYABORT or YYACCEPT.  */
6125   YYPOPSTACK (yylen);
6126   YY_STACK_PRINT (yyss, yyssp);
6127   while (yyssp != yyss)
6128     {
6129       yydestruct ("Cleanup: popping",
6130                   yystos[*yyssp], yyvsp, yylsp, root, errors, sb);
6131       YYPOPSTACK (1);
6132     }
6133 #ifndef yyoverflow
6134   if (yyss != yyssa)
6135     YYSTACK_FREE (yyss);
6136 #endif
6137 #if YYERROR_VERBOSE
6138   if (yymsg != yymsgbuf)
6139     YYSTACK_FREE (yymsg);
6140 #endif
6141   return yyresult;
6142 }
6143