MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pars0grm.cc
1 /* A Bison parser, made by GNU Bison 2.3. */
2 
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6  Free Software Foundation, Inc.
7 
8  This program is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2, or (at your option)
11  any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  Boston, MA 02110-1301, USA. */
22 
23 /* As a special exception, you may create a larger work that contains
24  part or all of the Bison parser skeleton and distribute that work
25  under terms of your choice, so long as that work isn't itself a
26  parser generator using the skeleton or a modified version thereof
27  as a parser skeleton. Alternatively, if you modify or redistribute
28  the parser skeleton itself, you may (at your option) remove this
29  special exception, which will cause the skeleton and the resulting
30  Bison output files to be licensed under the GNU General Public
31  License without this special exception.
32 
33  This special exception was added by the Free Software Foundation in
34  version 2.2 of Bison. */
35 
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37  simplifying the original so-called "semantic" parser. */
38 
39 /* All symbols defined below should begin with yy or YY, to avoid
40  infringing on user name space. This should be done even for local
41  variables, as they might otherwise be expanded by user macros.
42  There are some unavoidable exceptions within include files to
43  define necessary library symbols; they are noted "INFRINGES ON
44  USER NAME SPACE" below. */
45 
46 /* Identify Bison output. */
47 #define YYBISON 1
48 
49 /* Bison version. */
50 #define YYBISON_VERSION "2.3"
51 
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
54 
55 /* Pure parsers. */
56 #define YYPURE 0
57 
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
60 
61 
62 
63 /* Tokens. */
64 #ifndef YYTOKENTYPE
65 # define YYTOKENTYPE
66  /* Put the tokens into the symbol table, so that GDB and other debuggers
67  know about them. */
68  enum yytokentype {
69  PARS_INT_LIT = 258,
70  PARS_FLOAT_LIT = 259,
71  PARS_STR_LIT = 260,
72  PARS_FIXBINARY_LIT = 261,
73  PARS_BLOB_LIT = 262,
74  PARS_NULL_LIT = 263,
75  PARS_ID_TOKEN = 264,
76  PARS_AND_TOKEN = 265,
77  PARS_OR_TOKEN = 266,
78  PARS_NOT_TOKEN = 267,
79  PARS_GE_TOKEN = 268,
80  PARS_LE_TOKEN = 269,
81  PARS_NE_TOKEN = 270,
82  PARS_PROCEDURE_TOKEN = 271,
83  PARS_IN_TOKEN = 272,
84  PARS_OUT_TOKEN = 273,
85  PARS_BINARY_TOKEN = 274,
86  PARS_BLOB_TOKEN = 275,
87  PARS_INT_TOKEN = 276,
88  PARS_INTEGER_TOKEN = 277,
89  PARS_FLOAT_TOKEN = 278,
90  PARS_CHAR_TOKEN = 279,
91  PARS_IS_TOKEN = 280,
92  PARS_BEGIN_TOKEN = 281,
93  PARS_END_TOKEN = 282,
94  PARS_IF_TOKEN = 283,
95  PARS_THEN_TOKEN = 284,
96  PARS_ELSE_TOKEN = 285,
97  PARS_ELSIF_TOKEN = 286,
98  PARS_LOOP_TOKEN = 287,
99  PARS_WHILE_TOKEN = 288,
100  PARS_RETURN_TOKEN = 289,
101  PARS_SELECT_TOKEN = 290,
102  PARS_SUM_TOKEN = 291,
103  PARS_COUNT_TOKEN = 292,
104  PARS_DISTINCT_TOKEN = 293,
105  PARS_FROM_TOKEN = 294,
106  PARS_WHERE_TOKEN = 295,
107  PARS_FOR_TOKEN = 296,
108  PARS_DDOT_TOKEN = 297,
109  PARS_READ_TOKEN = 298,
110  PARS_ORDER_TOKEN = 299,
111  PARS_BY_TOKEN = 300,
112  PARS_ASC_TOKEN = 301,
113  PARS_DESC_TOKEN = 302,
114  PARS_INSERT_TOKEN = 303,
115  PARS_INTO_TOKEN = 304,
116  PARS_VALUES_TOKEN = 305,
117  PARS_UPDATE_TOKEN = 306,
118  PARS_SET_TOKEN = 307,
119  PARS_DELETE_TOKEN = 308,
120  PARS_CURRENT_TOKEN = 309,
121  PARS_OF_TOKEN = 310,
122  PARS_CREATE_TOKEN = 311,
123  PARS_TABLE_TOKEN = 312,
124  PARS_INDEX_TOKEN = 313,
125  PARS_UNIQUE_TOKEN = 314,
126  PARS_CLUSTERED_TOKEN = 315,
127  PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316,
128  PARS_ON_TOKEN = 317,
129  PARS_ASSIGN_TOKEN = 318,
130  PARS_DECLARE_TOKEN = 319,
131  PARS_CURSOR_TOKEN = 320,
132  PARS_SQL_TOKEN = 321,
133  PARS_OPEN_TOKEN = 322,
134  PARS_FETCH_TOKEN = 323,
135  PARS_CLOSE_TOKEN = 324,
136  PARS_NOTFOUND_TOKEN = 325,
137  PARS_TO_CHAR_TOKEN = 326,
138  PARS_TO_NUMBER_TOKEN = 327,
139  PARS_TO_BINARY_TOKEN = 328,
140  PARS_BINARY_TO_NUMBER_TOKEN = 329,
141  PARS_SUBSTR_TOKEN = 330,
142  PARS_REPLSTR_TOKEN = 331,
143  PARS_CONCAT_TOKEN = 332,
144  PARS_INSTR_TOKEN = 333,
145  PARS_LENGTH_TOKEN = 334,
146  PARS_SYSDATE_TOKEN = 335,
147  PARS_PRINTF_TOKEN = 336,
148  PARS_ASSERT_TOKEN = 337,
149  PARS_RND_TOKEN = 338,
150  PARS_RND_STR_TOKEN = 339,
151  PARS_ROW_PRINTF_TOKEN = 340,
152  PARS_COMMIT_TOKEN = 341,
153  PARS_ROLLBACK_TOKEN = 342,
154  PARS_WORK_TOKEN = 343,
155  PARS_UNSIGNED_TOKEN = 344,
156  PARS_EXIT_TOKEN = 345,
157  PARS_FUNCTION_TOKEN = 346,
158  PARS_LOCK_TOKEN = 347,
159  PARS_SHARE_TOKEN = 348,
160  PARS_MODE_TOKEN = 349,
161  PARS_LIKE_TOKEN = 350,
162  PARS_LIKE_TOKEN_EXACT = 351,
163  PARS_LIKE_TOKEN_PREFIX = 352,
164  PARS_LIKE_TOKEN_SUFFIX = 353,
165  PARS_LIKE_TOKEN_SUBSTR = 354,
166  PARS_TABLE_NAME_TOKEN = 355,
167  PARS_COMPACT_TOKEN = 356,
168  PARS_BLOCK_SIZE_TOKEN = 357,
169  PARS_BIGINT_TOKEN = 358,
170  NEG = 359
171  };
172 #endif
173 /* Tokens. */
174 #define PARS_INT_LIT 258
175 #define PARS_FLOAT_LIT 259
176 #define PARS_STR_LIT 260
177 #define PARS_FIXBINARY_LIT 261
178 #define PARS_BLOB_LIT 262
179 #define PARS_NULL_LIT 263
180 #define PARS_ID_TOKEN 264
181 #define PARS_AND_TOKEN 265
182 #define PARS_OR_TOKEN 266
183 #define PARS_NOT_TOKEN 267
184 #define PARS_GE_TOKEN 268
185 #define PARS_LE_TOKEN 269
186 #define PARS_NE_TOKEN 270
187 #define PARS_PROCEDURE_TOKEN 271
188 #define PARS_IN_TOKEN 272
189 #define PARS_OUT_TOKEN 273
190 #define PARS_BINARY_TOKEN 274
191 #define PARS_BLOB_TOKEN 275
192 #define PARS_INT_TOKEN 276
193 #define PARS_INTEGER_TOKEN 277
194 #define PARS_FLOAT_TOKEN 278
195 #define PARS_CHAR_TOKEN 279
196 #define PARS_IS_TOKEN 280
197 #define PARS_BEGIN_TOKEN 281
198 #define PARS_END_TOKEN 282
199 #define PARS_IF_TOKEN 283
200 #define PARS_THEN_TOKEN 284
201 #define PARS_ELSE_TOKEN 285
202 #define PARS_ELSIF_TOKEN 286
203 #define PARS_LOOP_TOKEN 287
204 #define PARS_WHILE_TOKEN 288
205 #define PARS_RETURN_TOKEN 289
206 #define PARS_SELECT_TOKEN 290
207 #define PARS_SUM_TOKEN 291
208 #define PARS_COUNT_TOKEN 292
209 #define PARS_DISTINCT_TOKEN 293
210 #define PARS_FROM_TOKEN 294
211 #define PARS_WHERE_TOKEN 295
212 #define PARS_FOR_TOKEN 296
213 #define PARS_DDOT_TOKEN 297
214 #define PARS_READ_TOKEN 298
215 #define PARS_ORDER_TOKEN 299
216 #define PARS_BY_TOKEN 300
217 #define PARS_ASC_TOKEN 301
218 #define PARS_DESC_TOKEN 302
219 #define PARS_INSERT_TOKEN 303
220 #define PARS_INTO_TOKEN 304
221 #define PARS_VALUES_TOKEN 305
222 #define PARS_UPDATE_TOKEN 306
223 #define PARS_SET_TOKEN 307
224 #define PARS_DELETE_TOKEN 308
225 #define PARS_CURRENT_TOKEN 309
226 #define PARS_OF_TOKEN 310
227 #define PARS_CREATE_TOKEN 311
228 #define PARS_TABLE_TOKEN 312
229 #define PARS_INDEX_TOKEN 313
230 #define PARS_UNIQUE_TOKEN 314
231 #define PARS_CLUSTERED_TOKEN 315
232 #define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316
233 #define PARS_ON_TOKEN 317
234 #define PARS_ASSIGN_TOKEN 318
235 #define PARS_DECLARE_TOKEN 319
236 #define PARS_CURSOR_TOKEN 320
237 #define PARS_SQL_TOKEN 321
238 #define PARS_OPEN_TOKEN 322
239 #define PARS_FETCH_TOKEN 323
240 #define PARS_CLOSE_TOKEN 324
241 #define PARS_NOTFOUND_TOKEN 325
242 #define PARS_TO_CHAR_TOKEN 326
243 #define PARS_TO_NUMBER_TOKEN 327
244 #define PARS_TO_BINARY_TOKEN 328
245 #define PARS_BINARY_TO_NUMBER_TOKEN 329
246 #define PARS_SUBSTR_TOKEN 330
247 #define PARS_REPLSTR_TOKEN 331
248 #define PARS_CONCAT_TOKEN 332
249 #define PARS_INSTR_TOKEN 333
250 #define PARS_LENGTH_TOKEN 334
251 #define PARS_SYSDATE_TOKEN 335
252 #define PARS_PRINTF_TOKEN 336
253 #define PARS_ASSERT_TOKEN 337
254 #define PARS_RND_TOKEN 338
255 #define PARS_RND_STR_TOKEN 339
256 #define PARS_ROW_PRINTF_TOKEN 340
257 #define PARS_COMMIT_TOKEN 341
258 #define PARS_ROLLBACK_TOKEN 342
259 #define PARS_WORK_TOKEN 343
260 #define PARS_UNSIGNED_TOKEN 344
261 #define PARS_EXIT_TOKEN 345
262 #define PARS_FUNCTION_TOKEN 346
263 #define PARS_LOCK_TOKEN 347
264 #define PARS_SHARE_TOKEN 348
265 #define PARS_MODE_TOKEN 349
266 #define PARS_LIKE_TOKEN 350
267 #define PARS_LIKE_TOKEN_EXACT 351
268 #define PARS_LIKE_TOKEN_PREFIX 352
269 #define PARS_LIKE_TOKEN_SUFFIX 353
270 #define PARS_LIKE_TOKEN_SUBSTR 354
271 #define PARS_TABLE_NAME_TOKEN 355
272 #define PARS_COMPACT_TOKEN 356
273 #define PARS_BLOCK_SIZE_TOKEN 357
274 #define PARS_BIGINT_TOKEN 358
275 #define NEG 359
276 
277 
278 
279 
280 /* Copy the first part of user declarations. */
281 #line 28 "pars0grm.y"
282 
283 /* The value of the semantic attribute is a pointer to a query tree node
284 que_node_t */
285 
286 #include "univ.i"
287 #include <math.h> /* Can't be before univ.i */
288 #include "pars0pars.h"
289 #include "mem0mem.h"
290 #include "que0types.h"
291 #include "que0que.h"
292 #include "row0sel.h"
293 
294 #define YYSTYPE que_node_t*
295 
296 /* #define __STDC__ */
297 
298 int
299 yylex(void);
300 
301 
302 /* Enabling traces. */
303 #ifndef YYDEBUG
304 # define YYDEBUG 0
305 #endif
306 
307 /* Enabling verbose error messages. */
308 #ifdef YYERROR_VERBOSE
309 # undef YYERROR_VERBOSE
310 # define YYERROR_VERBOSE 1
311 #else
312 # define YYERROR_VERBOSE 0
313 #endif
314 
315 /* Enabling the token table. */
316 #ifndef YYTOKEN_TABLE
317 # define YYTOKEN_TABLE 0
318 #endif
319 
320 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
321 typedef int YYSTYPE;
322 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
323 # define YYSTYPE_IS_DECLARED 1
324 # define YYSTYPE_IS_TRIVIAL 1
325 #endif
326 
327 
328 
329 /* Copy the second part of user declarations. */
330 
331 
332 /* Line 216 of yacc.c. */
333 #line 334 "pars0grm.cc"
334 
335 #ifdef short
336 # undef short
337 #endif
338 
339 #ifdef YYTYPE_UINT8
340 typedef YYTYPE_UINT8 yytype_uint8;
341 #else
342 typedef unsigned char yytype_uint8;
343 #endif
344 
345 #ifdef YYTYPE_INT8
346 typedef YYTYPE_INT8 yytype_int8;
347 #elif (defined __STDC__ || defined __C99__FUNC__ \
348  || defined __cplusplus || defined _MSC_VER)
349 typedef signed char yytype_int8;
350 #else
351 typedef short int yytype_int8;
352 #endif
353 
354 #ifdef YYTYPE_UINT16
355 typedef YYTYPE_UINT16 yytype_uint16;
356 #else
357 typedef unsigned short int yytype_uint16;
358 #endif
359 
360 #ifdef YYTYPE_INT16
361 typedef YYTYPE_INT16 yytype_int16;
362 #else
363 typedef short int yytype_int16;
364 #endif
365 
366 #ifndef YYSIZE_T
367 # ifdef __SIZE_TYPE__
368 # define YYSIZE_T __SIZE_TYPE__
369 # elif defined size_t
370 # define YYSIZE_T size_t
371 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
372  || defined __cplusplus || defined _MSC_VER)
373 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
374 # define YYSIZE_T size_t
375 # else
376 # define YYSIZE_T unsigned int
377 # endif
378 #endif
379 
380 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
381 
382 #ifndef YY_
383 # if defined YYENABLE_NLS && YYENABLE_NLS
384 # if ENABLE_NLS
385 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
386 # define YY_(msgid) dgettext ("bison-runtime", msgid)
387 # endif
388 # endif
389 # ifndef YY_
390 # define YY_(msgid) msgid
391 # endif
392 #endif
393 
394 /* Suppress unused-variable warnings by "using" E. */
395 #if ! defined lint || defined __GNUC__
396 # define YYUSE(e) ((void) (e))
397 #else
398 # define YYUSE(e) /* empty */
399 #endif
400 
401 /* Identity function, used to suppress warnings about constant conditions. */
402 #ifndef lint
403 # define YYID(n) (n)
404 #else
405 #if (defined __STDC__ || defined __C99__FUNC__ \
406  || defined __cplusplus || defined _MSC_VER)
407 static int
408 YYID (int i)
409 #else
410 static int
411 YYID (i)
412  int i;
413 #endif
414 {
415  return i;
416 }
417 #endif
418 
419 #if ! defined yyoverflow || YYERROR_VERBOSE
420 
421 /* The parser invokes alloca or malloc; define the necessary symbols. */
422 
423 # ifdef YYSTACK_USE_ALLOCA
424 # if YYSTACK_USE_ALLOCA
425 # ifdef __GNUC__
426 # define YYSTACK_ALLOC __builtin_alloca
427 # elif defined __BUILTIN_VA_ARG_INCR
428 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
429 # elif defined _AIX
430 # define YYSTACK_ALLOC __alloca
431 # elif defined _MSC_VER
432 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
433 # define alloca _alloca
434 # else
435 # define YYSTACK_ALLOC alloca
436 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
437  || defined __cplusplus || defined _MSC_VER)
438 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
439 # ifndef _STDLIB_H
440 # define _STDLIB_H 1
441 # endif
442 # endif
443 # endif
444 # endif
445 # endif
446 
447 # ifdef YYSTACK_ALLOC
448  /* Pacify GCC's `empty if-body' warning. */
449 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
450 # ifndef YYSTACK_ALLOC_MAXIMUM
451  /* The OS might guarantee only one guard page at the bottom of the stack,
452  and a page size can be as small as 4096 bytes. So we cannot safely
453  invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
454  to allow for a few compiler-allocated temporary stack slots. */
455 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
456 # endif
457 # else
458 # define YYSTACK_ALLOC YYMALLOC
459 # define YYSTACK_FREE YYFREE
460 # ifndef YYSTACK_ALLOC_MAXIMUM
461 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
462 # endif
463 # if (defined __cplusplus && ! defined _STDLIB_H \
464  && ! ((defined YYMALLOC || defined malloc) \
465  && (defined YYFREE || defined free)))
466 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
467 # ifndef _STDLIB_H
468 # define _STDLIB_H 1
469 # endif
470 # endif
471 # ifndef YYMALLOC
472 # define YYMALLOC malloc
473 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
474  || defined __cplusplus || defined _MSC_VER)
475 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
476 # endif
477 # endif
478 # ifndef YYFREE
479 # define YYFREE free
480 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
481  || defined __cplusplus || defined _MSC_VER)
482 void free (void*); /* INFRINGES ON USER NAME SPACE */
483 # endif
484 # endif
485 # endif
486 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
487 
488 
489 #if (! defined yyoverflow \
490  && (! defined __cplusplus \
491  || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
492 
493 /* A type that is properly aligned for any stack member. */
494 union yyalloc
495 {
496  yytype_int16 yyss;
497  YYSTYPE yyvs;
498  };
499 
500 /* The size of the maximum gap between one aligned stack and the next. */
501 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
502 
503 /* The size of an array large to enough to hold all stacks, each with
504  N elements. */
505 # define YYSTACK_BYTES(N) \
506  ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
507  + YYSTACK_GAP_MAXIMUM)
508 
509 /* Copy COUNT objects from FROM to TO. The source and destination do
510  not overlap. */
511 # ifndef YYCOPY
512 # if defined __GNUC__ && 1 < __GNUC__
513 # define YYCOPY(To, From, Count) \
514  __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
515 # else
516 # define YYCOPY(To, From, Count) \
517  do \
518  { \
519  YYSIZE_T yyi; \
520  for (yyi = 0; yyi < (Count); yyi++) \
521  (To)[yyi] = (From)[yyi]; \
522  } \
523  while (YYID (0))
524 # endif
525 # endif
526 
527 /* Relocate STACK from its old location to the new one. The
528  local variables YYSIZE and YYSTACKSIZE give the old and new number of
529  elements in the stack, and YYPTR gives the new location of the
530  stack. Advance YYPTR to a properly aligned location for the next
531  stack. */
532 # define YYSTACK_RELOCATE(Stack) \
533  do \
534  { \
535  YYSIZE_T yynewbytes; \
536  YYCOPY (&yyptr->Stack, Stack, yysize); \
537  Stack = &yyptr->Stack; \
538  yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
539  yyptr += yynewbytes / sizeof (*yyptr); \
540  } \
541  while (YYID (0))
542 
543 #endif
544 
545 /* YYFINAL -- State number of the termination state. */
546 #define YYFINAL 5
547 /* YYLAST -- Last index in YYTABLE. */
548 #define YYLAST 816
549 
550 /* YYNTOKENS -- Number of terminals. */
551 #define YYNTOKENS 120
552 /* YYNNTS -- Number of nonterminals. */
553 #define YYNNTS 73
554 /* YYNRULES -- Number of rules. */
555 #define YYNRULES 183
556 /* YYNRULES -- Number of states. */
557 #define YYNSTATES 350
558 
559 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
560 #define YYUNDEFTOK 2
561 #define YYMAXUTOK 359
562 
563 #define YYTRANSLATE(YYX) \
564  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
565 
566 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
567 static const yytype_uint8 yytranslate[] =
568 {
569  0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572  2, 2, 2, 2, 2, 2, 2, 112, 2, 2,
573  114, 115, 109, 108, 117, 107, 2, 110, 2, 2,
574  2, 2, 2, 2, 2, 2, 2, 2, 2, 113,
575  105, 104, 106, 116, 2, 2, 2, 2, 2, 2,
576  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581  2, 2, 2, 118, 2, 119, 2, 2, 2, 2,
582  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
587  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
589  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
590  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
591  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
592  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
593  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
594  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
595  5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
596  15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
597  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
598  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
599  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
600  55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
601  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
602  75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
603  85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
604  95, 96, 97, 98, 99, 100, 101, 102, 103, 111
605 };
606 
607 #if YYDEBUG
608 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
609  YYRHS. */
610 static const yytype_uint16 yyprhs[] =
611 {
612  0, 0, 3, 6, 8, 11, 14, 17, 20, 23,
613  26, 29, 32, 35, 38, 41, 44, 47, 50, 53,
614  56, 59, 62, 65, 68, 71, 73, 76, 78, 83,
615  85, 87, 89, 91, 93, 95, 97, 101, 105, 109,
616  113, 116, 120, 124, 128, 132, 136, 140, 144, 148,
617  152, 156, 159, 163, 167, 169, 171, 173, 175, 177,
618  179, 181, 183, 185, 187, 189, 190, 192, 196, 203,
619  208, 210, 212, 214, 218, 220, 224, 225, 227, 231,
620  232, 234, 238, 240, 245, 251, 256, 257, 259, 263,
621  265, 269, 271, 272, 275, 276, 279, 280, 285, 286,
622  288, 290, 291, 296, 305, 309, 315, 318, 322, 324,
623  328, 333, 338, 341, 344, 348, 351, 354, 357, 361,
624  366, 368, 371, 372, 375, 377, 385, 392, 403, 405,
625  407, 410, 413, 418, 423, 429, 431, 435, 436, 440,
626  441, 443, 444, 447, 448, 450, 451, 453, 454, 458,
627  468, 470, 474, 475, 477, 478, 480, 491, 493, 495,
628  498, 501, 503, 505, 507, 509, 511, 513, 517, 521,
629  522, 524, 528, 532, 533, 535, 538, 545, 550, 552,
630  554, 555, 557, 560
631 };
632 
633 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
634 static const yytype_int16 yyrhs[] =
635 {
636  121, 0, -1, 192, 113, -1, 127, -1, 128, 113,
637  -1, 160, 113, -1, 161, 113, -1, 162, 113, -1,
638  159, 113, -1, 163, 113, -1, 155, 113, -1, 142,
639  113, -1, 144, 113, -1, 154, 113, -1, 152, 113,
640  -1, 153, 113, -1, 149, 113, -1, 150, 113, -1,
641  164, 113, -1, 166, 113, -1, 165, 113, -1, 181,
642  113, -1, 182, 113, -1, 175, 113, -1, 179, 113,
643  -1, 122, -1, 123, 122, -1, 9, -1, 125, 114,
644  133, 115, -1, 3, -1, 4, -1, 5, -1, 6,
645  -1, 7, -1, 8, -1, 66, -1, 124, 108, 124,
646  -1, 124, 107, 124, -1, 124, 109, 124, -1, 124,
647  110, 124, -1, 107, 124, -1, 114, 124, 115, -1,
648  124, 104, 124, -1, 124, 95, 5, -1, 124, 105,
649  124, -1, 124, 106, 124, -1, 124, 13, 124, -1,
650  124, 14, 124, -1, 124, 15, 124, -1, 124, 10,
651  124, -1, 124, 11, 124, -1, 12, 124, -1, 9,
652  112, 70, -1, 66, 112, 70, -1, 71, -1, 72,
653  -1, 73, -1, 74, -1, 75, -1, 77, -1, 78,
654  -1, 79, -1, 80, -1, 83, -1, 84, -1, -1,
655  116, -1, 126, 117, 116, -1, 118, 9, 114, 126,
656  115, 119, -1, 129, 114, 133, 115, -1, 76, -1,
657  81, -1, 82, -1, 9, 114, 115, -1, 180, -1,
658  131, 117, 180, -1, -1, 9, -1, 132, 117, 9,
659  -1, -1, 124, -1, 133, 117, 124, -1, 124, -1,
660  37, 114, 109, 115, -1, 37, 114, 38, 9, 115,
661  -1, 36, 114, 124, 115, -1, -1, 134, -1, 135,
662  117, 134, -1, 109, -1, 135, 49, 132, -1, 135,
663  -1, -1, 40, 124, -1, -1, 41, 51, -1, -1,
664  92, 17, 93, 94, -1, -1, 46, -1, 47, -1,
665  -1, 44, 45, 9, 140, -1, 35, 136, 39, 131,
666  137, 138, 139, 141, -1, 48, 49, 180, -1, 143,
667  50, 114, 133, 115, -1, 143, 142, -1, 9, 104,
668  124, -1, 145, -1, 146, 117, 145, -1, 40, 54,
669  55, 9, -1, 51, 180, 52, 146, -1, 148, 137,
670  -1, 148, 147, -1, 53, 39, 180, -1, 151, 137,
671  -1, 151, 147, -1, 85, 142, -1, 9, 63, 124,
672  -1, 31, 124, 29, 123, -1, 156, -1, 157, 156,
673  -1, -1, 30, 123, -1, 157, -1, 28, 124, 29,
674  123, 158, 27, 28, -1, 33, 124, 32, 123, 27,
675  32, -1, 41, 9, 17, 124, 42, 124, 32, 123,
676  27, 32, -1, 90, -1, 34, -1, 67, 9, -1,
677  69, 9, -1, 68, 9, 49, 132, -1, 68, 9,
678  49, 130, -1, 9, 183, 169, 170, 171, -1, 167,
679  -1, 168, 117, 167, -1, -1, 114, 3, 115, -1,
680  -1, 89, -1, -1, 12, 8, -1, -1, 61, -1,
681  -1, 101, -1, -1, 102, 104, 3, -1, 56, 57,
682  180, 114, 168, 115, 172, 173, 174, -1, 9, -1,
683  176, 117, 9, -1, -1, 59, -1, -1, 60, -1,
684  56, 177, 178, 58, 9, 62, 180, 114, 176, 115,
685  -1, 9, -1, 100, -1, 86, 88, -1, 87, 88,
686  -1, 21, -1, 22, -1, 103, -1, 24, -1, 19,
687  -1, 20, -1, 9, 17, 183, -1, 9, 18, 183,
688  -1, -1, 184, -1, 185, 117, 184, -1, 9, 183,
689  113, -1, -1, 186, -1, 187, 186, -1, 64, 65,
690  9, 25, 142, 113, -1, 64, 91, 9, 113, -1,
691  188, -1, 189, -1, -1, 190, -1, 191, 190, -1,
692  16, 9, 114, 185, 115, 25, 187, 191, 26, 123,
693  27, -1
694 };
695 
696 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
697 static const yytype_uint16 yyrline[] =
698 {
699  0, 162, 162, 165, 166, 167, 168, 169, 170, 171,
700  172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
701  182, 183, 184, 185, 186, 190, 191, 196, 197, 199,
702  200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
703  210, 211, 212, 213, 215, 216, 217, 218, 219, 220,
704  221, 222, 223, 225, 230, 231, 232, 233, 235, 236,
705  237, 238, 239, 240, 241, 244, 246, 247, 251, 257,
706  262, 263, 264, 268, 272, 273, 278, 279, 280, 285,
707  286, 287, 291, 292, 297, 303, 310, 311, 312, 317,
708  319, 322, 326, 327, 331, 332, 337, 338, 343, 344,
709  345, 349, 350, 357, 372, 377, 380, 388, 394, 395,
710  400, 406, 415, 423, 431, 438, 446, 454, 460, 467,
711  473, 474, 479, 480, 482, 486, 493, 499, 509, 513,
712  517, 524, 531, 535, 543, 552, 553, 558, 559, 564,
713  565, 571, 572, 578, 579, 585, 586, 591, 592, 597,
714  608, 609, 614, 615, 619, 620, 624, 638, 639, 643,
715  648, 653, 654, 655, 656, 657, 658, 662, 667, 675,
716  676, 677, 682, 688, 690, 691, 695, 703, 709, 710,
717  713, 715, 716, 720
718 };
719 #endif
720 
721 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
722 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
723  First, the terminals, then, starting at YYNTOKENS, nonterminals. */
724 static const char *const yytname[] =
725 {
726  "$end", "error", "$undefined", "PARS_INT_LIT", "PARS_FLOAT_LIT",
727  "PARS_STR_LIT", "PARS_FIXBINARY_LIT", "PARS_BLOB_LIT", "PARS_NULL_LIT",
728  "PARS_ID_TOKEN", "PARS_AND_TOKEN", "PARS_OR_TOKEN", "PARS_NOT_TOKEN",
729  "PARS_GE_TOKEN", "PARS_LE_TOKEN", "PARS_NE_TOKEN",
730  "PARS_PROCEDURE_TOKEN", "PARS_IN_TOKEN", "PARS_OUT_TOKEN",
731  "PARS_BINARY_TOKEN", "PARS_BLOB_TOKEN", "PARS_INT_TOKEN",
732  "PARS_INTEGER_TOKEN", "PARS_FLOAT_TOKEN", "PARS_CHAR_TOKEN",
733  "PARS_IS_TOKEN", "PARS_BEGIN_TOKEN", "PARS_END_TOKEN", "PARS_IF_TOKEN",
734  "PARS_THEN_TOKEN", "PARS_ELSE_TOKEN", "PARS_ELSIF_TOKEN",
735  "PARS_LOOP_TOKEN", "PARS_WHILE_TOKEN", "PARS_RETURN_TOKEN",
736  "PARS_SELECT_TOKEN", "PARS_SUM_TOKEN", "PARS_COUNT_TOKEN",
737  "PARS_DISTINCT_TOKEN", "PARS_FROM_TOKEN", "PARS_WHERE_TOKEN",
738  "PARS_FOR_TOKEN", "PARS_DDOT_TOKEN", "PARS_READ_TOKEN",
739  "PARS_ORDER_TOKEN", "PARS_BY_TOKEN", "PARS_ASC_TOKEN", "PARS_DESC_TOKEN",
740  "PARS_INSERT_TOKEN", "PARS_INTO_TOKEN", "PARS_VALUES_TOKEN",
741  "PARS_UPDATE_TOKEN", "PARS_SET_TOKEN", "PARS_DELETE_TOKEN",
742  "PARS_CURRENT_TOKEN", "PARS_OF_TOKEN", "PARS_CREATE_TOKEN",
743  "PARS_TABLE_TOKEN", "PARS_INDEX_TOKEN", "PARS_UNIQUE_TOKEN",
744  "PARS_CLUSTERED_TOKEN", "PARS_DOES_NOT_FIT_IN_MEM_TOKEN",
745  "PARS_ON_TOKEN", "PARS_ASSIGN_TOKEN", "PARS_DECLARE_TOKEN",
746  "PARS_CURSOR_TOKEN", "PARS_SQL_TOKEN", "PARS_OPEN_TOKEN",
747  "PARS_FETCH_TOKEN", "PARS_CLOSE_TOKEN", "PARS_NOTFOUND_TOKEN",
748  "PARS_TO_CHAR_TOKEN", "PARS_TO_NUMBER_TOKEN", "PARS_TO_BINARY_TOKEN",
749  "PARS_BINARY_TO_NUMBER_TOKEN", "PARS_SUBSTR_TOKEN", "PARS_REPLSTR_TOKEN",
750  "PARS_CONCAT_TOKEN", "PARS_INSTR_TOKEN", "PARS_LENGTH_TOKEN",
751  "PARS_SYSDATE_TOKEN", "PARS_PRINTF_TOKEN", "PARS_ASSERT_TOKEN",
752  "PARS_RND_TOKEN", "PARS_RND_STR_TOKEN", "PARS_ROW_PRINTF_TOKEN",
753  "PARS_COMMIT_TOKEN", "PARS_ROLLBACK_TOKEN", "PARS_WORK_TOKEN",
754  "PARS_UNSIGNED_TOKEN", "PARS_EXIT_TOKEN", "PARS_FUNCTION_TOKEN",
755  "PARS_LOCK_TOKEN", "PARS_SHARE_TOKEN", "PARS_MODE_TOKEN",
756  "PARS_LIKE_TOKEN", "PARS_LIKE_TOKEN_EXACT", "PARS_LIKE_TOKEN_PREFIX",
757  "PARS_LIKE_TOKEN_SUFFIX", "PARS_LIKE_TOKEN_SUBSTR",
758  "PARS_TABLE_NAME_TOKEN", "PARS_COMPACT_TOKEN", "PARS_BLOCK_SIZE_TOKEN",
759  "PARS_BIGINT_TOKEN", "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'",
760  "NEG", "'%'", "';'", "'('", "')'", "'?'", "','", "'{'", "'}'", "$accept",
761  "top_statement", "statement", "statement_list", "exp", "function_name",
762  "question_mark_list", "stored_procedure_call",
763  "predefined_procedure_call", "predefined_procedure_name",
764  "user_function_call", "table_list", "variable_list", "exp_list",
765  "select_item", "select_item_list", "select_list", "search_condition",
766  "for_update_clause", "lock_shared_clause", "order_direction",
767  "order_by_clause", "select_statement", "insert_statement_start",
768  "insert_statement", "column_assignment", "column_assignment_list",
769  "cursor_positioned", "update_statement_start",
770  "update_statement_searched", "update_statement_positioned",
771  "delete_statement_start", "delete_statement_searched",
772  "delete_statement_positioned", "row_printf_statement",
773  "assignment_statement", "elsif_element", "elsif_list", "else_part",
774  "if_statement", "while_statement", "for_statement", "exit_statement",
775  "return_statement", "open_cursor_statement", "close_cursor_statement",
776  "fetch_statement", "column_def", "column_def_list", "opt_column_len",
777  "opt_unsigned", "opt_not_null", "not_fit_in_memory", "compact",
778  "block_size", "create_table", "column_list", "unique_def",
779  "clustered_def", "create_index", "table_name", "commit_statement",
780  "rollback_statement", "type_name", "parameter_declaration",
781  "parameter_declaration_list", "variable_declaration",
782  "variable_declaration_list", "cursor_declaration",
783  "function_declaration", "declaration", "declaration_list",
784  "procedure_definition", 0
785 };
786 #endif
787 
788 # ifdef YYPRINT
789 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
790  token YYLEX-NUM. */
791 static const yytype_uint16 yytoknum[] =
792 {
793  0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
794  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
795  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
796  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
797  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
798  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
799  315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
800  325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
801  335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
802  345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
803  355, 356, 357, 358, 61, 60, 62, 45, 43, 42,
804  47, 359, 37, 59, 40, 41, 63, 44, 123, 125
805 };
806 # endif
807 
808 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
809 static const yytype_uint8 yyr1[] =
810 {
811  0, 120, 121, 122, 122, 122, 122, 122, 122, 122,
812  122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
813  122, 122, 122, 122, 122, 123, 123, 124, 124, 124,
814  124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
815  124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
816  124, 124, 124, 124, 125, 125, 125, 125, 125, 125,
817  125, 125, 125, 125, 125, 126, 126, 126, 127, 128,
818  129, 129, 129, 130, 131, 131, 132, 132, 132, 133,
819  133, 133, 134, 134, 134, 134, 135, 135, 135, 136,
820  136, 136, 137, 137, 138, 138, 139, 139, 140, 140,
821  140, 141, 141, 142, 143, 144, 144, 145, 146, 146,
822  147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
823  157, 157, 158, 158, 158, 159, 160, 161, 162, 163,
824  164, 165, 166, 166, 167, 168, 168, 169, 169, 170,
825  170, 171, 171, 172, 172, 173, 173, 174, 174, 175,
826  176, 176, 177, 177, 178, 178, 179, 180, 180, 181,
827  182, 183, 183, 183, 183, 183, 183, 184, 184, 185,
828  185, 185, 186, 187, 187, 187, 188, 189, 190, 190,
829  191, 191, 191, 192
830 };
831 
832 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
833 static const yytype_uint8 yyr2[] =
834 {
835  0, 2, 2, 1, 2, 2, 2, 2, 2, 2,
836  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
837  2, 2, 2, 2, 2, 1, 2, 1, 4, 1,
838  1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
839  2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
840  3, 2, 3, 3, 1, 1, 1, 1, 1, 1,
841  1, 1, 1, 1, 1, 0, 1, 3, 6, 4,
842  1, 1, 1, 3, 1, 3, 0, 1, 3, 0,
843  1, 3, 1, 4, 5, 4, 0, 1, 3, 1,
844  3, 1, 0, 2, 0, 2, 0, 4, 0, 1,
845  1, 0, 4, 8, 3, 5, 2, 3, 1, 3,
846  4, 4, 2, 2, 3, 2, 2, 2, 3, 4,
847  1, 2, 0, 2, 1, 7, 6, 10, 1, 1,
848  2, 2, 4, 4, 5, 1, 3, 0, 3, 0,
849  1, 0, 2, 0, 1, 0, 1, 0, 3, 9,
850  1, 3, 0, 1, 0, 1, 10, 1, 1, 2,
851  2, 1, 1, 1, 1, 1, 1, 3, 3, 0,
852  1, 3, 3, 0, 1, 2, 6, 4, 1, 1,
853  0, 1, 2, 11
854 };
855 
856 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
857  STATE-NUM when YYTABLE doesn't specify something else to do. Zero
858  means the default is an error. */
859 static const yytype_uint8 yydefact[] =
860 {
861  0, 0, 0, 0, 0, 1, 2, 169, 0, 170,
862  0, 0, 0, 0, 0, 165, 166, 161, 162, 164,
863  163, 167, 168, 173, 171, 0, 174, 180, 0, 0,
864  175, 178, 179, 181, 0, 172, 0, 0, 0, 182,
865  0, 0, 0, 0, 0, 129, 86, 0, 0, 0,
866  0, 152, 0, 0, 0, 70, 71, 72, 0, 0,
867  0, 128, 0, 25, 0, 3, 0, 0, 0, 0,
868  0, 92, 0, 0, 92, 0, 0, 0, 0, 0,
869  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870  0, 0, 177, 0, 29, 30, 31, 32, 33, 34,
871  27, 0, 35, 54, 55, 56, 57, 58, 59, 60,
872  61, 62, 63, 64, 0, 0, 0, 0, 0, 0,
873  0, 89, 82, 87, 91, 0, 0, 0, 157, 158,
874  0, 0, 0, 153, 154, 130, 0, 131, 117, 159,
875  160, 0, 183, 26, 4, 79, 11, 0, 106, 12,
876  0, 112, 113, 16, 17, 115, 116, 14, 15, 13,
877  10, 8, 5, 6, 7, 9, 18, 20, 19, 23,
878  24, 21, 22, 0, 118, 0, 51, 0, 40, 0,
879  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
880  0, 0, 0, 0, 79, 0, 0, 0, 76, 0,
881  0, 0, 104, 0, 114, 0, 155, 0, 76, 65,
882  80, 0, 79, 0, 93, 176, 52, 53, 41, 49,
883  50, 46, 47, 48, 122, 43, 42, 44, 45, 37,
884  36, 38, 39, 0, 0, 0, 0, 0, 77, 90,
885  88, 92, 74, 0, 0, 108, 111, 0, 0, 77,
886  133, 132, 66, 0, 69, 0, 0, 0, 0, 0,
887  120, 124, 0, 28, 0, 85, 0, 83, 0, 0,
888  0, 94, 0, 0, 0, 0, 135, 0, 0, 0,
889  0, 0, 81, 105, 110, 123, 0, 121, 0, 126,
890  84, 78, 75, 0, 96, 0, 107, 109, 137, 143,
891  0, 0, 73, 68, 67, 0, 125, 95, 0, 101,
892  0, 0, 139, 144, 145, 136, 0, 119, 0, 0,
893  103, 0, 0, 140, 141, 146, 147, 0, 0, 0,
894  0, 138, 0, 134, 0, 149, 150, 0, 97, 98,
895  127, 142, 0, 156, 0, 99, 100, 102, 148, 151
896 };
897 
898 /* YYDEFGOTO[NTERM-NUM]. */
899 static const yytype_int16 yydefgoto[] =
900 {
901  -1, 2, 63, 64, 210, 117, 253, 65, 66, 67,
902  250, 241, 239, 211, 123, 124, 125, 151, 294, 309,
903  347, 320, 68, 69, 70, 245, 246, 152, 71, 72,
904  73, 74, 75, 76, 77, 78, 260, 261, 262, 79,
905  80, 81, 82, 83, 84, 85, 86, 276, 277, 312,
906  324, 333, 314, 326, 335, 87, 337, 134, 207, 88,
907  130, 89, 90, 21, 9, 10, 26, 27, 31, 32,
908  33, 34, 3
909 };
910 
911 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
912  STATE-NUM. */
913 #define YYPACT_NINF -179
914 static const yytype_int16 yypact[] =
915 {
916  24, 36, 58, -48, -25, -179, -179, 57, 31, -179,
917  -74, 14, 14, 50, 57, -179, -179, -179, -179, -179,
918  -179, -179, -179, 72, -179, 14, -179, 3, -26, -28,
919  -179, -179, -179, -179, 4, -179, 91, 95, 589, -179,
920  80, -6, 43, 285, 285, -179, 19, 99, 69, -5,
921  81, -13, 110, 112, 114, -179, -179, -179, 89, 37,
922  41, -179, 122, -179, 406, -179, 25, 40, 44, -3,
923  46, 116, 49, 51, 116, 52, 53, 54, 55, 56,
924  59, 61, 62, 70, 73, 74, 75, 76, 77, 78,
925  79, 89, -179, 285, -179, -179, -179, -179, -179, -179,
926  82, 285, 83, -179, -179, -179, -179, -179, -179, -179,
927  -179, -179, -179, -179, 285, 285, 577, 92, 618, 94,
928  97, -179, 706, -179, -33, 124, 153, -5, -179, -179,
929  141, -5, -5, -179, 136, -179, 148, -179, -179, -179,
930  -179, 98, -179, -179, -179, 285, -179, 101, -179, -179,
931  195, -179, -179, -179, -179, -179, -179, -179, -179, -179,
932  -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
933  -179, -179, -179, 100, 706, 135, 6, 154, -7, 206,
934  285, 285, 285, 285, 285, 589, 218, 285, 285, 285,
935  285, 285, 285, 285, 285, 589, 285, -27, 216, 173,
936  -5, 285, -179, 217, -179, 113, -179, 171, 221, 119,
937  706, -56, 285, 185, 706, -179, -179, -179, -179, 6,
938  6, 27, 27, 706, 345, -179, 27, 27, 27, 35,
939  35, -7, -7, -53, 467, 223, 232, 127, -179, 126,
940  -179, -31, -179, 638, 151, -179, 142, 251, 253, 150,
941  -179, 126, -179, -46, -179, 285, -45, 256, 589, 285,
942  -179, 240, 249, -179, 245, -179, 166, -179, 273, 285,
943  -5, 242, 285, 285, 217, 14, -179, -39, 222, 170,
944  167, 179, 706, -179, -179, 589, 679, -179, 268, -179,
945  -179, -179, -179, 247, 207, 686, 706, -179, 186, 243,
946  251, -5, -179, -179, -179, 589, -179, -179, 286, 261,
947  589, 303, 219, -179, 224, -179, 193, 589, 226, 272,
948  -179, 528, 205, -179, 310, -179, 233, 314, 230, 317,
949  302, -179, 328, -179, 235, -179, -179, -38, -179, 7,
950  -179, -179, 334, -179, 331, -179, -179, -179, -179, -179
951 };
952 
953 /* YYPGOTO[NTERM-NUM]. */
954 static const yytype_int16 yypgoto[] =
955 {
956  -179, -179, -63, -178, -41, -179, -179, -179, -179, -179,
957  -179, -179, 133, -155, 143, -179, -179, -68, -179, -179,
958  -179, -179, -40, -179, -179, 71, -179, 269, -179, -179,
959  -179, -179, -179, -179, -179, -179, 85, -179, -179, -179,
960  -179, -179, -179, -179, -179, -179, -179, 47, -179, -179,
961  -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
962  -117, -179, -179, -12, 330, -179, 321, -179, -179, -179,
963  315, -179, -179
964 };
965 
966 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
967  positive, shift that token. If negative, reduce the rule which
968  number is the opposite. If zero, do what YYDEFACT says.
969  If YYTABLE_NINF, syntax error. */
970 #define YYTABLE_NINF -1
971 static const yytype_uint16 yytable[] =
972 {
973  22, 143, 116, 118, 128, 122, 155, 224, 184, 269,
974  202, 236, 25, 28, 204, 205, 198, 234, 138, 182,
975  183, 184, 94, 95, 96, 97, 98, 99, 100, 148,
976  38, 101, 46, 15, 16, 17, 18, 36, 19, 233,
977  1, 13, 184, 14, 132, 4, 133, 147, 11, 12,
978  184, 173, 174, 345, 346, 119, 120, 256, 5, 254,
979  176, 255, 263, 37, 255, 6, 8, 29, 29, 280,
980  283, 281, 255, 178, 179, 23, 299, 343, 300, 344,
981  285, 25, 237, 242, 199, 102, 270, 35, 186, 7,
982  103, 104, 105, 106, 107, 129, 108, 109, 110, 111,
983  40, 186, 112, 113, 41, 91, 93, 92, 126, 214,
984  187, 188, 189, 190, 191, 192, 193, 20, 127, 135,
985  131, 136, 186, 137, 46, 139, 114, 317, 121, 140,
986  186, 141, 321, 115, 190, 191, 192, 193, 144, 219,
987  220, 221, 222, 223, 192, 193, 226, 227, 228, 229,
988  230, 231, 232, 292, 145, 235, 150, 146, 122, 149,
989  243, 143, 153, 200, 154, 157, 158, 159, 160, 161,
990  201, 143, 162, 271, 163, 164, 94, 95, 96, 97,
991  98, 99, 100, 165, 316, 101, 166, 167, 168, 169,
992  170, 171, 172, 203, 175, 177, 206, 208, 94, 95,
993  96, 97, 98, 99, 100, 216, 194, 101, 196, 119,
994  120, 197, 209, 215, 282, 212, 180, 181, 286, 182,
995  183, 184, 143, 225, 217, 238, 244, 247, 214, 248,
996  249, 295, 296, 180, 181, 252, 182, 183, 184, 102,
997  257, 266, 267, 268, 103, 104, 105, 106, 107, 213,
998  108, 109, 110, 111, 143, 273, 112, 113, 143, 274,
999  275, 102, 278, 298, 279, 284, 103, 104, 105, 106,
1000  107, 259, 108, 109, 110, 111, 288, 289, 112, 113,
1001  114, 290, 291, 293, 301, 302, 303, 115, 94, 95,
1002  96, 97, 98, 99, 100, 304, 306, 101, 307, 308,
1003  311, 186, 114, 318, 313, 319, 322, 327, 323, 115,
1004  187, 188, 189, 190, 191, 192, 193, 329, 186, 328,
1005  331, 218, 332, 336, 338, 325, 339, 187, 188, 189,
1006  190, 191, 192, 193, 340, 334, 341, 348, 265, 342,
1007  349, 251, 240, 156, 24, 297, 287, 315, 30, 39,
1008  0, 102, 0, 0, 42, 0, 103, 104, 105, 106,
1009  107, 0, 108, 109, 110, 111, 0, 0, 112, 113,
1010  0, 0, 0, 43, 0, 258, 259, 0, 44, 45,
1011  46, 0, 0, 0, 0, 0, 47, 0, 0, 0,
1012  0, 0, 114, 48, 0, 0, 49, 0, 50, 115,
1013  0, 51, 0, 0, 0, 0, 0, 0, 0, 0,
1014  0, 0, 52, 53, 54, 42, 0, 0, 0, 0,
1015  0, 55, 0, 0, 0, 0, 56, 57, 0, 0,
1016  58, 59, 60, 142, 43, 61, 0, 0, 0, 44,
1017  45, 46, 0, 0, 0, 0, 0, 47, 0, 0,
1018  0, 0, 0, 0, 48, 0, 0, 49, 0, 50,
1019  0, 0, 51, 62, 0, 0, 0, 0, 0, 0,
1020  0, 0, 0, 52, 53, 54, 42, 0, 0, 0,
1021  0, 0, 55, 0, 0, 0, 0, 56, 57, 0,
1022  0, 58, 59, 60, 264, 43, 61, 0, 0, 0,
1023  44, 45, 46, 0, 0, 0, 0, 0, 47, 0,
1024  0, 0, 0, 0, 0, 48, 0, 0, 49, 0,
1025  50, 0, 0, 51, 62, 0, 0, 0, 0, 0,
1026  0, 0, 0, 0, 52, 53, 54, 42, 0, 0,
1027  0, 0, 0, 55, 0, 0, 0, 0, 56, 57,
1028  0, 0, 58, 59, 60, 330, 43, 61, 0, 0,
1029  0, 44, 45, 46, 0, 0, 0, 0, 0, 47,
1030  0, 0, 0, 0, 0, 0, 48, 0, 0, 49,
1031  0, 50, 0, 0, 51, 62, 0, 180, 181, 0,
1032  182, 183, 184, 0, 0, 52, 53, 54, 42, 0,
1033  0, 0, 0, 0, 55, 0, 185, 0, 0, 56,
1034  57, 0, 0, 58, 59, 60, 0, 43, 61, 0,
1035  0, 0, 44, 45, 46, 0, 0, 0, 180, 181,
1036  47, 182, 183, 184, 0, 0, 0, 48, 0, 0,
1037  49, 0, 50, 0, 0, 51, 62, 0, 180, 181,
1038  195, 182, 183, 184, 0, 0, 52, 53, 54, 0,
1039  0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
1040  56, 57, 186, 0, 58, 59, 60, 0, 0, 61,
1041  272, 187, 188, 189, 190, 191, 192, 193, 0, 180,
1042  181, 0, 182, 183, 184, 0, 180, 181, 0, 182,
1043  183, 184, 0, 0, 0, 0, 0, 62, 305, 0,
1044  0, 0, 0, 186, 0, 0, 180, 181, 310, 182,
1045  183, 184, 187, 188, 189, 190, 191, 192, 193, 0,
1046  0, 0, 0, 186, 0, 0, 0, 0, 0, 0,
1047  0, 0, 187, 188, 189, 190, 191, 192, 193, 0,
1048  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1049  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050  0, 0, 0, 0, 186, 0, 0, 0, 0, 0,
1051  0, 186, 0, 187, 188, 189, 190, 191, 192, 193,
1052  187, 188, 189, 190, 191, 192, 193, 0, 0, 0,
1053  0, 186, 0, 0, 0, 0, 0, 0, 0, 0,
1054  187, 188, 189, 190, 191, 192, 193
1055 };
1056 
1057 static const yytype_int16 yycheck[] =
1058 {
1059  12, 64, 43, 44, 9, 46, 74, 185, 15, 40,
1060  127, 38, 9, 25, 131, 132, 49, 195, 58, 13,
1061  14, 15, 3, 4, 5, 6, 7, 8, 9, 69,
1062  26, 12, 35, 19, 20, 21, 22, 65, 24, 194,
1063  16, 115, 15, 117, 57, 9, 59, 50, 17, 18,
1064  15, 91, 93, 46, 47, 36, 37, 212, 0, 115,
1065  101, 117, 115, 91, 117, 113, 9, 64, 64, 115,
1066  115, 117, 117, 114, 115, 25, 115, 115, 117, 117,
1067  258, 9, 109, 200, 117, 66, 117, 113, 95, 114,
1068  71, 72, 73, 74, 75, 100, 77, 78, 79, 80,
1069  9, 95, 83, 84, 9, 25, 63, 113, 9, 150,
1070  104, 105, 106, 107, 108, 109, 110, 103, 49, 9,
1071  39, 9, 95, 9, 35, 88, 107, 305, 109, 88,
1072  95, 9, 310, 114, 107, 108, 109, 110, 113, 180,
1073  181, 182, 183, 184, 109, 110, 187, 188, 189, 190,
1074  191, 192, 193, 270, 114, 196, 40, 113, 199, 113,
1075  201, 224, 113, 39, 113, 113, 113, 113, 113, 113,
1076  17, 234, 113, 241, 113, 113, 3, 4, 5, 6,
1077  7, 8, 9, 113, 301, 12, 113, 113, 113, 113,
1078  113, 113, 113, 52, 112, 112, 60, 49, 3, 4,
1079  5, 6, 7, 8, 9, 70, 114, 12, 114, 36,
1080  37, 114, 114, 113, 255, 114, 10, 11, 259, 13,
1081  14, 15, 285, 5, 70, 9, 9, 114, 269, 58,
1082  9, 272, 273, 10, 11, 116, 13, 14, 15, 66,
1083  55, 9, 115, 117, 71, 72, 73, 74, 75, 54,
1084  77, 78, 79, 80, 317, 104, 83, 84, 321, 117,
1085  9, 66, 9, 275, 114, 9, 71, 72, 73, 74,
1086  75, 31, 77, 78, 79, 80, 27, 32, 83, 84,
1087  107, 115, 9, 41, 62, 115, 119, 114, 3, 4,
1088  5, 6, 7, 8, 9, 116, 28, 12, 51, 92,
1089  114, 95, 107, 17, 61, 44, 3, 114, 89, 114,
1090  104, 105, 106, 107, 108, 109, 110, 45, 95, 93,
1091  115, 115, 12, 9, 94, 101, 9, 104, 105, 106,
1092  107, 108, 109, 110, 32, 102, 8, 3, 115, 104,
1093  9, 208, 199, 74, 14, 274, 261, 300, 27, 34,
1094  -1, 66, -1, -1, 9, -1, 71, 72, 73, 74,
1095  75, -1, 77, 78, 79, 80, -1, -1, 83, 84,
1096  -1, -1, -1, 28, -1, 30, 31, -1, 33, 34,
1097  35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
1098  -1, -1, 107, 48, -1, -1, 51, -1, 53, 114,
1099  -1, 56, -1, -1, -1, -1, -1, -1, -1, -1,
1100  -1, -1, 67, 68, 69, 9, -1, -1, -1, -1,
1101  -1, 76, -1, -1, -1, -1, 81, 82, -1, -1,
1102  85, 86, 87, 27, 28, 90, -1, -1, -1, 33,
1103  34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
1104  -1, -1, -1, -1, 48, -1, -1, 51, -1, 53,
1105  -1, -1, 56, 118, -1, -1, -1, -1, -1, -1,
1106  -1, -1, -1, 67, 68, 69, 9, -1, -1, -1,
1107  -1, -1, 76, -1, -1, -1, -1, 81, 82, -1,
1108  -1, 85, 86, 87, 27, 28, 90, -1, -1, -1,
1109  33, 34, 35, -1, -1, -1, -1, -1, 41, -1,
1110  -1, -1, -1, -1, -1, 48, -1, -1, 51, -1,
1111  53, -1, -1, 56, 118, -1, -1, -1, -1, -1,
1112  -1, -1, -1, -1, 67, 68, 69, 9, -1, -1,
1113  -1, -1, -1, 76, -1, -1, -1, -1, 81, 82,
1114  -1, -1, 85, 86, 87, 27, 28, 90, -1, -1,
1115  -1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
1116  -1, -1, -1, -1, -1, -1, 48, -1, -1, 51,
1117  -1, 53, -1, -1, 56, 118, -1, 10, 11, -1,
1118  13, 14, 15, -1, -1, 67, 68, 69, 9, -1,
1119  -1, -1, -1, -1, 76, -1, 29, -1, -1, 81,
1120  82, -1, -1, 85, 86, 87, -1, 28, 90, -1,
1121  -1, -1, 33, 34, 35, -1, -1, -1, 10, 11,
1122  41, 13, 14, 15, -1, -1, -1, 48, -1, -1,
1123  51, -1, 53, -1, -1, 56, 118, -1, 10, 11,
1124  32, 13, 14, 15, -1, -1, 67, 68, 69, -1,
1125  -1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
1126  81, 82, 95, -1, 85, 86, 87, -1, -1, 90,
1127  42, 104, 105, 106, 107, 108, 109, 110, -1, 10,
1128  11, -1, 13, 14, 15, -1, 10, 11, -1, 13,
1129  14, 15, -1, -1, -1, -1, -1, 118, 29, -1,
1130  -1, -1, -1, 95, -1, -1, 10, 11, 32, 13,
1131  14, 15, 104, 105, 106, 107, 108, 109, 110, -1,
1132  -1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
1133  -1, -1, 104, 105, 106, 107, 108, 109, 110, -1,
1134  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1135  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1136  -1, -1, -1, -1, 95, -1, -1, -1, -1, -1,
1137  -1, 95, -1, 104, 105, 106, 107, 108, 109, 110,
1138  104, 105, 106, 107, 108, 109, 110, -1, -1, -1,
1139  -1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
1140  104, 105, 106, 107, 108, 109, 110
1141 };
1142 
1143 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1144  symbol of state STATE-NUM. */
1145 static const yytype_uint8 yystos[] =
1146 {
1147  0, 16, 121, 192, 9, 0, 113, 114, 9, 184,
1148  185, 17, 18, 115, 117, 19, 20, 21, 22, 24,
1149  103, 183, 183, 25, 184, 9, 186, 187, 183, 64,
1150  186, 188, 189, 190, 191, 113, 65, 91, 26, 190,
1151  9, 9, 9, 28, 33, 34, 35, 41, 48, 51,
1152  53, 56, 67, 68, 69, 76, 81, 82, 85, 86,
1153  87, 90, 118, 122, 123, 127, 128, 129, 142, 143,
1154  144, 148, 149, 150, 151, 152, 153, 154, 155, 159,
1155  160, 161, 162, 163, 164, 165, 166, 175, 179, 181,
1156  182, 25, 113, 63, 3, 4, 5, 6, 7, 8,
1157  9, 12, 66, 71, 72, 73, 74, 75, 77, 78,
1158  79, 80, 83, 84, 107, 114, 124, 125, 124, 36,
1159  37, 109, 124, 134, 135, 136, 9, 49, 9, 100,
1160  180, 39, 57, 59, 177, 9, 9, 9, 142, 88,
1161  88, 9, 27, 122, 113, 114, 113, 50, 142, 113,
1162  40, 137, 147, 113, 113, 137, 147, 113, 113, 113,
1163  113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1164  113, 113, 113, 142, 124, 112, 124, 112, 124, 124,
1165  10, 11, 13, 14, 15, 29, 95, 104, 105, 106,
1166  107, 108, 109, 110, 114, 32, 114, 114, 49, 117,
1167  39, 17, 180, 52, 180, 180, 60, 178, 49, 114,
1168  124, 133, 114, 54, 124, 113, 70, 70, 115, 124,
1169  124, 124, 124, 124, 123, 5, 124, 124, 124, 124,
1170  124, 124, 124, 133, 123, 124, 38, 109, 9, 132,
1171  134, 131, 180, 124, 9, 145, 146, 114, 58, 9,
1172  130, 132, 116, 126, 115, 117, 133, 55, 30, 31,
1173  156, 157, 158, 115, 27, 115, 9, 115, 117, 40,
1174  117, 137, 42, 104, 117, 9, 167, 168, 9, 114,
1175  115, 117, 124, 115, 9, 123, 124, 156, 27, 32,
1176  115, 9, 180, 41, 138, 124, 124, 145, 183, 115,
1177  117, 62, 115, 119, 116, 29, 28, 51, 92, 139,
1178  32, 114, 169, 61, 172, 167, 180, 123, 17, 44,
1179  141, 123, 3, 89, 170, 101, 173, 114, 93, 45,
1180  27, 115, 12, 171, 102, 174, 9, 176, 94, 9,
1181  32, 8, 104, 115, 117, 46, 47, 140, 3, 9
1182 };
1183 
1184 #define yyerrok (yyerrstatus = 0)
1185 #define yyclearin (yychar = YYEMPTY)
1186 #define YYEMPTY (-2)
1187 #define YYEOF 0
1188 
1189 #define YYACCEPT goto yyacceptlab
1190 #define YYABORT goto yyabortlab
1191 #define YYERROR goto yyerrorlab
1192 
1193 
1194 /* Like YYERROR except do call yyerror. This remains here temporarily
1195  to ease the transition to the new meaning of YYERROR, for GCC.
1196  Once GCC version 2 has supplanted version 1, this can go. */
1197 
1198 #define YYFAIL goto yyerrlab
1199 
1200 #define YYRECOVERING() (!!yyerrstatus)
1201 
1202 #define YYBACKUP(Token, Value) \
1203 do \
1204  if (yychar == YYEMPTY && yylen == 1) \
1205  { \
1206  yychar = (Token); \
1207  yylval = (Value); \
1208  yytoken = YYTRANSLATE (yychar); \
1209  YYPOPSTACK (1); \
1210  goto yybackup; \
1211  } \
1212  else \
1213  { \
1214  yyerror (YY_("syntax error: cannot back up")); \
1215  YYERROR; \
1216  } \
1217 while (YYID (0))
1218 
1219 
1220 #define YYTERROR 1
1221 #define YYERRCODE 256
1222 
1223 
1224 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1225  If N is 0, then set CURRENT to the empty location which ends
1226  the previous symbol: RHS[0] (always defined). */
1227 
1228 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1229 #ifndef YYLLOC_DEFAULT
1230 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1231  do \
1232  if (YYID (N)) \
1233  { \
1234  (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1235  (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1236  (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1237  (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1238  } \
1239  else \
1240  { \
1241  (Current).first_line = (Current).last_line = \
1242  YYRHSLOC (Rhs, 0).last_line; \
1243  (Current).first_column = (Current).last_column = \
1244  YYRHSLOC (Rhs, 0).last_column; \
1245  } \
1246  while (YYID (0))
1247 #endif
1248 
1249 
1250 /* YY_LOCATION_PRINT -- Print the location on the stream.
1251  This macro was not mandated originally: define only if we know
1252  we won't break user code: when these are the locations we know. */
1253 
1254 #ifndef YY_LOCATION_PRINT
1255 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1256 # define YY_LOCATION_PRINT(File, Loc) \
1257  fprintf (File, "%d.%d-%d.%d", \
1258  (Loc).first_line, (Loc).first_column, \
1259  (Loc).last_line, (Loc).last_column)
1260 # else
1261 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1262 # endif
1263 #endif
1264 
1265 
1266 /* YYLEX -- calling `yylex' with the right arguments. */
1267 
1268 #ifdef YYLEX_PARAM
1269 # define YYLEX yylex (YYLEX_PARAM)
1270 #else
1271 # define YYLEX yylex ()
1272 #endif
1273 
1274 /* Enable debugging if requested. */
1275 #if YYDEBUG
1276 
1277 # ifndef YYFPRINTF
1278 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1279 # define YYFPRINTF fprintf
1280 # endif
1281 
1282 # define YYDPRINTF(Args) \
1283 do { \
1284  if (yydebug) \
1285  YYFPRINTF Args; \
1286 } while (YYID (0))
1287 
1288 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1289 do { \
1290  if (yydebug) \
1291  { \
1292  YYFPRINTF (stderr, "%s ", Title); \
1293  yy_symbol_print (stderr, \
1294  Type, Value); \
1295  YYFPRINTF (stderr, "\n"); \
1296  } \
1297 } while (YYID (0))
1298 
1299 
1300 /*--------------------------------.
1301 | Print this symbol on YYOUTPUT. |
1302 `--------------------------------*/
1303 
1304 /*ARGSUSED*/
1305 #if (defined __STDC__ || defined __C99__FUNC__ \
1306  || defined __cplusplus || defined _MSC_VER)
1307 static void
1308 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1309 #else
1310 static void
1311 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1312  FILE *yyoutput;
1313  int yytype;
1314  YYSTYPE const * const yyvaluep;
1315 #endif
1316 {
1317  if (!yyvaluep)
1318  return;
1319 # ifdef YYPRINT
1320  if (yytype < YYNTOKENS)
1321  YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1322 # else
1323  YYUSE (yyoutput);
1324 # endif
1325  switch (yytype)
1326  {
1327  default:
1328  break;
1329  }
1330 }
1331 
1332 
1333 /*--------------------------------.
1334 | Print this symbol on YYOUTPUT. |
1335 `--------------------------------*/
1336 
1337 #if (defined __STDC__ || defined __C99__FUNC__ \
1338  || defined __cplusplus || defined _MSC_VER)
1339 static void
1340 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1341 #else
1342 static void
1343 yy_symbol_print (yyoutput, yytype, yyvaluep)
1344  FILE *yyoutput;
1345  int yytype;
1346  YYSTYPE const * const yyvaluep;
1347 #endif
1348 {
1349  if (yytype < YYNTOKENS)
1350  YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1351  else
1352  YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1353 
1354  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1355  YYFPRINTF (yyoutput, ")");
1356 }
1357 
1358 /*------------------------------------------------------------------.
1359 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1360 | TOP (included). |
1361 `------------------------------------------------------------------*/
1362 
1363 #if (defined __STDC__ || defined __C99__FUNC__ \
1364  || defined __cplusplus || defined _MSC_VER)
1365 static void
1366 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
1367 #else
1368 static void
1369 yy_stack_print (bottom, top)
1370  yytype_int16 *bottom;
1371  yytype_int16 *top;
1372 #endif
1373 {
1374  YYFPRINTF (stderr, "Stack now");
1375  for (; bottom <= top; ++bottom)
1376  YYFPRINTF (stderr, " %d", *bottom);
1377  YYFPRINTF (stderr, "\n");
1378 }
1379 
1380 # define YY_STACK_PRINT(Bottom, Top) \
1381 do { \
1382  if (yydebug) \
1383  yy_stack_print ((Bottom), (Top)); \
1384 } while (YYID (0))
1385 
1386 
1387 /*------------------------------------------------.
1388 | Report that the YYRULE is going to be reduced. |
1389 `------------------------------------------------*/
1390 
1391 #if (defined __STDC__ || defined __C99__FUNC__ \
1392  || defined __cplusplus || defined _MSC_VER)
1393 static void
1394 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1395 #else
1396 static void
1397 yy_reduce_print (yyvsp, yyrule)
1398  YYSTYPE *yyvsp;
1399  int yyrule;
1400 #endif
1401 {
1402  int yynrhs = yyr2[yyrule];
1403  int yyi;
1404  unsigned long int yylno = yyrline[yyrule];
1405  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1406  yyrule - 1, yylno);
1407  /* The symbols being reduced. */
1408  for (yyi = 0; yyi < yynrhs; yyi++)
1409  {
1410  fprintf (stderr, " $%d = ", yyi + 1);
1411  yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1412  &(yyvsp[(yyi + 1) - (yynrhs)])
1413  );
1414  fprintf (stderr, "\n");
1415  }
1416 }
1417 
1418 # define YY_REDUCE_PRINT(Rule) \
1419 do { \
1420  if (yydebug) \
1421  yy_reduce_print (yyvsp, Rule); \
1422 } while (YYID (0))
1423 
1424 /* Nonzero means print parse trace. It is left uninitialized so that
1425  multiple parsers can coexist. */
1426 int yydebug;
1427 #else /* !YYDEBUG */
1428 # define YYDPRINTF(Args)
1429 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1430 # define YY_STACK_PRINT(Bottom, Top)
1431 # define YY_REDUCE_PRINT(Rule)
1432 #endif /* !YYDEBUG */
1433 
1434 
1435 /* YYINITDEPTH -- initial size of the parser's stacks. */
1436 #ifndef YYINITDEPTH
1437 # define YYINITDEPTH 200
1438 #endif
1439 
1440 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1441  if the built-in stack extension method is used).
1442 
1443  Do not make this value too large; the results are undefined if
1444  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1445  evaluated with infinite-precision integer arithmetic. */
1446 
1447 #ifndef YYMAXDEPTH
1448 # define YYMAXDEPTH 10000
1449 #endif
1450 
1451 
1452 
1453 #if YYERROR_VERBOSE
1454 
1455 # ifndef yystrlen
1456 # if defined __GLIBC__ && defined _STRING_H
1457 # define yystrlen strlen
1458 # else
1459 /* Return the length of YYSTR. */
1460 #if (defined __STDC__ || defined __C99__FUNC__ \
1461  || defined __cplusplus || defined _MSC_VER)
1462 static YYSIZE_T
1463 yystrlen (const char *yystr)
1464 #else
1465 static YYSIZE_T
1466 yystrlen (yystr)
1467  const char *yystr;
1468 #endif
1469 {
1470  YYSIZE_T yylen;
1471  for (yylen = 0; yystr[yylen]; yylen++)
1472  continue;
1473  return yylen;
1474 }
1475 # endif
1476 # endif
1477 
1478 # ifndef yystpcpy
1479 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1480 # define yystpcpy stpcpy
1481 # else
1482 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1483  YYDEST. */
1484 #if (defined __STDC__ || defined __C99__FUNC__ \
1485  || defined __cplusplus || defined _MSC_VER)
1486 static char *
1487 yystpcpy (char *yydest, const char *yysrc)
1488 #else
1489 static char *
1490 yystpcpy (yydest, yysrc)
1491  char *yydest;
1492  const char *yysrc;
1493 #endif
1494 {
1495  char *yyd = yydest;
1496  const char *yys = yysrc;
1497 
1498  while ((*yyd++ = *yys++) != '\0')
1499  continue;
1500 
1501  return yyd - 1;
1502 }
1503 # endif
1504 # endif
1505 
1506 # ifndef yytnamerr
1507 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1508  quotes and backslashes, so that it's suitable for yyerror. The
1509  heuristic is that double-quoting is unnecessary unless the string
1510  contains an apostrophe, a comma, or backslash (other than
1511  backslash-backslash). YYSTR is taken from yytname. If YYRES is
1512  null, do not copy; instead, return the length of what the result
1513  would have been. */
1514 static YYSIZE_T
1515 yytnamerr (char *yyres, const char *yystr)
1516 {
1517  if (*yystr == '"')
1518  {
1519  YYSIZE_T yyn = 0;
1520  char const *yyp = yystr;
1521 
1522  for (;;)
1523  switch (*++yyp)
1524  {
1525  case '\'':
1526  case ',':
1527  goto do_not_strip_quotes;
1528 
1529  case '\\':
1530  if (*++yyp != '\\')
1531  goto do_not_strip_quotes;
1532  /* Fall through. */
1533  default:
1534  if (yyres)
1535  yyres[yyn] = *yyp;
1536  yyn++;
1537  break;
1538 
1539  case '"':
1540  if (yyres)
1541  yyres[yyn] = '\0';
1542  return yyn;
1543  }
1544  do_not_strip_quotes: ;
1545  }
1546 
1547  if (! yyres)
1548  return yystrlen (yystr);
1549 
1550  return yystpcpy (yyres, yystr) - yyres;
1551 }
1552 # endif
1553 
1554 /* Copy into YYRESULT an error message about the unexpected token
1555  YYCHAR while in state YYSTATE. Return the number of bytes copied,
1556  including the terminating null byte. If YYRESULT is null, do not
1557  copy anything; just return the number of bytes that would be
1558  copied. As a special case, return 0 if an ordinary "syntax error"
1559  message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1560  size calculation. */
1561 static YYSIZE_T
1562 yysyntax_error (char *yyresult, int yystate, int yychar)
1563 {
1564  int yyn = yypact[yystate];
1565 
1566  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1567  return 0;
1568  else
1569  {
1570  int yytype = YYTRANSLATE (yychar);
1571  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1572  YYSIZE_T yysize = yysize0;
1573  YYSIZE_T yysize1;
1574  int yysize_overflow = 0;
1575  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1576  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1577  int yyx;
1578 
1579 # if 0
1580  /* This is so xgettext sees the translatable formats that are
1581  constructed on the fly. */
1582  YY_("syntax error, unexpected %s");
1583  YY_("syntax error, unexpected %s, expecting %s");
1584  YY_("syntax error, unexpected %s, expecting %s or %s");
1585  YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1586  YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1587 # endif
1588  char *yyfmt;
1589  char const *yyf;
1590  static char const yyunexpected[] = "syntax error, unexpected %s";
1591  static char const yyexpecting[] = ", expecting %s";
1592  static char const yyor[] = " or %s";
1593  char yyformat[sizeof yyunexpected
1594  + sizeof yyexpecting - 1
1595  + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1596  * (sizeof yyor - 1))];
1597  char const *yyprefix = yyexpecting;
1598 
1599  /* Start YYX at -YYN if negative to avoid negative indexes in
1600  YYCHECK. */
1601  int yyxbegin = yyn < 0 ? -yyn : 0;
1602 
1603  /* Stay within bounds of both yycheck and yytname. */
1604  int yychecklim = YYLAST - yyn + 1;
1605  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1606  int yycount = 1;
1607 
1608  yyarg[0] = yytname[yytype];
1609  yyfmt = yystpcpy (yyformat, yyunexpected);
1610 
1611  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1612  if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1613  {
1614  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1615  {
1616  yycount = 1;
1617  yysize = yysize0;
1618  yyformat[sizeof yyunexpected - 1] = '\0';
1619  break;
1620  }
1621  yyarg[yycount++] = yytname[yyx];
1622  yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1623  yysize_overflow |= (yysize1 < yysize);
1624  yysize = yysize1;
1625  yyfmt = yystpcpy (yyfmt, yyprefix);
1626  yyprefix = yyor;
1627  }
1628 
1629  yyf = YY_(yyformat);
1630  yysize1 = yysize + yystrlen (yyf);
1631  yysize_overflow |= (yysize1 < yysize);
1632  yysize = yysize1;
1633 
1634  if (yysize_overflow)
1635  return YYSIZE_MAXIMUM;
1636 
1637  if (yyresult)
1638  {
1639  /* Avoid sprintf, as that infringes on the user's name space.
1640  Don't have undefined behavior even if the translation
1641  produced a string with the wrong number of "%s"s. */
1642  char *yyp = yyresult;
1643  int yyi = 0;
1644  while ((*yyp = *yyf) != '\0')
1645  {
1646  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1647  {
1648  yyp += yytnamerr (yyp, yyarg[yyi++]);
1649  yyf += 2;
1650  }
1651  else
1652  {
1653  yyp++;
1654  yyf++;
1655  }
1656  }
1657  }
1658  return yysize;
1659  }
1660 }
1661 #endif /* YYERROR_VERBOSE */
1662 
1663 
1664 /*-----------------------------------------------.
1665 | Release the memory associated to this symbol. |
1666 `-----------------------------------------------*/
1667 
1668 /*ARGSUSED*/
1669 #if (defined __STDC__ || defined __C99__FUNC__ \
1670  || defined __cplusplus || defined _MSC_VER)
1671 static void
1672 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1673 #else
1674 static void
1675 yydestruct (yymsg, yytype, yyvaluep)
1676  const char *yymsg;
1677  int yytype;
1678  YYSTYPE *yyvaluep;
1679 #endif
1680 {
1681  YYUSE (yyvaluep);
1682 
1683  if (!yymsg)
1684  yymsg = "Deleting";
1685  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1686 }
1687 
1688 
1689 /* Prevent warnings from -Wmissing-prototypes. */
1690 
1691 #ifdef YYPARSE_PARAM
1692 #if defined __STDC__ || defined __cplusplus
1693 int yyparse (void *YYPARSE_PARAM);
1694 #else
1695 int yyparse ();
1696 #endif
1697 #else /* ! YYPARSE_PARAM */
1698 #if defined __STDC__ || defined __cplusplus
1699 int yyparse (void);
1700 #else
1701 int yyparse ();
1702 #endif
1703 #endif /* ! YYPARSE_PARAM */
1704 
1705 
1706 
1707 /* The look-ahead symbol. */
1708 int yychar;
1709 
1710 /* The semantic value of the look-ahead symbol. */
1711 YYSTYPE yylval;
1712 
1713 /* Number of syntax errors so far. */
1714 int yynerrs;
1715 
1716 
1717 
1718 /*----------.
1719 | yyparse. |
1720 `----------*/
1721 
1722 #ifdef YYPARSE_PARAM
1723 #if (defined __STDC__ || defined __C99__FUNC__ \
1724  || defined __cplusplus || defined _MSC_VER)
1725 int
1726 yyparse (void *YYPARSE_PARAM)
1727 #else
1728 int
1729 yyparse (YYPARSE_PARAM)
1730  void *YYPARSE_PARAM;
1731 #endif
1732 #else /* ! YYPARSE_PARAM */
1733 #if (defined __STDC__ || defined __C99__FUNC__ \
1734  || defined __cplusplus || defined _MSC_VER)
1735 int
1736 yyparse (void)
1737 #else
1738 int
1739 yyparse ()
1740 
1741 #endif
1742 #endif
1743 {
1744 
1745  int yystate;
1746  int yyn;
1747  int yyresult;
1748  /* Number of tokens to shift before error messages enabled. */
1749  int yyerrstatus;
1750  /* Look-ahead token as an internal (translated) token number. */
1751  int yytoken = 0;
1752 #if YYERROR_VERBOSE
1753  /* Buffer for error messages, and its allocated size. */
1754  char yymsgbuf[128];
1755  char *yymsg = yymsgbuf;
1756  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1757 #endif
1758 
1759  /* Three stacks and their tools:
1760  `yyss': related to states,
1761  `yyvs': related to semantic values,
1762  `yyls': related to locations.
1763 
1764  Refer to the stacks thru separate pointers, to allow yyoverflow
1765  to reallocate them elsewhere. */
1766 
1767  /* The state stack. */
1768  yytype_int16 yyssa[YYINITDEPTH];
1769  yytype_int16 *yyss = yyssa;
1770  yytype_int16 *yyssp;
1771 
1772  /* The semantic value stack. */
1773  YYSTYPE yyvsa[YYINITDEPTH];
1774  YYSTYPE *yyvs = yyvsa;
1775  YYSTYPE *yyvsp;
1776 
1777 
1778 
1779 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1780 
1781  YYSIZE_T yystacksize = YYINITDEPTH;
1782 
1783  /* The variables used to return semantic value and location from the
1784  action routines. */
1785  YYSTYPE yyval;
1786 
1787 
1788  /* The number of symbols on the RHS of the reduced rule.
1789  Keep to zero when no symbol should be popped. */
1790  int yylen = 0;
1791 
1792  YYDPRINTF ((stderr, "Starting parse\n"));
1793 
1794  yystate = 0;
1795  yyerrstatus = 0;
1796  yynerrs = 0;
1797  yychar = YYEMPTY; /* Cause a token to be read. */
1798 
1799  /* Initialize stack pointers.
1800  Waste one element of value and location stack
1801  so that they stay on the same level as the state stack.
1802  The wasted elements are never initialized. */
1803 
1804  yyssp = yyss;
1805  yyvsp = yyvs;
1806 
1807  goto yysetstate;
1808 
1809 /*------------------------------------------------------------.
1810 | yynewstate -- Push a new state, which is found in yystate. |
1811 `------------------------------------------------------------*/
1812  yynewstate:
1813  /* In all cases, when you get here, the value and location stacks
1814  have just been pushed. So pushing a state here evens the stacks. */
1815  yyssp++;
1816 
1817  yysetstate:
1818  *yyssp = yystate;
1819 
1820  if (yyss + yystacksize - 1 <= yyssp)
1821  {
1822  /* Get the current used size of the three stacks, in elements. */
1823  YYSIZE_T yysize = yyssp - yyss + 1;
1824 
1825 #ifdef yyoverflow
1826  {
1827  /* Give user a chance to reallocate the stack. Use copies of
1828  these so that the &'s don't force the real ones into
1829  memory. */
1830  YYSTYPE *yyvs1 = yyvs;
1831  yytype_int16 *yyss1 = yyss;
1832 
1833 
1834  /* Each stack pointer address is followed by the size of the
1835  data in use in that stack, in bytes. This used to be a
1836  conditional around just the two extra args, but that might
1837  be undefined if yyoverflow is a macro. */
1838  yyoverflow (YY_("memory exhausted"),
1839  &yyss1, yysize * sizeof (*yyssp),
1840  &yyvs1, yysize * sizeof (*yyvsp),
1841 
1842  &yystacksize);
1843 
1844  yyss = yyss1;
1845  yyvs = yyvs1;
1846  }
1847 #else /* no yyoverflow */
1848 # ifndef YYSTACK_RELOCATE
1849  goto yyexhaustedlab;
1850 # else
1851  /* Extend the stack our own way. */
1852  if (YYMAXDEPTH <= yystacksize)
1853  goto yyexhaustedlab;
1854  yystacksize *= 2;
1855  if (YYMAXDEPTH < yystacksize)
1856  yystacksize = YYMAXDEPTH;
1857 
1858  {
1859  yytype_int16 *yyss1 = yyss;
1860  union yyalloc *yyptr =
1861  (union yyalloc*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1862  if (! yyptr)
1863  goto yyexhaustedlab;
1864  YYSTACK_RELOCATE (yyss);
1865  YYSTACK_RELOCATE (yyvs);
1866 
1867 # undef YYSTACK_RELOCATE
1868  if (yyss1 != yyssa)
1869  YYSTACK_FREE (yyss1);
1870  }
1871 # endif
1872 #endif /* no yyoverflow */
1873 
1874  yyssp = yyss + yysize - 1;
1875  yyvsp = yyvs + yysize - 1;
1876 
1877 
1878  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1879  (unsigned long int) yystacksize));
1880 
1881  if (yyss + yystacksize - 1 <= yyssp)
1882  YYABORT;
1883  }
1884 
1885  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1886 
1887  goto yybackup;
1888 
1889 /*-----------.
1890 | yybackup. |
1891 `-----------*/
1892 yybackup:
1893 
1894  /* Do appropriate processing given the current state. Read a
1895  look-ahead token if we need one and don't already have one. */
1896 
1897  /* First try to decide what to do without reference to look-ahead token. */
1898  yyn = yypact[yystate];
1899  if (yyn == YYPACT_NINF)
1900  goto yydefault;
1901 
1902  /* Not known => get a look-ahead token if don't already have one. */
1903 
1904  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
1905  if (yychar == YYEMPTY)
1906  {
1907  YYDPRINTF ((stderr, "Reading a token: "));
1908  yychar = YYLEX;
1909  }
1910 
1911  if (yychar <= YYEOF)
1912  {
1913  yychar = yytoken = YYEOF;
1914  YYDPRINTF ((stderr, "Now at end of input.\n"));
1915  }
1916  else
1917  {
1918  yytoken = YYTRANSLATE (yychar);
1919  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1920  }
1921 
1922  /* If the proper action on seeing token YYTOKEN is to reduce or to
1923  detect an error, take that action. */
1924  yyn += yytoken;
1925  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1926  goto yydefault;
1927  yyn = yytable[yyn];
1928  if (yyn <= 0)
1929  {
1930  if (yyn == 0 || yyn == YYTABLE_NINF)
1931  goto yyerrlab;
1932  yyn = -yyn;
1933  goto yyreduce;
1934  }
1935 
1936  if (yyn == YYFINAL)
1937  YYACCEPT;
1938 
1939  /* Count tokens shifted since error; after three, turn off error
1940  status. */
1941  if (yyerrstatus)
1942  yyerrstatus--;
1943 
1944  /* Shift the look-ahead token. */
1945  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1946 
1947  /* Discard the shifted token unless it is eof. */
1948  if (yychar != YYEOF)
1949  yychar = YYEMPTY;
1950 
1951  yystate = yyn;
1952  *++yyvsp = yylval;
1953 
1954  goto yynewstate;
1955 
1956 
1957 /*-----------------------------------------------------------.
1958 | yydefault -- do the default action for the current state. |
1959 `-----------------------------------------------------------*/
1960 yydefault:
1961  yyn = yydefact[yystate];
1962  if (yyn == 0)
1963  goto yyerrlab;
1964  goto yyreduce;
1965 
1966 
1967 /*-----------------------------.
1968 | yyreduce -- Do a reduction. |
1969 `-----------------------------*/
1970 yyreduce:
1971  /* yyn is the number of a rule to reduce with. */
1972  yylen = yyr2[yyn];
1973 
1974  /* If YYLEN is nonzero, implement the default value of the action:
1975  `$$ = $1'.
1976 
1977  Otherwise, the following line sets YYVAL to garbage.
1978  This behavior is undocumented and Bison
1979  users should not rely upon it. Assigning to YYVAL
1980  unconditionally makes the parser a bit smaller, and it avoids a
1981  GCC warning that YYVAL may be used uninitialized. */
1982  yyval = yyvsp[1-yylen];
1983 
1984 
1985  YY_REDUCE_PRINT (yyn);
1986  switch (yyn)
1987  {
1988  case 25:
1989 #line 190 "pars0grm.y"
1990  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
1991  break;
1992 
1993  case 26:
1994 #line 192 "pars0grm.y"
1995  { (yyval) = que_node_list_add_last((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;}
1996  break;
1997 
1998  case 27:
1999 #line 196 "pars0grm.y"
2000  { (yyval) = (yyvsp[(1) - (1)]);;}
2001  break;
2002 
2003  case 28:
2004 #line 198 "pars0grm.y"
2005  { (yyval) = pars_func((yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); ;}
2006  break;
2007 
2008  case 29:
2009 #line 199 "pars0grm.y"
2010  { (yyval) = (yyvsp[(1) - (1)]);;}
2011  break;
2012 
2013  case 30:
2014 #line 200 "pars0grm.y"
2015  { (yyval) = (yyvsp[(1) - (1)]);;}
2016  break;
2017 
2018  case 31:
2019 #line 201 "pars0grm.y"
2020  { (yyval) = (yyvsp[(1) - (1)]);;}
2021  break;
2022 
2023  case 32:
2024 #line 202 "pars0grm.y"
2025  { (yyval) = (yyvsp[(1) - (1)]);;}
2026  break;
2027 
2028  case 33:
2029 #line 203 "pars0grm.y"
2030  { (yyval) = (yyvsp[(1) - (1)]);;}
2031  break;
2032 
2033  case 34:
2034 #line 204 "pars0grm.y"
2035  { (yyval) = (yyvsp[(1) - (1)]);;}
2036  break;
2037 
2038  case 35:
2039 #line 205 "pars0grm.y"
2040  { (yyval) = (yyvsp[(1) - (1)]);;}
2041  break;
2042 
2043  case 36:
2044 #line 206 "pars0grm.y"
2045  { (yyval) = pars_op('+', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2046  break;
2047 
2048  case 37:
2049 #line 207 "pars0grm.y"
2050  { (yyval) = pars_op('-', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2051  break;
2052 
2053  case 38:
2054 #line 208 "pars0grm.y"
2055  { (yyval) = pars_op('*', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2056  break;
2057 
2058  case 39:
2059 #line 209 "pars0grm.y"
2060  { (yyval) = pars_op('/', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2061  break;
2062 
2063  case 40:
2064 #line 210 "pars0grm.y"
2065  { (yyval) = pars_op('-', (yyvsp[(2) - (2)]), NULL); ;}
2066  break;
2067 
2068  case 41:
2069 #line 211 "pars0grm.y"
2070  { (yyval) = (yyvsp[(2) - (3)]); ;}
2071  break;
2072 
2073  case 42:
2074 #line 212 "pars0grm.y"
2075  { (yyval) = pars_op('=', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2076  break;
2077 
2078  case 43:
2079 #line 214 "pars0grm.y"
2080  { (yyval) = pars_op(PARS_LIKE_TOKEN, (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2081  break;
2082 
2083  case 44:
2084 #line 215 "pars0grm.y"
2085  { (yyval) = pars_op('<', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2086  break;
2087 
2088  case 45:
2089 #line 216 "pars0grm.y"
2090  { (yyval) = pars_op('>', (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2091  break;
2092 
2093  case 46:
2094 #line 217 "pars0grm.y"
2095  { (yyval) = pars_op(PARS_GE_TOKEN, (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2096  break;
2097 
2098  case 47:
2099 #line 218 "pars0grm.y"
2100  { (yyval) = pars_op(PARS_LE_TOKEN, (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2101  break;
2102 
2103  case 48:
2104 #line 219 "pars0grm.y"
2105  { (yyval) = pars_op(PARS_NE_TOKEN, (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2106  break;
2107 
2108  case 49:
2109 #line 220 "pars0grm.y"
2110  { (yyval) = pars_op(PARS_AND_TOKEN, (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2111  break;
2112 
2113  case 50:
2114 #line 221 "pars0grm.y"
2115  { (yyval) = pars_op(PARS_OR_TOKEN, (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2116  break;
2117 
2118  case 51:
2119 #line 222 "pars0grm.y"
2120  { (yyval) = pars_op(PARS_NOT_TOKEN, (yyvsp[(2) - (2)]), NULL); ;}
2121  break;
2122 
2123  case 52:
2124 #line 224 "pars0grm.y"
2125  { (yyval) = pars_op(PARS_NOTFOUND_TOKEN, (yyvsp[(1) - (3)]), NULL); ;}
2126  break;
2127 
2128  case 53:
2129 #line 226 "pars0grm.y"
2130  { (yyval) = pars_op(PARS_NOTFOUND_TOKEN, (yyvsp[(1) - (3)]), NULL); ;}
2131  break;
2132 
2133  case 54:
2134 #line 230 "pars0grm.y"
2135  { (yyval) = &pars_to_char_token; ;}
2136  break;
2137 
2138  case 55:
2139 #line 231 "pars0grm.y"
2140  { (yyval) = &pars_to_number_token; ;}
2141  break;
2142 
2143  case 56:
2144 #line 232 "pars0grm.y"
2145  { (yyval) = &pars_to_binary_token; ;}
2146  break;
2147 
2148  case 57:
2149 #line 234 "pars0grm.y"
2150  { (yyval) = &pars_binary_to_number_token; ;}
2151  break;
2152 
2153  case 58:
2154 #line 235 "pars0grm.y"
2155  { (yyval) = &pars_substr_token; ;}
2156  break;
2157 
2158  case 59:
2159 #line 236 "pars0grm.y"
2160  { (yyval) = &pars_concat_token; ;}
2161  break;
2162 
2163  case 60:
2164 #line 237 "pars0grm.y"
2165  { (yyval) = &pars_instr_token; ;}
2166  break;
2167 
2168  case 61:
2169 #line 238 "pars0grm.y"
2170  { (yyval) = &pars_length_token; ;}
2171  break;
2172 
2173  case 62:
2174 #line 239 "pars0grm.y"
2175  { (yyval) = &pars_sysdate_token; ;}
2176  break;
2177 
2178  case 63:
2179 #line 240 "pars0grm.y"
2180  { (yyval) = &pars_rnd_token; ;}
2181  break;
2182 
2183  case 64:
2184 #line 241 "pars0grm.y"
2185  { (yyval) = &pars_rnd_str_token; ;}
2186  break;
2187 
2188  case 68:
2189 #line 252 "pars0grm.y"
2190  { (yyval) = pars_stored_procedure_call(
2191  static_cast<sym_node_t*>((yyvsp[(2) - (6)]))); ;}
2192  break;
2193 
2194  case 69:
2195 #line 258 "pars0grm.y"
2196  { (yyval) = pars_procedure_call((yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); ;}
2197  break;
2198 
2199  case 70:
2200 #line 262 "pars0grm.y"
2201  { (yyval) = &pars_replstr_token; ;}
2202  break;
2203 
2204  case 71:
2205 #line 263 "pars0grm.y"
2206  { (yyval) = &pars_printf_token; ;}
2207  break;
2208 
2209  case 72:
2210 #line 264 "pars0grm.y"
2211  { (yyval) = &pars_assert_token; ;}
2212  break;
2213 
2214  case 73:
2215 #line 268 "pars0grm.y"
2216  { (yyval) = (yyvsp[(1) - (3)]); ;}
2217  break;
2218 
2219  case 74:
2220 #line 272 "pars0grm.y"
2221  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2222  break;
2223 
2224  case 75:
2225 #line 274 "pars0grm.y"
2226  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2227  break;
2228 
2229  case 76:
2230 #line 278 "pars0grm.y"
2231  { (yyval) = NULL; ;}
2232  break;
2233 
2234  case 77:
2235 #line 279 "pars0grm.y"
2236  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2237  break;
2238 
2239  case 78:
2240 #line 281 "pars0grm.y"
2241  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2242  break;
2243 
2244  case 79:
2245 #line 285 "pars0grm.y"
2246  { (yyval) = NULL; ;}
2247  break;
2248 
2249  case 80:
2250 #line 286 "pars0grm.y"
2251  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)]));;}
2252  break;
2253 
2254  case 81:
2255 #line 287 "pars0grm.y"
2256  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2257  break;
2258 
2259  case 82:
2260 #line 291 "pars0grm.y"
2261  { (yyval) = (yyvsp[(1) - (1)]); ;}
2262  break;
2263 
2264  case 83:
2265 #line 293 "pars0grm.y"
2266  { (yyval) = pars_func(&pars_count_token,
2269  pars_sym_tab_global, 1))); ;}
2270  break;
2271 
2272  case 84:
2273 #line 298 "pars0grm.y"
2274  { (yyval) = pars_func(&pars_count_token,
2276  pars_func(&pars_distinct_token,
2278  NULL, (yyvsp[(4) - (5)]))))); ;}
2279  break;
2280 
2281  case 85:
2282 #line 304 "pars0grm.y"
2283  { (yyval) = pars_func(&pars_sum_token,
2285  (yyvsp[(3) - (4)]))); ;}
2286  break;
2287 
2288  case 86:
2289 #line 310 "pars0grm.y"
2290  { (yyval) = NULL; ;}
2291  break;
2292 
2293  case 87:
2294 #line 311 "pars0grm.y"
2295  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2296  break;
2297 
2298  case 88:
2299 #line 313 "pars0grm.y"
2300  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2301  break;
2302 
2303  case 89:
2304 #line 317 "pars0grm.y"
2305  { (yyval) = pars_select_list(&pars_star_denoter,
2306  NULL); ;}
2307  break;
2308 
2309  case 90:
2310 #line 320 "pars0grm.y"
2311  { (yyval) = pars_select_list(
2312  (yyvsp[(1) - (3)]), static_cast<sym_node_t*>((yyvsp[(3) - (3)]))); ;}
2313  break;
2314 
2315  case 91:
2316 #line 322 "pars0grm.y"
2317  { (yyval) = pars_select_list((yyvsp[(1) - (1)]), NULL); ;}
2318  break;
2319 
2320  case 92:
2321 #line 326 "pars0grm.y"
2322  { (yyval) = NULL; ;}
2323  break;
2324 
2325  case 93:
2326 #line 327 "pars0grm.y"
2327  { (yyval) = (yyvsp[(2) - (2)]); ;}
2328  break;
2329 
2330  case 94:
2331 #line 331 "pars0grm.y"
2332  { (yyval) = NULL; ;}
2333  break;
2334 
2335  case 95:
2336 #line 333 "pars0grm.y"
2337  { (yyval) = &pars_update_token; ;}
2338  break;
2339 
2340  case 96:
2341 #line 337 "pars0grm.y"
2342  { (yyval) = NULL; ;}
2343  break;
2344 
2345  case 97:
2346 #line 339 "pars0grm.y"
2347  { (yyval) = &pars_share_token; ;}
2348  break;
2349 
2350  case 98:
2351 #line 343 "pars0grm.y"
2352  { (yyval) = &pars_asc_token; ;}
2353  break;
2354 
2355  case 99:
2356 #line 344 "pars0grm.y"
2357  { (yyval) = &pars_asc_token; ;}
2358  break;
2359 
2360  case 100:
2361 #line 345 "pars0grm.y"
2362  { (yyval) = &pars_desc_token; ;}
2363  break;
2364 
2365  case 101:
2366 #line 349 "pars0grm.y"
2367  { (yyval) = NULL; ;}
2368  break;
2369 
2370  case 102:
2371 #line 351 "pars0grm.y"
2372  { (yyval) = pars_order_by(
2373  static_cast<sym_node_t*>((yyvsp[(3) - (4)])),
2374  static_cast<pars_res_word_t*>((yyvsp[(4) - (4)]))); ;}
2375  break;
2376 
2377  case 103:
2378 #line 362 "pars0grm.y"
2379  { (yyval) = pars_select_statement(
2380  static_cast<sel_node_t*>((yyvsp[(2) - (8)])),
2381  static_cast<sym_node_t*>((yyvsp[(4) - (8)])),
2382  static_cast<que_node_t*>((yyvsp[(5) - (8)])),
2383  static_cast<pars_res_word_t*>((yyvsp[(6) - (8)])),
2384  static_cast<pars_res_word_t*>((yyvsp[(7) - (8)])),
2385  static_cast<order_node_t*>((yyvsp[(8) - (8)]))); ;}
2386  break;
2387 
2388  case 104:
2389 #line 373 "pars0grm.y"
2390  { (yyval) = (yyvsp[(3) - (3)]); ;}
2391  break;
2392 
2393  case 105:
2394 #line 378 "pars0grm.y"
2395  { (yyval) = pars_insert_statement(
2396  static_cast<sym_node_t*>((yyvsp[(1) - (5)])), (yyvsp[(4) - (5)]), NULL); ;}
2397  break;
2398 
2399  case 106:
2400 #line 381 "pars0grm.y"
2401  { (yyval) = pars_insert_statement(
2402  static_cast<sym_node_t*>((yyvsp[(1) - (2)])),
2403  NULL,
2404  static_cast<sel_node_t*>((yyvsp[(2) - (2)]))); ;}
2405  break;
2406 
2407  case 107:
2408 #line 388 "pars0grm.y"
2409  { (yyval) = pars_column_assignment(
2410  static_cast<sym_node_t*>((yyvsp[(1) - (3)])),
2411  static_cast<que_node_t*>((yyvsp[(3) - (3)]))); ;}
2412  break;
2413 
2414  case 108:
2415 #line 394 "pars0grm.y"
2416  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2417  break;
2418 
2419  case 109:
2420 #line 396 "pars0grm.y"
2421  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2422  break;
2423 
2424  case 110:
2425 #line 402 "pars0grm.y"
2426  { (yyval) = (yyvsp[(4) - (4)]); ;}
2427  break;
2428 
2429  case 111:
2430 #line 408 "pars0grm.y"
2431  { (yyval) = pars_update_statement_start(
2432  FALSE,
2433  static_cast<sym_node_t*>((yyvsp[(2) - (4)])),
2434  static_cast<col_assign_node_t*>((yyvsp[(4) - (4)]))); ;}
2435  break;
2436 
2437  case 112:
2438 #line 416 "pars0grm.y"
2439  { (yyval) = pars_update_statement(
2440  static_cast<upd_node_t*>((yyvsp[(1) - (2)])),
2441  NULL,
2442  static_cast<que_node_t*>((yyvsp[(2) - (2)]))); ;}
2443  break;
2444 
2445  case 113:
2446 #line 424 "pars0grm.y"
2447  { (yyval) = pars_update_statement(
2448  static_cast<upd_node_t*>((yyvsp[(1) - (2)])),
2449  static_cast<sym_node_t*>((yyvsp[(2) - (2)])),
2450  NULL); ;}
2451  break;
2452 
2453  case 114:
2454 #line 432 "pars0grm.y"
2455  { (yyval) = pars_update_statement_start(
2456  TRUE,
2457  static_cast<sym_node_t*>((yyvsp[(3) - (3)])), NULL); ;}
2458  break;
2459 
2460  case 115:
2461 #line 439 "pars0grm.y"
2462  { (yyval) = pars_update_statement(
2463  static_cast<upd_node_t*>((yyvsp[(1) - (2)])),
2464  NULL,
2465  static_cast<que_node_t*>((yyvsp[(2) - (2)]))); ;}
2466  break;
2467 
2468  case 116:
2469 #line 447 "pars0grm.y"
2470  { (yyval) = pars_update_statement(
2471  static_cast<upd_node_t*>((yyvsp[(1) - (2)])),
2472  static_cast<sym_node_t*>((yyvsp[(2) - (2)])),
2473  NULL); ;}
2474  break;
2475 
2476  case 117:
2477 #line 455 "pars0grm.y"
2478  { (yyval) = pars_row_printf_statement(
2479  static_cast<sel_node_t*>((yyvsp[(2) - (2)]))); ;}
2480  break;
2481 
2482  case 118:
2483 #line 461 "pars0grm.y"
2484  { (yyval) = pars_assignment_statement(
2485  static_cast<sym_node_t*>((yyvsp[(1) - (3)])),
2486  static_cast<que_node_t*>((yyvsp[(3) - (3)]))); ;}
2487  break;
2488 
2489  case 119:
2490 #line 469 "pars0grm.y"
2491  { (yyval) = pars_elsif_element((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;}
2492  break;
2493 
2494  case 120:
2495 #line 473 "pars0grm.y"
2496  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2497  break;
2498 
2499  case 121:
2500 #line 475 "pars0grm.y"
2501  { (yyval) = que_node_list_add_last((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;}
2502  break;
2503 
2504  case 122:
2505 #line 479 "pars0grm.y"
2506  { (yyval) = NULL; ;}
2507  break;
2508 
2509  case 123:
2510 #line 481 "pars0grm.y"
2511  { (yyval) = (yyvsp[(2) - (2)]); ;}
2512  break;
2513 
2514  case 124:
2515 #line 482 "pars0grm.y"
2516  { (yyval) = (yyvsp[(1) - (1)]); ;}
2517  break;
2518 
2519  case 125:
2520 #line 489 "pars0grm.y"
2521  { (yyval) = pars_if_statement((yyvsp[(2) - (7)]), (yyvsp[(4) - (7)]), (yyvsp[(5) - (7)])); ;}
2522  break;
2523 
2524  case 126:
2525 #line 495 "pars0grm.y"
2526  { (yyval) = pars_while_statement((yyvsp[(2) - (6)]), (yyvsp[(4) - (6)])); ;}
2527  break;
2528 
2529  case 127:
2530 #line 503 "pars0grm.y"
2531  { (yyval) = pars_for_statement(
2532  static_cast<sym_node_t*>((yyvsp[(2) - (10)])),
2533  (yyvsp[(4) - (10)]), (yyvsp[(6) - (10)]), (yyvsp[(8) - (10)])); ;}
2534  break;
2535 
2536  case 128:
2537 #line 509 "pars0grm.y"
2538  { (yyval) = pars_exit_statement(); ;}
2539  break;
2540 
2541  case 129:
2542 #line 513 "pars0grm.y"
2543  { (yyval) = pars_return_statement(); ;}
2544  break;
2545 
2546  case 130:
2547 #line 518 "pars0grm.y"
2548  { (yyval) = pars_open_statement(
2550  static_cast<sym_node_t*>((yyvsp[(2) - (2)]))); ;}
2551  break;
2552 
2553  case 131:
2554 #line 525 "pars0grm.y"
2555  { (yyval) = pars_open_statement(
2557  static_cast<sym_node_t*>((yyvsp[(2) - (2)]))); ;}
2558  break;
2559 
2560  case 132:
2561 #line 532 "pars0grm.y"
2562  { (yyval) = pars_fetch_statement(
2563  static_cast<sym_node_t*>((yyvsp[(2) - (4)])),
2564  static_cast<sym_node_t*>((yyvsp[(4) - (4)])), NULL); ;}
2565  break;
2566 
2567  case 133:
2568 #line 536 "pars0grm.y"
2569  { (yyval) = pars_fetch_statement(
2570  static_cast<sym_node_t*>((yyvsp[(2) - (4)])),
2571  NULL,
2572  static_cast<sym_node_t*>((yyvsp[(4) - (4)]))); ;}
2573  break;
2574 
2575  case 134:
2576 #line 544 "pars0grm.y"
2577  { (yyval) = pars_column_def(
2578  static_cast<sym_node_t*>((yyvsp[(1) - (5)])),
2579  static_cast<pars_res_word_t*>((yyvsp[(2) - (5)])),
2580  static_cast<sym_node_t*>((yyvsp[(3) - (5)])),
2581  (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); ;}
2582  break;
2583 
2584  case 135:
2585 #line 552 "pars0grm.y"
2586  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2587  break;
2588 
2589  case 136:
2590 #line 554 "pars0grm.y"
2591  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2592  break;
2593 
2594  case 137:
2595 #line 558 "pars0grm.y"
2596  { (yyval) = NULL; ;}
2597  break;
2598 
2599  case 138:
2600 #line 560 "pars0grm.y"
2601  { (yyval) = (yyvsp[(2) - (3)]); ;}
2602  break;
2603 
2604  case 139:
2605 #line 564 "pars0grm.y"
2606  { (yyval) = NULL; ;}
2607  break;
2608 
2609  case 140:
2610 #line 566 "pars0grm.y"
2611  { (yyval) = &pars_int_token;
2612  /* pass any non-NULL pointer */ ;}
2613  break;
2614 
2615  case 141:
2616 #line 571 "pars0grm.y"
2617  { (yyval) = NULL; ;}
2618  break;
2619 
2620  case 142:
2621 #line 573 "pars0grm.y"
2622  { (yyval) = &pars_int_token;
2623  /* pass any non-NULL pointer */ ;}
2624  break;
2625 
2626  case 143:
2627 #line 578 "pars0grm.y"
2628  { (yyval) = NULL; ;}
2629  break;
2630 
2631  case 144:
2632 #line 580 "pars0grm.y"
2633  { (yyval) = &pars_int_token;
2634  /* pass any non-NULL pointer */ ;}
2635  break;
2636 
2637  case 145:
2638 #line 585 "pars0grm.y"
2639  { (yyval) = NULL; ;}
2640  break;
2641 
2642  case 146:
2643 #line 586 "pars0grm.y"
2644  { (yyval) = &pars_int_token;
2645  /* pass any non-NULL pointer */ ;}
2646  break;
2647 
2648  case 147:
2649 #line 591 "pars0grm.y"
2650  { (yyval) = NULL; ;}
2651  break;
2652 
2653  case 148:
2654 #line 593 "pars0grm.y"
2655  { (yyval) = (yyvsp[(3) - (3)]); ;}
2656  break;
2657 
2658  case 149:
2659 #line 600 "pars0grm.y"
2660  { (yyval) = pars_create_table(
2661  static_cast<sym_node_t*>((yyvsp[(3) - (9)])),
2662  static_cast<sym_node_t*>((yyvsp[(5) - (9)])),
2663  static_cast<sym_node_t*>((yyvsp[(8) - (9)])),
2664  static_cast<sym_node_t*>((yyvsp[(9) - (9)])), (yyvsp[(7) - (9)])); ;}
2665  break;
2666 
2667  case 150:
2668 #line 608 "pars0grm.y"
2669  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2670  break;
2671 
2672  case 151:
2673 #line 610 "pars0grm.y"
2674  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2675  break;
2676 
2677  case 152:
2678 #line 614 "pars0grm.y"
2679  { (yyval) = NULL; ;}
2680  break;
2681 
2682  case 153:
2683 #line 615 "pars0grm.y"
2684  { (yyval) = &pars_unique_token; ;}
2685  break;
2686 
2687  case 154:
2688 #line 619 "pars0grm.y"
2689  { (yyval) = NULL; ;}
2690  break;
2691 
2692  case 155:
2693 #line 620 "pars0grm.y"
2694  { (yyval) = &pars_clustered_token; ;}
2695  break;
2696 
2697  case 156:
2698 #line 629 "pars0grm.y"
2699  { (yyval) = pars_create_index(
2700  static_cast<pars_res_word_t*>((yyvsp[(2) - (10)])),
2701  static_cast<pars_res_word_t*>((yyvsp[(3) - (10)])),
2702  static_cast<sym_node_t*>((yyvsp[(5) - (10)])),
2703  static_cast<sym_node_t*>((yyvsp[(7) - (10)])),
2704  static_cast<sym_node_t*>((yyvsp[(9) - (10)]))); ;}
2705  break;
2706 
2707  case 157:
2708 #line 638 "pars0grm.y"
2709  { (yyval) = (yyvsp[(1) - (1)]); ;}
2710  break;
2711 
2712  case 158:
2713 #line 639 "pars0grm.y"
2714  { (yyval) = (yyvsp[(1) - (1)]); ;}
2715  break;
2716 
2717  case 159:
2718 #line 644 "pars0grm.y"
2719  { (yyval) = pars_commit_statement(); ;}
2720  break;
2721 
2722  case 160:
2723 #line 649 "pars0grm.y"
2724  { (yyval) = pars_rollback_statement(); ;}
2725  break;
2726 
2727  case 161:
2728 #line 653 "pars0grm.y"
2729  { (yyval) = &pars_int_token; ;}
2730  break;
2731 
2732  case 162:
2733 #line 654 "pars0grm.y"
2734  { (yyval) = &pars_int_token; ;}
2735  break;
2736 
2737  case 163:
2738 #line 655 "pars0grm.y"
2739  { (yyval) = &pars_bigint_token; ;}
2740  break;
2741 
2742  case 164:
2743 #line 656 "pars0grm.y"
2744  { (yyval) = &pars_char_token; ;}
2745  break;
2746 
2747  case 165:
2748 #line 657 "pars0grm.y"
2749  { (yyval) = &pars_binary_token; ;}
2750  break;
2751 
2752  case 166:
2753 #line 658 "pars0grm.y"
2754  { (yyval) = &pars_blob_token; ;}
2755  break;
2756 
2757  case 167:
2758 #line 663 "pars0grm.y"
2759  { (yyval) = pars_parameter_declaration(
2760  static_cast<sym_node_t*>((yyvsp[(1) - (3)])),
2761  PARS_INPUT,
2762  static_cast<pars_res_word_t*>((yyvsp[(3) - (3)]))); ;}
2763  break;
2764 
2765  case 168:
2766 #line 668 "pars0grm.y"
2767  { (yyval) = pars_parameter_declaration(
2768  static_cast<sym_node_t*>((yyvsp[(1) - (3)])),
2769  PARS_OUTPUT,
2770  static_cast<pars_res_word_t*>((yyvsp[(3) - (3)]))); ;}
2771  break;
2772 
2773  case 169:
2774 #line 675 "pars0grm.y"
2775  { (yyval) = NULL; ;}
2776  break;
2777 
2778  case 170:
2779 #line 676 "pars0grm.y"
2780  { (yyval) = que_node_list_add_last(NULL, (yyvsp[(1) - (1)])); ;}
2781  break;
2782 
2783  case 171:
2784 #line 678 "pars0grm.y"
2785  { (yyval) = que_node_list_add_last((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
2786  break;
2787 
2788  case 172:
2789 #line 683 "pars0grm.y"
2790  { (yyval) = pars_variable_declaration(
2791  static_cast<sym_node_t*>((yyvsp[(1) - (3)])),
2792  static_cast<pars_res_word_t*>((yyvsp[(2) - (3)]))); ;}
2793  break;
2794 
2795  case 176:
2796 #line 697 "pars0grm.y"
2797  { (yyval) = pars_cursor_declaration(
2798  static_cast<sym_node_t*>((yyvsp[(3) - (6)])),
2799  static_cast<sel_node_t*>((yyvsp[(5) - (6)]))); ;}
2800  break;
2801 
2802  case 177:
2803 #line 704 "pars0grm.y"
2804  { (yyval) = pars_function_declaration(
2805  static_cast<sym_node_t*>((yyvsp[(3) - (4)]))); ;}
2806  break;
2807 
2808  case 183:
2809 #line 726 "pars0grm.y"
2810  { (yyval) = pars_procedure_definition(
2811  static_cast<sym_node_t*>((yyvsp[(2) - (11)])),
2812  static_cast<sym_node_t*>((yyvsp[(4) - (11)])),
2813  (yyvsp[(10) - (11)])); ;}
2814  break;
2815 
2816 
2817 /* Line 1267 of yacc.c. */
2818 #line 2826 "pars0grm.cc"
2819  default: break;
2820  }
2821  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
2822 
2823  YYPOPSTACK (yylen);
2824  yylen = 0;
2825  YY_STACK_PRINT (yyss, yyssp);
2826 
2827  *++yyvsp = yyval;
2828 
2829 
2830  /* Now `shift' the result of the reduction. Determine what state
2831  that goes to, based on the state we popped back to and the rule
2832  number reduced by. */
2833 
2834  yyn = yyr1[yyn];
2835 
2836  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
2837  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2838  yystate = yytable[yystate];
2839  else
2840  yystate = yydefgoto[yyn - YYNTOKENS];
2841 
2842  goto yynewstate;
2843 
2844 
2845 /*------------------------------------.
2846 | yyerrlab -- here on detecting error |
2847 `------------------------------------*/
2848 yyerrlab:
2849  /* If not already recovering from an error, report this error. */
2850  if (!yyerrstatus)
2851  {
2852  ++yynerrs;
2853 #if ! YYERROR_VERBOSE
2854  yyerror (YY_("syntax error"));
2855 #else
2856  {
2857  YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
2858  if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
2859  {
2860  YYSIZE_T yyalloc = 2 * yysize;
2861  if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
2862  yyalloc = YYSTACK_ALLOC_MAXIMUM;
2863  if (yymsg != yymsgbuf)
2864  YYSTACK_FREE (yymsg);
2865  yymsg = (char*) YYSTACK_ALLOC (yyalloc);
2866  if (yymsg)
2867  yymsg_alloc = yyalloc;
2868  else
2869  {
2870  yymsg = yymsgbuf;
2871  yymsg_alloc = sizeof yymsgbuf;
2872  }
2873  }
2874 
2875  if (0 < yysize && yysize <= yymsg_alloc)
2876  {
2877  (void) yysyntax_error (yymsg, yystate, yychar);
2878  yyerror (yymsg);
2879  }
2880  else
2881  {
2882  yyerror (YY_("syntax error"));
2883  if (yysize != 0)
2884  goto yyexhaustedlab;
2885  }
2886  }
2887 #endif
2888  }
2889 
2890 
2891 
2892  if (yyerrstatus == 3)
2893  {
2894  /* If just tried and failed to reuse look-ahead token after an
2895  error, discard it. */
2896 
2897  if (yychar <= YYEOF)
2898  {
2899  /* Return failure if at end of input. */
2900  if (yychar == YYEOF)
2901  YYABORT;
2902  }
2903  else
2904  {
2905  yydestruct ("Error: discarding",
2906  yytoken, &yylval);
2907  yychar = YYEMPTY;
2908  }
2909  }
2910 
2911  /* Else will try to reuse look-ahead token after shifting the error
2912  token. */
2913  goto yyerrlab1;
2914 
2915 
2916 /*---------------------------------------------------.
2917 | yyerrorlab -- error raised explicitly by YYERROR. |
2918 `---------------------------------------------------*/
2919 yyerrorlab:
2920 
2921  /* Pacify compilers like GCC when the user code never invokes
2922  YYERROR and the label yyerrorlab therefore never appears in user
2923  code. */
2924  if (/*CONSTCOND*/ 0)
2925  goto yyerrorlab;
2926 
2927  /* Do not reclaim the symbols of the rule which action triggered
2928  this YYERROR. */
2929  YYPOPSTACK (yylen);
2930  yylen = 0;
2931  YY_STACK_PRINT (yyss, yyssp);
2932  yystate = *yyssp;
2933  goto yyerrlab1;
2934 
2935 
2936 /*-------------------------------------------------------------.
2937 | yyerrlab1 -- common code for both syntax error and YYERROR. |
2938 `-------------------------------------------------------------*/
2939 yyerrlab1:
2940  yyerrstatus = 3; /* Each real token shifted decrements this. */
2941 
2942  for (;;)
2943  {
2944  yyn = yypact[yystate];
2945  if (yyn != YYPACT_NINF)
2946  {
2947  yyn += YYTERROR;
2948  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
2949  {
2950  yyn = yytable[yyn];
2951  if (0 < yyn)
2952  break;
2953  }
2954  }
2955 
2956  /* Pop the current state because it cannot handle the error token. */
2957  if (yyssp == yyss)
2958  YYABORT;
2959 
2960 
2961  yydestruct ("Error: popping",
2962  yystos[yystate], yyvsp);
2963  YYPOPSTACK (1);
2964  yystate = *yyssp;
2965  YY_STACK_PRINT (yyss, yyssp);
2966  }
2967 
2968  if (yyn == YYFINAL)
2969  YYACCEPT;
2970 
2971  *++yyvsp = yylval;
2972 
2973 
2974  /* Shift the error token. */
2975  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2976 
2977  yystate = yyn;
2978  goto yynewstate;
2979 
2980 
2981 /*-------------------------------------.
2982 | yyacceptlab -- YYACCEPT comes here. |
2983 `-------------------------------------*/
2984 yyacceptlab:
2985  yyresult = 0;
2986  goto yyreturn;
2987 
2988 /*-----------------------------------.
2989 | yyabortlab -- YYABORT comes here. |
2990 `-----------------------------------*/
2991 yyabortlab:
2992  yyresult = 1;
2993  goto yyreturn;
2994 
2995 #ifndef yyoverflow
2996 /*-------------------------------------------------.
2997 | yyexhaustedlab -- memory exhaustion comes here. |
2998 `-------------------------------------------------*/
2999 yyexhaustedlab:
3000  yyerror (YY_("memory exhausted"));
3001  yyresult = 2;
3002  /* Fall through. */
3003 #endif
3004 
3005 yyreturn:
3006  if (yychar != YYEOF && yychar != YYEMPTY)
3007  yydestruct ("Cleanup: discarding lookahead",
3008  yytoken, &yylval);
3009  /* Do not reclaim the symbols of the rule which action triggered
3010  this YYABORT or YYACCEPT. */
3011  YYPOPSTACK (yylen);
3012  YY_STACK_PRINT (yyss, yyssp);
3013  while (yyssp != yyss)
3014  {
3015  yydestruct ("Cleanup: popping",
3016  yystos[*yyssp], yyvsp);
3017  YYPOPSTACK (1);
3018  }
3019 #ifndef yyoverflow
3020  if (yyss != yyssa)
3021  YYSTACK_FREE (yyss);
3022 #endif
3023 #if YYERROR_VERBOSE
3024  if (yymsg != yymsgbuf)
3025  YYSTACK_FREE (yymsg);
3026 #endif
3027  /* Make sure YYID is used. */
3028  return YYID (yyresult);
3029 }
3030 
3031 
3032 #line 732 "pars0grm.y"
3033 
3034