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