Line data Source code
1 : /* A Bison parser, made by GNU Bison 2.5. */
2 :
3 : /* Bison implementation for Yacc-like parsers in C
4 :
5 : Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6 :
7 : This program is free software: you can redistribute it and/or modify
8 : it under the terms of the GNU General Public License as published by
9 : the Free Software Foundation, either version 3 of the License, or
10 : (at your option) any later version.
11 :
12 : This program is distributed in the hope that it will be useful,
13 : but WITHOUT ANY WARRANTY; without even the implied warranty of
14 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 : GNU General Public License for more details.
16 :
17 : You should have received a copy of the GNU General Public License
18 : along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 :
20 : /* As a special exception, you may create a larger work that contains
21 : part or all of the Bison parser skeleton and distribute that work
22 : under terms of your choice, so long as that work isn't itself a
23 : parser generator using the skeleton or a modified version thereof
24 : as a parser skeleton. Alternatively, if you modify or redistribute
25 : the parser skeleton itself, you may (at your option) remove this
26 : special exception, which will cause the skeleton and the resulting
27 : Bison output files to be licensed under the GNU General Public
28 : License without this special exception.
29 :
30 : This special exception was added by the Free Software Foundation in
31 : version 2.2 of Bison. */
32 :
33 : /* C LALR(1) parser skeleton written by Richard Stallman, by
34 : simplifying the original so-called "semantic" parser. */
35 :
36 : /* All symbols defined below should begin with yy or YY, to avoid
37 : infringing on user name space. This should be done even for local
38 : variables, as they might otherwise be expanded by user macros.
39 : There are some unavoidable exceptions within include files to
40 : define necessary library symbols; they are noted "INFRINGES ON
41 : USER NAME SPACE" below. */
42 :
43 : /* Identify Bison output. */
44 : #define YYBISON 1
45 :
46 : /* Bison version. */
47 : #define YYBISON_VERSION "2.5"
48 :
49 : /* Skeleton name. */
50 : #define YYSKELETON_NAME "yacc.c"
51 :
52 : /* Pure parsers. */
53 : #define YYPURE 0
54 :
55 : /* Push parsers. */
56 : #define YYPUSH 0
57 :
58 : /* Pull parsers. */
59 : #define YYPULL 1
60 :
61 : /* Using locations. */
62 : #define YYLSP_NEEDED 0
63 :
64 : /* Substitute the variable and function names. */
65 : #define yyparse SQLyyparse
66 : #define yylex SQLyylex
67 : #define yyerror SQLyyerror
68 : #define yylval SQLyylval
69 : #define yychar SQLyychar
70 : #define yydebug SQLyydebug
71 : #define yynerrs SQLyynerrs
72 :
73 :
74 : /* Copy the first part of user declarations. */
75 :
76 :
77 : /*
78 : * This file is part of the LibreOffice project.
79 : *
80 : * This Source Code Form is subject to the terms of the Mozilla Public
81 : * License, v. 2.0. If a copy of the MPL was not distributed with this
82 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
83 : *
84 : * This file incorporates work covered by the following license notice:
85 : *
86 : * Licensed to the Apache Software Foundation (ASF) under one or more
87 : * contributor license agreements. See the NOTICE file distributed
88 : * with this work for additional information regarding copyright
89 : * ownership. The ASF licenses this file to you under the Apache
90 : * License, Version 2.0 (the "License"); you may not use this file
91 : * except in compliance with the License. You may obtain a copy of
92 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
93 : */
94 :
95 : #include <vector>
96 : #include <string.h>
97 : #include "parse/sqlbison_exports.hxx"
98 :
99 : #ifndef _CONNECTIVITY_SQLNODE_HXX
100 : #include <connectivity/sqlnode.hxx>
101 : #endif
102 : #ifndef _CONNECTIVITY_SQLPARSE_HXX
103 : #include <connectivity/sqlparse.hxx>
104 : #endif
105 : #ifndef _CONNECTIVITY_SQLINTERNALNODE_HXX
106 : #include <internalnode.hxx>
107 : #endif
108 : #ifndef _COM_SUN_STAR_LANG_LOCALE_HPP_
109 : #include <com/sun/star/lang/Locale.hpp>
110 : #endif
111 : #ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
112 : #include <com/sun/star/sdbc/DataType.hpp>
113 : #endif
114 : #ifndef _COM_SUN_STAR_UTIL_DATE_HPP_
115 : #include <com/sun/star/util/Date.hpp>
116 : #endif
117 : #ifndef _COM_SUN_STAR_UTIL_DATETIME_HPP_
118 : #include <com/sun/star/util/DateTime.hpp>
119 : #endif
120 : #ifndef _COM_SUN_STAR_UTIL_TIME_HPP_
121 : #include <com/sun/star/util/Time.hpp>
122 : #endif
123 : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTER_HPP_
124 : #include <com/sun/star/util/XNumberFormatter.hpp>
125 : #endif
126 : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATSSUPPLIER_HPP_
127 : #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
128 : #endif
129 : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATS_HPP_
130 : #include <com/sun/star/util/XNumberFormats.hpp>
131 : #endif
132 : #ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
133 : #include <com/sun/star/util/NumberFormat.hpp>
134 : #endif
135 : #ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
136 : #include <com/sun/star/util/XNumberFormatTypes.hpp>
137 : #endif
138 : #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
139 : #include <com/sun/star/beans/XPropertySet.hpp>
140 : #endif
141 : #ifndef _COM_SUN_STAR_I18N_KPARSETYPE_HPP_
142 : #include <com/sun/star/i18n/KParseType.hpp>
143 : #endif
144 : #ifndef _COM_SUN_STAR_I18N_KPARSETOKENS_HPP_
145 : #include <com/sun/star/i18n/KParseTokens.hpp>
146 : #endif
147 : #ifndef _CONNECTIVITY_SQLSCAN_HXX
148 : #include "sqlscan.hxx"
149 : #endif
150 : #ifndef _OSL_DIAGNOSE_H_
151 : #include <osl/diagnose.h>
152 : #endif
153 : #ifndef _DBHELPER_DBCONVERSION_HXX_
154 : #include "connectivity/dbconversion.hxx"
155 : #endif
156 : #include <rtl/ustrbuf.hxx>
157 : #include <sal/macros.h>
158 :
159 : #if defined __SUNPRO_CC
160 : #pragma disable_warn
161 : #elif defined _MSC_VER
162 : #pragma warning(push, 1)
163 : #pragma warning(disable:4273 4701 4706)
164 : #endif
165 :
166 25 : static ::rtl::OUString aEmptyString;
167 :
168 0 : static connectivity::OSQLInternalNode* newNode(const sal_Char* pNewValue,
169 : const connectivity::SQLNodeType eNodeType,
170 : const sal_uInt32 nNodeID = 0)
171 : {
172 0 : return new connectivity::OSQLInternalNode(pNewValue, eNodeType, nNodeID);
173 : }
174 :
175 0 : static connectivity::OSQLInternalNode* newNode(const ::rtl::OString& _NewValue,
176 : const connectivity::SQLNodeType eNodeType,
177 : const sal_uInt32 nNodeID = 0)
178 : {
179 0 : return new connectivity::OSQLInternalNode(_NewValue, eNodeType, nNodeID);
180 : }
181 :
182 98 : static connectivity::OSQLInternalNode* newNode(const ::rtl::OUString& _NewValue,
183 : const connectivity::SQLNodeType eNodeType,
184 : const sal_uInt32 nNodeID = 0)
185 : {
186 98 : return new connectivity::OSQLInternalNode(_NewValue, eNodeType, nNodeID);
187 : }
188 :
189 :
190 : // yyi ist die interne Nr. der Regel, die gerade reduziert wird.
191 : // Ueber die Mapping-Tabelle yyrmap wird daraus eine externe Regel-Nr.
192 : #define SQL_NEW_RULE newNode(aEmptyString, SQL_NODE_RULE, yyr1[yyn])
193 : #define SQL_NEW_LISTRULE newNode(aEmptyString, SQL_NODE_LISTRULE, yyr1[yyn])
194 : #define SQL_NEW_COMMALISTRULE newNode(aEmptyString, SQL_NODE_COMMALISTRULE, yyr1[yyn])
195 :
196 :
197 : connectivity::OSQLParser* xxx_pGLOBAL_SQLPARSER;
198 :
199 : #if !(defined MACOSX && defined PPC)
200 : #define YYERROR_VERBOSE
201 : #endif
202 :
203 : #define SQLyyerror(s) \
204 : { \
205 : xxx_pGLOBAL_SQLPARSER->error(s); \
206 : }
207 :
208 : using namespace connectivity;
209 : #define SQLyylex xxx_pGLOBAL_SQLPARSER->SQLlex
210 :
211 :
212 :
213 : /* Enabling traces. */
214 : #ifndef YYDEBUG
215 : # define YYDEBUG 0
216 : #endif
217 :
218 : /* Enabling verbose error messages. */
219 : #ifdef YYERROR_VERBOSE
220 : # undef YYERROR_VERBOSE
221 : # define YYERROR_VERBOSE 1
222 : #else
223 : # define YYERROR_VERBOSE 0
224 : #endif
225 :
226 : /* Enabling the token table. */
227 : #ifndef YYTOKEN_TABLE
228 : # define YYTOKEN_TABLE 1
229 : #endif
230 :
231 :
232 : /* Tokens. */
233 : #ifndef YYTOKENTYPE
234 : # define YYTOKENTYPE
235 : /* Put the tokens into the symbol table, so that GDB and other debuggers
236 : know about them. */
237 : enum yytokentype {
238 : SQL_TOKEN_STRING = 258,
239 : SQL_TOKEN_ACCESS_DATE = 259,
240 : SQL_TOKEN_INT = 260,
241 : SQL_TOKEN_REAL_NUM = 261,
242 : SQL_TOKEN_INTNUM = 262,
243 : SQL_TOKEN_APPROXNUM = 263,
244 : SQL_TOKEN_NOT = 264,
245 : SQL_TOKEN_NAME = 265,
246 : SQL_TOKEN_UMINUS = 266,
247 : SQL_TOKEN_ALL = 267,
248 : SQL_TOKEN_ALTER = 268,
249 : SQL_TOKEN_AMMSC = 269,
250 : SQL_TOKEN_ANY = 270,
251 : SQL_TOKEN_AS = 271,
252 : SQL_TOKEN_ASC = 272,
253 : SQL_TOKEN_AT = 273,
254 : SQL_TOKEN_AUTHORIZATION = 274,
255 : SQL_TOKEN_AVG = 275,
256 : SQL_TOKEN_BETWEEN = 276,
257 : SQL_TOKEN_BIT = 277,
258 : SQL_TOKEN_BOTH = 278,
259 : SQL_TOKEN_BY = 279,
260 : SQL_TOKEN_CAST = 280,
261 : SQL_TOKEN_CHARACTER = 281,
262 : SQL_TOKEN_CHECK = 282,
263 : SQL_TOKEN_COLLATE = 283,
264 : SQL_TOKEN_COMMIT = 284,
265 : SQL_TOKEN_CONTINUE = 285,
266 : SQL_TOKEN_CONVERT = 286,
267 : SQL_TOKEN_COUNT = 287,
268 : SQL_TOKEN_CREATE = 288,
269 : SQL_TOKEN_CROSS = 289,
270 : SQL_TOKEN_CURRENT = 290,
271 : SQL_TOKEN_CURSOR = 291,
272 : SQL_TOKEN_DATE = 292,
273 : SQL_TOKEN_DATEVALUE = 293,
274 : SQL_TOKEN_DAY = 294,
275 : SQL_TOKEN_DEC = 295,
276 : SQL_TOKEN_DECIMAL = 296,
277 : SQL_TOKEN_DECLARE = 297,
278 : SQL_TOKEN_DEFAULT = 298,
279 : SQL_TOKEN_DELETE = 299,
280 : SQL_TOKEN_DESC = 300,
281 : SQL_TOKEN_DISTINCT = 301,
282 : SQL_TOKEN_DOUBLE = 302,
283 : SQL_TOKEN_DROP = 303,
284 : SQL_TOKEN_ESCAPE = 304,
285 : SQL_TOKEN_EXCEPT = 305,
286 : SQL_TOKEN_EXISTS = 306,
287 : SQL_TOKEN_FALSE = 307,
288 : SQL_TOKEN_FETCH = 308,
289 : SQL_TOKEN_FLOAT = 309,
290 : SQL_TOKEN_FOR = 310,
291 : SQL_TOKEN_FOREIGN = 311,
292 : SQL_TOKEN_FOUND = 312,
293 : SQL_TOKEN_FROM = 313,
294 : SQL_TOKEN_FULL = 314,
295 : SQL_TOKEN_GRANT = 315,
296 : SQL_TOKEN_GROUP = 316,
297 : SQL_TOKEN_HAVING = 317,
298 : SQL_TOKEN_IN = 318,
299 : SQL_TOKEN_INDICATOR = 319,
300 : SQL_TOKEN_INNER = 320,
301 : SQL_TOKEN_INTEGER = 321,
302 : SQL_TOKEN_INTO = 322,
303 : SQL_TOKEN_IS = 323,
304 : SQL_TOKEN_INTERSECT = 324,
305 : SQL_TOKEN_JOIN = 325,
306 : SQL_TOKEN_KEY = 326,
307 : SQL_TOKEN_LEADING = 327,
308 : SQL_TOKEN_LIKE = 328,
309 : SQL_TOKEN_LOCAL = 329,
310 : SQL_TOKEN_LOWER = 330,
311 : SQL_TOKEN_MAX = 331,
312 : SQL_TOKEN_MIN = 332,
313 : SQL_TOKEN_NATURAL = 333,
314 : SQL_TOKEN_NCHAR = 334,
315 : SQL_TOKEN_NULL = 335,
316 : SQL_TOKEN_NUMERIC = 336,
317 : SQL_TOKEN_OCTET_LENGTH = 337,
318 : SQL_TOKEN_OF = 338,
319 : SQL_TOKEN_ON = 339,
320 : SQL_TOKEN_OPTION = 340,
321 : SQL_TOKEN_ORDER = 341,
322 : SQL_TOKEN_OUTER = 342,
323 : SQL_TOKEN_PRECISION = 343,
324 : SQL_TOKEN_PRIMARY = 344,
325 : SQL_TOKEN_PRIVILEGES = 345,
326 : SQL_TOKEN_PROCEDURE = 346,
327 : SQL_TOKEN_PUBLIC = 347,
328 : SQL_TOKEN_REAL = 348,
329 : SQL_TOKEN_REFERENCES = 349,
330 : SQL_TOKEN_ROLLBACK = 350,
331 : SQL_TOKEN_SCHEMA = 351,
332 : SQL_TOKEN_SELECT = 352,
333 : SQL_TOKEN_SET = 353,
334 : SQL_TOKEN_SIZE = 354,
335 : SQL_TOKEN_SMALLINT = 355,
336 : SQL_TOKEN_SOME = 356,
337 : SQL_TOKEN_SQLCODE = 357,
338 : SQL_TOKEN_SQLERROR = 358,
339 : SQL_TOKEN_SUM = 359,
340 : SQL_TOKEN_TABLE = 360,
341 : SQL_TOKEN_TIME = 361,
342 : SQL_TOKEN_TIMESTAMP = 362,
343 : SQL_TOKEN_TIMEZONE_HOUR = 363,
344 : SQL_TOKEN_TIMEZONE_MINUTE = 364,
345 : SQL_TOKEN_TO = 365,
346 : SQL_TOKEN_TRAILING = 366,
347 : SQL_TOKEN_TRANSLATE = 367,
348 : SQL_TOKEN_TRIM = 368,
349 : SQL_TOKEN_TRUE = 369,
350 : SQL_TOKEN_UNION = 370,
351 : SQL_TOKEN_UNIQUE = 371,
352 : SQL_TOKEN_UNKNOWN = 372,
353 : SQL_TOKEN_UPDATE = 373,
354 : SQL_TOKEN_UPPER = 374,
355 : SQL_TOKEN_USAGE = 375,
356 : SQL_TOKEN_USER = 376,
357 : SQL_TOKEN_USING = 377,
358 : SQL_TOKEN_VALUES = 378,
359 : SQL_TOKEN_VIEW = 379,
360 : SQL_TOKEN_WHERE = 380,
361 : SQL_TOKEN_WITH = 381,
362 : SQL_TOKEN_WORK = 382,
363 : SQL_TOKEN_ZONE = 383,
364 : SQL_TOKEN_CALL = 384,
365 : SQL_TOKEN_D = 385,
366 : SQL_TOKEN_FN = 386,
367 : SQL_TOKEN_T = 387,
368 : SQL_TOKEN_TS = 388,
369 : SQL_TOKEN_OJ = 389,
370 : SQL_TOKEN_ASCII = 390,
371 : SQL_TOKEN_BIT_LENGTH = 391,
372 : SQL_TOKEN_CHAR = 392,
373 : SQL_TOKEN_CHAR_LENGTH = 393,
374 : SQL_TOKEN_SQL_TOKEN_INTNUM = 394,
375 : SQL_TOKEN_CONCAT = 395,
376 : SQL_TOKEN_DIFFERENCE = 396,
377 : SQL_TOKEN_INSERT = 397,
378 : SQL_TOKEN_LCASE = 398,
379 : SQL_TOKEN_LEFT = 399,
380 : SQL_TOKEN_LENGTH = 400,
381 : SQL_TOKEN_LOCATE = 401,
382 : SQL_TOKEN_LOCATE_2 = 402,
383 : SQL_TOKEN_LTRIM = 403,
384 : SQL_TOKEN_POSITION = 404,
385 : SQL_TOKEN_REPEAT = 405,
386 : SQL_TOKEN_REPLACE = 406,
387 : SQL_TOKEN_RIGHT = 407,
388 : SQL_TOKEN_RTRIM = 408,
389 : SQL_TOKEN_SOUNDEX = 409,
390 : SQL_TOKEN_SPACE = 410,
391 : SQL_TOKEN_SUBSTRING = 411,
392 : SQL_TOKEN_UCASE = 412,
393 : SQL_TOKEN_CURRENT_DATE = 413,
394 : SQL_TOKEN_CURRENT_TIME = 414,
395 : SQL_TOKEN_CURRENT_TIMESTAMP = 415,
396 : SQL_TOKEN_CURDATE = 416,
397 : SQL_TOKEN_CURTIME = 417,
398 : SQL_TOKEN_DAYNAME = 418,
399 : SQL_TOKEN_DAYOFMONTH = 419,
400 : SQL_TOKEN_DAYOFWEEK = 420,
401 : SQL_TOKEN_DAYOFYEAR = 421,
402 : SQL_TOKEN_EXTRACT = 422,
403 : SQL_TOKEN_HOUR = 423,
404 : SQL_TOKEN_MINUTE = 424,
405 : SQL_TOKEN_MONTH = 425,
406 : SQL_TOKEN_MONTHNAME = 426,
407 : SQL_TOKEN_NOW = 427,
408 : SQL_TOKEN_QUARTER = 428,
409 : SQL_TOKEN_DATEDIFF = 429,
410 : SQL_TOKEN_SECOND = 430,
411 : SQL_TOKEN_TIMESTAMPADD = 431,
412 : SQL_TOKEN_TIMESTAMPDIFF = 432,
413 : SQL_TOKEN_TIMEVALUE = 433,
414 : SQL_TOKEN_WEEK = 434,
415 : SQL_TOKEN_YEAR = 435,
416 : SQL_TOKEN_ABS = 436,
417 : SQL_TOKEN_ACOS = 437,
418 : SQL_TOKEN_ASIN = 438,
419 : SQL_TOKEN_ATAN = 439,
420 : SQL_TOKEN_ATAN2 = 440,
421 : SQL_TOKEN_CEILING = 441,
422 : SQL_TOKEN_COS = 442,
423 : SQL_TOKEN_COT = 443,
424 : SQL_TOKEN_DEGREES = 444,
425 : SQL_TOKEN_EXP = 445,
426 : SQL_TOKEN_FLOOR = 446,
427 : SQL_TOKEN_LOGF = 447,
428 : SQL_TOKEN_LOG = 448,
429 : SQL_TOKEN_LN = 449,
430 : SQL_TOKEN_LOG10 = 450,
431 : SQL_TOKEN_MOD = 451,
432 : SQL_TOKEN_PI = 452,
433 : SQL_TOKEN_POWER = 453,
434 : SQL_TOKEN_RADIANS = 454,
435 : SQL_TOKEN_RAND = 455,
436 : SQL_TOKEN_ROUNDMAGIC = 456,
437 : SQL_TOKEN_ROUND = 457,
438 : SQL_TOKEN_SIGN = 458,
439 : SQL_TOKEN_SIN = 459,
440 : SQL_TOKEN_SQRT = 460,
441 : SQL_TOKEN_TAN = 461,
442 : SQL_TOKEN_TRUNCATE = 462,
443 : SQL_TOKEN_EVERY = 463,
444 : SQL_TOKEN_INTERSECTION = 464,
445 : SQL_TOKEN_FUSION = 465,
446 : SQL_TOKEN_COLLECT = 466,
447 : SQL_TOKEN_VAR_POP = 467,
448 : SQL_TOKEN_VAR_SAMP = 468,
449 : SQL_TOKEN_STDDEV_SAMP = 469,
450 : SQL_TOKEN_STDDEV_POP = 470,
451 : SQL_TOKEN_RANK = 471,
452 : SQL_TOKEN_DENSE_RANK = 472,
453 : SQL_TOKEN_PERCENT_RANK = 473,
454 : SQL_TOKEN_CUME_DIST = 474,
455 : SQL_TOKEN_PERCENTILE_CONT = 475,
456 : SQL_TOKEN_PERCENTILE_DISC = 476,
457 : SQL_TOKEN_WITHIN = 477,
458 : SQL_TOKEN_ARRAY_AGG = 478,
459 : SQL_TOKEN_CASE = 479,
460 : SQL_TOKEN_THEN = 480,
461 : SQL_TOKEN_END = 481,
462 : SQL_TOKEN_NULLIF = 482,
463 : SQL_TOKEN_COALESCE = 483,
464 : SQL_TOKEN_WHEN = 484,
465 : SQL_TOKEN_ELSE = 485,
466 : SQL_TOKEN_BEFORE = 486,
467 : SQL_TOKEN_AFTER = 487,
468 : SQL_TOKEN_INSTEAD = 488,
469 : SQL_TOKEN_EACH = 489,
470 : SQL_TOKEN_REFERENCING = 490,
471 : SQL_TOKEN_BEGIN = 491,
472 : SQL_TOKEN_ATOMIC = 492,
473 : SQL_TOKEN_TRIGGER = 493,
474 : SQL_TOKEN_ROW = 494,
475 : SQL_TOKEN_STATEMENT = 495,
476 : SQL_TOKEN_NEW = 496,
477 : SQL_TOKEN_OLD = 497,
478 : SQL_TOKEN_VALUE = 498,
479 : SQL_TOKEN_CURRENT_CATALOG = 499,
480 : SQL_TOKEN_CURRENT_DEFAULT_TRANSFORM_GROUP = 500,
481 : SQL_TOKEN_CURRENT_PATH = 501,
482 : SQL_TOKEN_CURRENT_ROLE = 502,
483 : SQL_TOKEN_CURRENT_SCHEMA = 503,
484 : SQL_TOKEN_CURRENT_USER = 504,
485 : SQL_TOKEN_SESSION_USER = 505,
486 : SQL_TOKEN_SYSTEM_USER = 506,
487 : SQL_TOKEN_VARCHAR = 507,
488 : SQL_TOKEN_VARBINARY = 508,
489 : SQL_TOKEN_VARYING = 509,
490 : SQL_TOKEN_OBJECT = 510,
491 : SQL_TOKEN_NCLOB = 511,
492 : SQL_TOKEN_NATIONAL = 512,
493 : SQL_TOKEN_LARGE = 513,
494 : SQL_TOKEN_CLOB = 514,
495 : SQL_TOKEN_BLOB = 515,
496 : SQL_TOKEN_BIGINT = 516,
497 : SQL_TOKEN_BINARY = 517,
498 : SQL_TOKEN_WITHOUT = 518,
499 : SQL_TOKEN_BOOLEAN = 519,
500 : SQL_TOKEN_INTERVAL = 520,
501 : SQL_TOKEN_OVER = 521,
502 : SQL_TOKEN_ROW_NUMBER = 522,
503 : SQL_TOKEN_NTILE = 523,
504 : SQL_TOKEN_LEAD = 524,
505 : SQL_TOKEN_LAG = 525,
506 : SQL_TOKEN_RESPECT = 526,
507 : SQL_TOKEN_IGNORE = 527,
508 : SQL_TOKEN_NULLS = 528,
509 : SQL_TOKEN_FIRST_VALUE = 529,
510 : SQL_TOKEN_LAST_VALUE = 530,
511 : SQL_TOKEN_NTH_VALUE = 531,
512 : SQL_TOKEN_FIRST = 532,
513 : SQL_TOKEN_LAST = 533,
514 : SQL_TOKEN_EXCLUDE = 534,
515 : SQL_TOKEN_OTHERS = 535,
516 : SQL_TOKEN_TIES = 536,
517 : SQL_TOKEN_FOLLOWING = 537,
518 : SQL_TOKEN_UNBOUNDED = 538,
519 : SQL_TOKEN_PRECEDING = 539,
520 : SQL_TOKEN_RANGE = 540,
521 : SQL_TOKEN_ROWS = 541,
522 : SQL_TOKEN_PARTITION = 542,
523 : SQL_TOKEN_WINDOW = 543,
524 : SQL_TOKEN_NO = 544,
525 : SQL_TOKEN_LIMIT = 545,
526 : SQL_TOKEN_OFFSET = 546,
527 : SQL_TOKEN_NEXT = 547,
528 : SQL_TOKEN_ONLY = 548,
529 : SQL_TOKEN_OR = 549,
530 : SQL_TOKEN_AND = 550,
531 : SQL_EQUAL = 551,
532 : SQL_GREAT = 552,
533 : SQL_LESS = 553,
534 : SQL_NOTEQUAL = 554,
535 : SQL_GREATEQ = 555,
536 : SQL_LESSEQ = 556,
537 : SQL_CONCAT = 557,
538 : SQL_TOKEN_INVALIDSYMBOL = 558
539 : };
540 : #endif
541 :
542 :
543 :
544 : #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
545 : typedef union YYSTYPE
546 : {
547 :
548 :
549 : connectivity::OSQLParseNode * pParseNode;
550 :
551 :
552 :
553 : } YYSTYPE;
554 : # define YYSTYPE_IS_TRIVIAL 1
555 : # define yystype YYSTYPE /* obsolescent; will be withdrawn */
556 : # define YYSTYPE_IS_DECLARED 1
557 : #endif
558 :
559 :
560 : /* Copy the second part of user declarations. */
561 :
562 :
563 :
564 : #ifdef short
565 : # undef short
566 : #endif
567 :
568 : #ifdef YYTYPE_UINT8
569 : typedef YYTYPE_UINT8 yytype_uint8;
570 : #else
571 : typedef unsigned char yytype_uint8;
572 : #endif
573 :
574 : #ifdef YYTYPE_INT8
575 : typedef YYTYPE_INT8 yytype_int8;
576 : #elif (defined __STDC__ || defined __C99__FUNC__ \
577 : || defined __cplusplus || defined _MSC_VER)
578 : typedef signed char yytype_int8;
579 : #else
580 : typedef short int yytype_int8;
581 : #endif
582 :
583 : #ifdef YYTYPE_UINT16
584 : typedef YYTYPE_UINT16 yytype_uint16;
585 : #else
586 : typedef unsigned short int yytype_uint16;
587 : #endif
588 :
589 : #ifdef YYTYPE_INT16
590 : typedef YYTYPE_INT16 yytype_int16;
591 : #else
592 : typedef short int yytype_int16;
593 : #endif
594 :
595 : #ifndef YYSIZE_T
596 : # ifdef __SIZE_TYPE__
597 : # define YYSIZE_T __SIZE_TYPE__
598 : # elif defined size_t
599 : # define YYSIZE_T size_t
600 : # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
601 : || defined __cplusplus || defined _MSC_VER)
602 : # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
603 : # define YYSIZE_T size_t
604 : # else
605 : # define YYSIZE_T unsigned int
606 : # endif
607 : #endif
608 :
609 : #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
610 :
611 : #ifndef YY_
612 : # if defined YYENABLE_NLS && YYENABLE_NLS
613 : # if ENABLE_NLS
614 : # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
615 : # define YY_(msgid) dgettext ("bison-runtime", msgid)
616 : # endif
617 : # endif
618 : # ifndef YY_
619 : # define YY_(msgid) msgid
620 : # endif
621 : #endif
622 :
623 : /* Suppress unused-variable warnings by "using" E. */
624 : #if ! defined lint || defined __GNUC__
625 : # define YYUSE(e) ((void) (e))
626 : #else
627 : # define YYUSE(e) /* empty */
628 : #endif
629 :
630 : /* Identity function, used to suppress warnings about constant conditions. */
631 : #ifndef lint
632 : # define YYID(n) (n)
633 : #else
634 : #if (defined __STDC__ || defined __C99__FUNC__ \
635 : || defined __cplusplus || defined _MSC_VER)
636 : static int
637 : YYID (int yyi)
638 : #else
639 : static int
640 : YYID (yyi)
641 : int yyi;
642 : #endif
643 : {
644 : return yyi;
645 : }
646 : #endif
647 :
648 : #if ! defined yyoverflow || YYERROR_VERBOSE
649 :
650 : /* The parser invokes alloca or malloc; define the necessary symbols. */
651 :
652 : # ifdef YYSTACK_USE_ALLOCA
653 : # if YYSTACK_USE_ALLOCA
654 : # ifdef __GNUC__
655 : # define YYSTACK_ALLOC __builtin_alloca
656 : # elif defined __BUILTIN_VA_ARG_INCR
657 : # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
658 : # elif defined _AIX
659 : # define YYSTACK_ALLOC __alloca
660 : # elif defined _MSC_VER
661 : # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
662 : # define alloca _alloca
663 : # else
664 : # define YYSTACK_ALLOC alloca
665 : # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
666 : || defined __cplusplus || defined _MSC_VER)
667 : # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
668 : # ifndef EXIT_SUCCESS
669 : # define EXIT_SUCCESS 0
670 : # endif
671 : # endif
672 : # endif
673 : # endif
674 : # endif
675 :
676 : # ifdef YYSTACK_ALLOC
677 : /* Pacify GCC's `empty if-body' warning. */
678 : # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
679 : # ifndef YYSTACK_ALLOC_MAXIMUM
680 : /* The OS might guarantee only one guard page at the bottom of the stack,
681 : and a page size can be as small as 4096 bytes. So we cannot safely
682 : invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
683 : to allow for a few compiler-allocated temporary stack slots. */
684 : # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
685 : # endif
686 : # else
687 : # define YYSTACK_ALLOC YYMALLOC
688 : # define YYSTACK_FREE YYFREE
689 : # ifndef YYSTACK_ALLOC_MAXIMUM
690 : # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
691 : # endif
692 : # if (defined __cplusplus && ! defined EXIT_SUCCESS \
693 : && ! ((defined YYMALLOC || defined malloc) \
694 : && (defined YYFREE || defined free)))
695 : # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
696 : # ifndef EXIT_SUCCESS
697 : # define EXIT_SUCCESS 0
698 : # endif
699 : # endif
700 : # ifndef YYMALLOC
701 : # define YYMALLOC malloc
702 : # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
703 : || defined __cplusplus || defined _MSC_VER)
704 : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
705 : # endif
706 : # endif
707 : # ifndef YYFREE
708 : # define YYFREE free
709 : # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
710 : || defined __cplusplus || defined _MSC_VER)
711 : void free (void *); /* INFRINGES ON USER NAME SPACE */
712 : # endif
713 : # endif
714 : # endif
715 : #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
716 :
717 :
718 : #if (! defined yyoverflow \
719 : && (! defined __cplusplus \
720 : || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
721 :
722 : /* A type that is properly aligned for any stack member. */
723 : union yyalloc
724 : {
725 : yytype_int16 yyss_alloc;
726 : YYSTYPE yyvs_alloc;
727 : };
728 :
729 : /* The size of the maximum gap between one aligned stack and the next. */
730 : # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
731 :
732 : /* The size of an array large to enough to hold all stacks, each with
733 : N elements. */
734 : # define YYSTACK_BYTES(N) \
735 : ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
736 : + YYSTACK_GAP_MAXIMUM)
737 :
738 : # define YYCOPY_NEEDED 1
739 :
740 : /* Relocate STACK from its old location to the new one. The
741 : local variables YYSIZE and YYSTACKSIZE give the old and new number of
742 : elements in the stack, and YYPTR gives the new location of the
743 : stack. Advance YYPTR to a properly aligned location for the next
744 : stack. */
745 : # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
746 : do \
747 : { \
748 : YYSIZE_T yynewbytes; \
749 : YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
750 : Stack = &yyptr->Stack_alloc; \
751 : yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
752 : yyptr += yynewbytes / sizeof (*yyptr); \
753 : } \
754 : while (YYID (0))
755 :
756 : #endif
757 :
758 : #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
759 : /* Copy COUNT objects from FROM to TO. The source and destination do
760 : not overlap. */
761 : # ifndef YYCOPY
762 : # if defined __GNUC__ && 1 < __GNUC__
763 : # define YYCOPY(To, From, Count) \
764 : __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
765 : # else
766 : # define YYCOPY(To, From, Count) \
767 : do \
768 : { \
769 : YYSIZE_T yyi; \
770 : for (yyi = 0; yyi < (Count); yyi++) \
771 : (To)[yyi] = (From)[yyi]; \
772 : } \
773 : while (YYID (0))
774 : # endif
775 : # endif
776 : #endif /* !YYCOPY_NEEDED */
777 :
778 : /* YYFINAL -- State number of the termination state. */
779 : #define YYFINAL 373
780 : /* YYLAST -- Last index in YYTABLE. */
781 : #define YYLAST 8637
782 :
783 : /* YYNTOKENS -- Number of terminals. */
784 : #define YYNTOKENS 325
785 : /* YYNNTS -- Number of nonterminals. */
786 : #define YYNNTS 345
787 : /* YYNRULES -- Number of rules. */
788 : #define YYNRULES 791
789 : /* YYNRULES -- Number of states. */
790 : #define YYNSTATES 1310
791 :
792 : /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
793 : #define YYUNDEFTOK 2
794 : #define YYMAXUTOK 558
795 :
796 : #define YYTRANSLATE(YYX) \
797 : ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
798 :
799 : /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
800 : static const yytype_uint16 yytranslate[] =
801 : {
802 : 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
803 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
804 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
805 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
806 : 3, 4, 321, 318, 5, 319, 13, 322, 2, 2,
807 : 2, 2, 2, 2, 2, 2, 2, 2, 6, 7,
808 : 2, 323, 2, 8, 2, 2, 2, 2, 2, 2,
809 : 2, 16, 2, 2, 2, 14, 2, 15, 2, 2,
810 : 18, 2, 2, 2, 17, 2, 2, 2, 2, 2,
811 : 2, 9, 2, 10, 2, 2, 2, 2, 2, 2,
812 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
813 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
814 : 2, 2, 2, 11, 2, 12, 2, 2, 2, 2,
815 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
816 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
817 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
818 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
819 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
820 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
821 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
822 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
823 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
824 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
825 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
826 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
827 : 2, 2, 2, 2, 2, 2, 1, 2, 19, 20,
828 : 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
829 : 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
830 : 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
831 : 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
832 : 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
833 : 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
834 : 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
835 : 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
836 : 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
837 : 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
838 : 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
839 : 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
840 : 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
841 : 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
842 : 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
843 : 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
844 : 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
845 : 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
846 : 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
847 : 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
848 : 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
849 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
850 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
851 : 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
852 : 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
853 : 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
854 : 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
855 : 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
856 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
857 : 311, 312, 313, 314, 315, 316, 317, 320, 324
858 : };
859 :
860 : #if YYDEBUG
861 : /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
862 : YYRHS. */
863 : static const yytype_uint16 yyprhs[] =
864 : {
865 : 0, 0, 3, 5, 8, 10, 12, 14, 16, 18,
866 : 20, 27, 29, 33, 35, 37, 41, 42, 45, 47,
867 : 49, 52, 55, 57, 60, 63, 66, 69, 71, 76,
868 : 79, 85, 90, 98, 109, 114, 115, 119, 123, 125,
869 : 133, 134, 138, 139, 143, 151, 152, 156, 159, 161,
870 : 163, 167, 169, 172, 174, 177, 180, 182, 184, 188,
871 : 190, 192, 193, 197, 199, 203, 206, 209, 210, 212,
872 : 214, 215, 217, 219, 221, 223, 225, 227, 229, 231,
873 : 233, 237, 239, 244, 247, 252, 257, 263, 268, 270,
874 : 274, 276, 278, 280, 283, 290, 291, 293, 295, 297,
875 : 301, 305, 307, 309, 315, 317, 321, 323, 324, 326,
876 : 328, 333, 335, 337, 338, 340, 344, 345, 347, 349,
877 : 351, 353, 355, 356, 358, 364, 366, 368, 369, 371,
878 : 372, 375, 379, 389, 392, 394, 398, 399, 401, 402,
879 : 404, 405, 409, 412, 416, 418, 423, 427, 430, 431,
880 : 435, 437, 439, 443, 447, 448, 451, 453, 455, 457,
881 : 459, 461, 465, 467, 471, 473, 478, 480, 483, 485,
882 : 489, 491, 495, 497, 499, 501, 503, 505, 507, 509,
883 : 511, 514, 518, 521, 523, 525, 527, 529, 531, 533,
884 : 538, 541, 547, 550, 552, 557, 562, 565, 568, 570,
885 : 572, 573, 576, 581, 585, 588, 590, 592, 596, 600,
886 : 603, 605, 609, 612, 614, 616, 618, 620, 623, 626,
887 : 630, 632, 636, 638, 640, 642, 644, 646, 648, 650,
888 : 653, 656, 659, 662, 663, 666, 668, 675, 680, 682,
889 : 684, 686, 691, 696, 701, 706, 708, 710, 712, 714,
890 : 716, 718, 720, 722, 724, 726, 733, 735, 737, 739,
891 : 741, 743, 745, 747, 749, 751, 753, 755, 757, 759,
892 : 761, 763, 765, 767, 771, 775, 779, 784, 789, 794,
893 : 799, 804, 809, 814, 816, 818, 820, 822, 824, 826,
894 : 828, 830, 832, 834, 836, 838, 840, 842, 844, 846,
895 : 848, 850, 852, 854, 856, 858, 860, 862, 864, 866,
896 : 868, 870, 872, 874, 876, 878, 880, 882, 884, 886,
897 : 888, 890, 892, 894, 896, 898, 900, 902, 904, 906,
898 : 908, 910, 912, 914, 916, 918, 920, 922, 924, 926,
899 : 928, 930, 932, 934, 936, 938, 940, 942, 944, 946,
900 : 948, 950, 952, 954, 956, 958, 960, 962, 964, 966,
901 : 968, 970, 974, 978, 982, 984, 986, 988, 990, 992,
902 : 997, 999, 1001, 1003, 1005, 1006, 1009, 1014, 1015, 1017,
903 : 1024, 1026, 1028, 1030, 1032, 1034, 1037, 1040, 1046, 1048,
904 : 1050, 1051, 1053, 1062, 1064, 1066, 1069, 1072, 1074, 1076,
905 : 1078, 1080, 1081, 1083, 1086, 1090, 1092, 1096, 1098, 1102,
906 : 1103, 1105, 1106, 1108, 1109, 1111, 1116, 1118, 1122, 1126,
907 : 1128, 1131, 1132, 1134, 1138, 1140, 1142, 1144, 1146, 1149,
908 : 1151, 1154, 1157, 1162, 1164, 1166, 1168, 1171, 1173, 1176,
909 : 1180, 1183, 1186, 1190, 1191, 1194, 1199, 1200, 1204, 1206,
910 : 1210, 1211, 1213, 1215, 1218, 1221, 1223, 1225, 1227, 1233,
911 : 1238, 1244, 1246, 1248, 1250, 1252, 1254, 1256, 1258, 1260,
912 : 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280,
913 : 1286, 1294, 1295, 1301, 1303, 1309, 1311, 1313, 1315, 1321,
914 : 1323, 1325, 1327, 1329, 1331, 1333, 1335, 1338, 1340, 1342,
915 : 1343, 1345, 1347, 1350, 1355, 1361, 1367, 1369, 1371, 1376,
916 : 1378, 1380, 1382, 1386, 1388, 1393, 1395, 1397, 1402, 1407,
917 : 1408, 1410, 1412, 1414, 1416, 1418, 1420, 1427, 1429, 1431,
918 : 1433, 1435, 1437, 1439, 1443, 1445, 1447, 1449, 1451, 1454,
919 : 1457, 1459, 1463, 1467, 1469, 1473, 1477, 1479, 1481, 1483,
920 : 1485, 1488, 1490, 1492, 1495, 1497, 1499, 1501, 1503, 1505,
921 : 1507, 1509, 1512, 1514, 1517, 1520, 1523, 1527, 1529, 1533,
922 : 1539, 1547, 1549, 1553, 1557, 1559, 1563, 1569, 1573, 1575,
923 : 1579, 1583, 1585, 1587, 1589, 1591, 1593, 1595, 1599, 1603,
924 : 1605, 1607, 1610, 1612, 1615, 1617, 1619, 1621, 1629, 1631,
925 : 1633, 1634, 1636, 1638, 1640, 1642, 1644, 1645, 1648, 1656,
926 : 1661, 1663, 1665, 1670, 1677, 1684, 1691, 1696, 1701, 1705,
927 : 1709, 1712, 1714, 1716, 1718, 1720, 1723, 1725, 1727, 1729,
928 : 1733, 1737, 1741, 1743, 1745, 1749, 1755, 1763, 1771, 1773,
929 : 1775, 1777, 1778, 1782, 1783, 1785, 1789, 1792, 1794, 1796,
930 : 1798, 1800, 1802, 1805, 1808, 1812, 1816, 1819, 1821, 1822,
931 : 1824, 1828, 1829, 1831, 1835, 1838, 1839, 1841, 1843, 1845,
932 : 1847, 1849, 1854, 1859, 1862, 1866, 1870, 1873, 1878, 1883,
933 : 1887, 1889, 1895, 1900, 1903, 1906, 1910, 1913, 1915, 1920,
934 : 1923, 1925, 1927, 1928, 1932, 1938, 1941, 1944, 1947, 1949,
935 : 1951, 1953, 1955, 1960, 1962, 1964, 1966, 1969, 1971, 1973,
936 : 1977, 1981, 1982, 1986, 1990, 1993, 1995, 1997, 1999, 2001,
937 : 2003, 2005, 2010, 2015, 2020, 2022, 2024, 2030, 2035, 2037,
938 : 2040, 2045, 2047, 2051, 2053, 2055, 2057, 2059, 2061, 2063,
939 : 2065, 2068, 2073, 2074, 2077, 2079, 2081, 2083, 2085, 2088,
940 : 2090, 2094, 2095, 2098, 2100, 2102, 2106, 2116, 2117, 2120,
941 : 2122, 2124, 2127, 2129, 2131, 2134, 2135, 2138, 2140, 2144,
942 : 2145, 2149, 2151, 2153, 2154, 2157, 2159, 2165, 2167, 2171,
943 : 2173, 2175, 2178, 2183, 2188, 2193, 2198, 2200, 2202, 2204,
944 : 2206, 2208
945 : };
946 :
947 : /* YYRHS -- A `-1'-separated list of the rules' RHS. */
948 : static const yytype_int16 yyrhs[] =
949 : {
950 : 326, 0, -1, 327, -1, 327, 7, -1, 355, -1,
951 : 328, -1, 329, -1, 340, -1, 343, -1, 649, -1,
952 : 49, 121, 599, 3, 330, 4, -1, 331, -1, 330,
953 : 5, 331, -1, 332, -1, 337, -1, 629, 605, 333,
954 : -1, -1, 333, 336, -1, 558, -1, 132, -1, 105,
955 : 87, -1, 25, 96, -1, 335, -1, 59, 432, -1,
956 : 59, 96, -1, 59, 137, -1, 59, 334, -1, 43,
957 : -1, 43, 3, 407, 4, -1, 110, 599, -1, 110,
958 : 599, 3, 339, 4, -1, 335, 3, 339, 4, -1,
959 : 72, 87, 3, 339, 4, 110, 599, -1, 72, 87,
960 : 3, 339, 4, 110, 599, 3, 339, 4, -1, 43,
961 : 3, 407, 4, -1, -1, 3, 339, 4, -1, 339,
962 : 5, 629, -1, 629, -1, 49, 140, 599, 342, 32,
963 : 376, 341, -1, -1, 142, 43, 101, -1, -1, 3,
964 : 339, 4, -1, 76, 345, 100, 599, 126, 348, 344,
965 : -1, -1, 142, 76, 101, -1, 28, 106, -1, 346,
966 : -1, 347, -1, 346, 5, 347, -1, 113, -1, 158,
967 : 342, -1, 60, -1, 134, 342, -1, 110, 342, -1,
968 : 136, -1, 349, -1, 348, 5, 349, -1, 108, -1,
969 : 648, -1, -1, 102, 40, 351, -1, 352, -1, 351,
970 : 5, 352, -1, 408, 353, -1, 364, 353, -1, -1,
971 : 33, -1, 61, -1, -1, 25, -1, 357, -1, 358,
972 : -1, 359, -1, 360, -1, 365, -1, 366, -1, 371,
973 : -1, 356, -1, 11, 516, 12, -1, 376, -1, 356,
974 : 131, 546, 376, -1, 45, 143, -1, 60, 74, 599,
975 : 374, -1, 69, 645, 83, 372, -1, 158, 83, 599,
976 : 342, 547, -1, 139, 3, 362, 4, -1, 363, -1,
977 : 362, 5, 363, -1, 364, -1, 575, -1, 59, -1,
978 : 111, 143, -1, 113, 367, 377, 83, 372, 390, -1,
979 : -1, 28, -1, 62, -1, 369, -1, 368, 5, 369,
980 : -1, 629, 312, 370, -1, 575, -1, 59, -1, 134,
981 : 599, 114, 368, 374, -1, 373, -1, 372, 5, 373,
982 : -1, 431, -1, -1, 397, -1, 543, -1, 113, 367,
983 : 377, 390, -1, 321, -1, 429, -1, -1, 379, -1,
984 : 307, 385, 382, -1, -1, 386, -1, 293, -1, 308,
985 : -1, 255, -1, 302, -1, -1, 384, -1, 69, 381,
986 : 380, 382, 309, -1, 432, -1, 432, -1, -1, 389,
987 : -1, -1, 307, 23, -1, 306, 23, 388, -1, 391,
988 : 374, 398, 400, 489, 350, 387, 378, 383, -1, 74,
989 : 392, -1, 396, -1, 392, 5, 396, -1, -1, 32,
990 : -1, -1, 255, -1, -1, 393, 26, 338, -1, 599,
991 : 395, -1, 428, 647, 338, -1, 539, -1, 11, 150,
992 : 539, 12, -1, 3, 539, 4, -1, 141, 407, -1,
993 : -1, 77, 40, 399, -1, 603, -1, 446, -1, 399,
994 : 5, 603, -1, 399, 5, 446, -1, -1, 78, 407,
995 : -1, 130, -1, 68, -1, 133, -1, 96, -1, 408,
996 : -1, 3, 407, 4, -1, 364, -1, 3, 407, 4,
997 : -1, 402, -1, 402, 84, 354, 401, -1, 404, -1,
998 : 25, 404, -1, 405, -1, 406, 311, 405, -1, 406,
999 : -1, 407, 310, 406, -1, 410, -1, 413, -1, 424,
1000 : -1, 426, -1, 427, -1, 419, -1, 422, -1, 416,
1001 : -1, 411, 363, -1, 363, 411, 363, -1, 411, 363,
1002 : -1, 314, -1, 315, -1, 312, -1, 313, -1, 317,
1003 : -1, 316, -1, 84, 354, 62, 74, -1, 84, 354,
1004 : -1, 354, 37, 363, 311, 363, -1, 363, 412, -1,
1005 : 412, -1, 354, 89, 576, 417, -1, 354, 89, 552,
1006 : 417, -1, 363, 414, -1, 363, 415, -1, 414, -1,
1007 : 415, -1, -1, 65, 576, -1, 11, 65, 19, 12,
1008 : -1, 84, 354, 96, -1, 363, 418, -1, 418, -1,
1009 : 428, -1, 3, 572, 4, -1, 354, 79, 420, -1,
1010 : 363, 421, -1, 421, -1, 411, 425, 428, -1, 363,
1011 : 423, -1, 423, -1, 31, -1, 28, -1, 117, -1,
1012 : 67, 428, -1, 132, 428, -1, 3, 547, 4, -1,
1013 : 430, -1, 429, 5, 430, -1, 598, -1, 646, -1,
1014 : 21, -1, 22, -1, 23, -1, 24, -1, 20, -1,
1015 : 432, 19, -1, 432, 21, -1, 432, 22, -1, 432,
1016 : 24, -1, -1, 32, 629, -1, 629, -1, 165, 3,
1017 : 575, 79, 575, 4, -1, 165, 3, 572, 4, -1,
1018 : 434, -1, 443, -1, 439, -1, 154, 3, 575, 4,
1019 : -1, 155, 3, 575, 4, -1, 98, 3, 575, 4,
1020 : -1, 152, 3, 575, 4, -1, 436, -1, 437, -1,
1021 : 438, -1, 564, -1, 191, -1, 442, -1, 440, -1,
1022 : 575, -1, 124, -1, 125, -1, 183, 3, 441, 74,
1023 : 575, 4, -1, 445, -1, 432, -1, 646, -1, 137,
1024 : -1, 96, -1, 68, -1, 130, -1, 259, -1, 260,
1025 : -1, 261, -1, 262, -1, 263, -1, 264, -1, 265,
1026 : -1, 266, -1, 267, -1, 522, -1, 11, 520, 12,
1027 : -1, 453, 3, 4, -1, 447, 3, 4, -1, 448,
1028 : 3, 573, 4, -1, 449, 3, 569, 4, -1, 452,
1029 : 3, 570, 4, -1, 457, 3, 571, 4, -1, 453,
1030 : 3, 574, 4, -1, 450, 3, 574, 4, -1, 451,
1031 : 3, 574, 4, -1, 459, -1, 462, -1, 454, -1,
1032 : 460, -1, 463, -1, 455, -1, 464, -1, 218, -1,
1033 : 195, -1, 208, -1, 209, -1, 162, -1, 190, -1,
1034 : 456, -1, 458, -1, 461, -1, 465, -1, 26, -1,
1035 : 161, -1, 151, -1, 159, -1, 164, -1, 169, -1,
1036 : 171, -1, 173, -1, 166, -1, 160, -1, 168, -1,
1037 : 167, -1, 158, -1, 153, -1, 156, -1, 157, -1,
1038 : 163, -1, 170, -1, 177, -1, 178, -1, 188, -1,
1039 : 181, -1, 180, -1, 182, -1, 186, -1, 179, -1,
1040 : 187, -1, 189, -1, 184, -1, 185, -1, 191, -1,
1041 : 196, -1, 55, -1, 194, -1, 54, -1, 192, -1,
1042 : 193, -1, 213, -1, 197, -1, 198, -1, 199, -1,
1043 : 200, -1, 202, -1, 203, -1, 204, -1, 205, -1,
1044 : 207, -1, 219, -1, 220, -1, 221, -1, 222, -1,
1045 : 206, -1, 211, -1, 210, -1, 215, -1, 217, -1,
1046 : 201, -1, 212, -1, 214, -1, 216, -1, 223, -1,
1047 : 467, 282, 487, -1, 532, 3, 4, -1, 283, 3,
1048 : 4, -1, 522, -1, 468, -1, 474, -1, 480, -1,
1049 : 483, -1, 284, 3, 471, 4, -1, 646, -1, 432,
1050 : -1, 470, -1, 469, -1, -1, 5, 477, -1, 5,
1051 : 477, 5, 478, -1, -1, 479, -1, 475, 3, 476,
1052 : 472, 4, 473, -1, 285, -1, 286, -1, 575, -1,
1053 : 23, -1, 575, -1, 287, 289, -1, 288, 289, -1,
1054 : 481, 3, 575, 4, 473, -1, 290, -1, 291, -1,
1055 : -1, 485, -1, 292, 3, 575, 5, 484, 4, 482,
1056 : 473, -1, 470, -1, 469, -1, 74, 293, -1, 74,
1057 : 294, -1, 26, -1, 486, -1, 488, -1, 494, -1,
1058 : -1, 490, -1, 304, 491, -1, 491, 5, 492, -1,
1059 : 492, -1, 493, 32, 494, -1, 486, -1, 3, 498,
1060 : 4, -1, -1, 499, -1, -1, 500, -1, -1, 504,
1061 : -1, 495, 496, 350, 497, -1, 486, -1, 303, 40,
1062 : 501, -1, 501, 5, 502, -1, 502, -1, 603, 607,
1063 : -1, -1, 514, -1, 505, 506, 503, -1, 302, -1,
1064 : 301, -1, 507, -1, 509, -1, 299, 300, -1, 508,
1065 : -1, 51, 255, -1, 444, 300, -1, 37, 510, 311,
1066 : 511, -1, 512, -1, 512, -1, 507, -1, 299, 298,
1067 : -1, 513, -1, 444, 298, -1, 295, 51, 255, -1,
1068 : 295, 77, -1, 295, 297, -1, 295, 305, 296, -1,
1069 : -1, 8, 312, -1, 515, 145, 599, 517, -1, -1,
1070 : 3, 518, 4, -1, 519, -1, 518, 5, 519, -1,
1071 : -1, 432, -1, 646, -1, 521, 19, -1, 147, 446,
1072 : -1, 146, -1, 148, -1, 149, -1, 523, 3, 367,
1073 : 573, 4, -1, 48, 3, 321, 4, -1, 48, 3,
1074 : 367, 573, 4, -1, 524, -1, 531, -1, 36, -1,
1075 : 92, -1, 93, -1, 120, -1, 224, -1, 31, -1,
1076 : 117, -1, 231, -1, 230, -1, 229, -1, 228, -1,
1077 : 227, -1, 226, -1, 225, -1, 525, -1, 528, -1,
1078 : 532, 3, 527, 4, 526, -1, 532, 3, 527, 40,
1079 : 572, 4, 526, -1, -1, 238, 77, 3, 350, 4,
1080 : -1, 572, -1, 530, 3, 529, 4, 526, -1, 556,
1081 : -1, 236, -1, 237, -1, 239, 3, 575, 350, 4,
1082 : -1, 232, -1, 233, -1, 234, -1, 235, -1, 160,
1083 : -1, 168, -1, 75, -1, 100, 407, -1, 534, -1,
1084 : 540, -1, -1, 81, -1, 533, -1, 533, 103, -1,
1085 : 396, 50, 86, 396, -1, 396, 94, 536, 86, 396,
1086 : -1, 396, 536, 86, 396, 535, -1, 537, -1, 538,
1087 : -1, 138, 3, 339, 4, -1, 376, -1, 361, -1,
1088 : 541, -1, 3, 545, 4, -1, 542, -1, 375, 85,
1089 : 546, 544, -1, 542, -1, 543, -1, 547, 131, 546,
1090 : 375, -1, 547, 66, 546, 375, -1, -1, 28, -1,
1091 : 545, -1, 428, -1, 575, -1, 599, -1, 605, -1,
1092 : 41, 3, 549, 32, 550, 4, -1, 444, -1, 603,
1093 : -1, 446, -1, 548, -1, 630, -1, 466, -1, 3,
1094 : 575, 4, -1, 551, -1, 552, -1, 435, -1, 553,
1095 : -1, 319, 553, -1, 318, 553, -1, 554, -1, 555,
1096 : 321, 554, -1, 555, 322, 554, -1, 555, -1, 556,
1097 : 318, 555, -1, 556, 319, 555, -1, 558, -1, 174,
1098 : -1, 175, -1, 176, -1, 34, 560, -1, 90, -1,
1099 : 557, -1, 557, 559, -1, 561, -1, 562, -1, 196,
1100 : -1, 186, -1, 55, -1, 184, -1, 185, -1, 564,
1101 : 610, -1, 564, -1, 191, 610, -1, 564, 610, -1,
1102 : 191, 622, -1, 565, 126, 566, -1, 567, -1, 573,
1103 : 5, 573, -1, 573, 5, 573, 5, 573, -1, 573,
1104 : 5, 573, 5, 573, 5, 573, -1, 575, -1, 572,
1105 : 5, 575, -1, 572, 7, 575, -1, 642, -1, 575,
1106 : 411, 575, -1, 575, 138, 575, 411, 575, -1, 575,
1107 : 40, 572, -1, 573, -1, 574, 5, 573, -1, 574,
1108 : 7, 573, -1, 556, -1, 576, -1, 563, -1, 577,
1109 : -1, 581, -1, 578, -1, 577, 318, 581, -1, 575,
1110 : 320, 575, -1, 19, -1, 582, -1, 44, 599, -1,
1111 : 579, -1, 579, 580, -1, 588, -1, 583, -1, 584,
1112 : -1, 172, 3, 585, 74, 576, 589, 4, -1, 586,
1113 : -1, 587, -1, -1, 590, -1, 592, -1, 593, -1,
1114 : 594, -1, 595, -1, -1, 71, 575, -1, 172, 3,
1115 : 575, 74, 575, 589, 4, -1, 172, 3, 572, 4,
1116 : -1, 135, -1, 91, -1, 591, 3, 575, 4, -1,
1117 : 47, 3, 576, 138, 599, 4, -1, 47, 3, 549,
1118 : 5, 550, 4, -1, 128, 3, 576, 138, 599, 4,
1119 : -1, 129, 3, 596, 4, -1, 597, 575, 74, 575,
1120 : -1, 597, 74, 575, -1, 575, 74, 575, -1, 74,
1121 : 575, -1, 575, -1, 39, -1, 88, -1, 127, -1,
1122 : 575, 433, -1, 602, -1, 601, -1, 600, -1, 26,
1123 : 13, 601, -1, 26, 6, 601, -1, 26, 13, 602,
1124 : -1, 26, -1, 629, -1, 26, 13, 604, -1, 26,
1125 : 13, 26, 13, 604, -1, 26, 13, 26, 13, 26,
1126 : 13, 604, -1, 26, 6, 26, 13, 26, 13, 604,
1127 : -1, 629, -1, 321, -1, 608, -1, -1, 42, 114,
1128 : 26, -1, -1, 580, -1, 609, 606, 607, -1, 617,
1129 : 607, -1, 619, -1, 621, -1, 625, -1, 626, -1,
1130 : 628, -1, 42, 610, -1, 153, 610, -1, 42, 270,
1131 : 611, -1, 153, 270, 611, -1, 268, 611, -1, 616,
1132 : -1, -1, 611, -1, 3, 23, 4, -1, -1, 613,
1133 : -1, 3, 614, 4, -1, 23, 615, -1, -1, 14,
1134 : -1, 15, -1, 16, -1, 17, -1, 18, -1, 42,
1135 : 274, 271, 612, -1, 153, 274, 271, 612, -1, 275,
1136 : 612, -1, 273, 42, 610, -1, 273, 153, 610, -1,
1137 : 95, 610, -1, 273, 42, 270, 611, -1, 273, 153,
1138 : 270, 611, -1, 95, 270, 611, -1, 618, -1, 273,
1139 : 42, 274, 271, 612, -1, 95, 274, 271, 612, -1,
1140 : 272, 612, -1, 278, 610, -1, 278, 270, 611, -1,
1141 : 269, 611, -1, 620, -1, 278, 274, 271, 612, -1,
1142 : 276, 612, -1, 623, -1, 624, -1, -1, 3, 23,
1143 : 4, -1, 3, 23, 5, 23, 4, -1, 97, 622,
1144 : -1, 57, 622, -1, 56, 622, -1, 116, -1, 82,
1145 : -1, 21, -1, 277, -1, 70, 3, 23, 4, -1,
1146 : 70, -1, 109, -1, 63, -1, 63, 104, -1, 280,
1147 : -1, 53, -1, 122, 610, 627, -1, 123, 610, 627,
1148 : -1, -1, 142, 122, 144, -1, 279, 122, 144, -1,
1149 : 281, 568, -1, 26, -1, 165, -1, 154, -1, 183,
1150 : -1, 631, -1, 632, -1, 243, 3, 572, 4, -1,
1151 : 244, 3, 575, 4, -1, 244, 3, 572, 4, -1,
1152 : 633, -1, 634, -1, 240, 644, 635, 641, 242, -1,
1153 : 240, 639, 641, 242, -1, 636, -1, 639, 636, -1,
1154 : 245, 637, 241, 642, -1, 638, -1, 637, 5, 638,
1155 : -1, 364, -1, 409, -1, 412, -1, 421, -1, 414,
1156 : -1, 418, -1, 640, -1, 639, 640, -1, 245, 407,
1157 : 241, 642, -1, -1, 246, 642, -1, 643, -1, 575,
1158 : -1, 364, -1, 26, -1, 6, 26, -1, 8, -1,
1159 : 9, 26, 10, -1, -1, 393, 26, -1, 26, -1,
1160 : 407, -1, 3, 327, 4, -1, 49, 254, 669, 651,
1161 : 652, 100, 602, 650, 655, -1, -1, 251, 662, -1,
1162 : 247, -1, 248, -1, 249, 99, -1, 158, -1, 60,
1163 : -1, 134, 653, -1, -1, 99, 654, -1, 339, -1,
1164 : 656, 658, 659, -1, -1, 71, 250, 657, -1, 255,
1165 : -1, 256, -1, -1, 245, 403, -1, 661, -1, 252,
1166 : 253, 660, 7, 242, -1, 661, -1, 660, 7, 661,
1167 : -1, 327, -1, 663, -1, 662, 663, -1, 258, 394,
1168 : 393, 667, -1, 257, 394, 393, 668, -1, 258, 121,
1169 : 393, 664, -1, 257, 121, 393, 665, -1, 666, -1,
1170 : 666, -1, 26, -1, 26, -1, 26, -1, 26, -1
1171 : };
1172 :
1173 : /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1174 : static const yytype_uint16 yyrline[] =
1175 : {
1176 : 0, 308, 308, 310, 318, 319, 377, 378, 379, 380,
1177 : 384, 395, 398, 404, 405, 409, 418, 419, 425, 428,
1178 : 429, 437, 441, 442, 446, 450, 454, 460, 461, 467,
1179 : 471, 481, 487, 496, 508, 516, 517, 525, 528, 534,
1180 : 546, 547, 555, 556, 564, 577, 578, 586, 590, 594,
1181 : 597, 603, 604, 608, 609, 613, 617, 622, 625, 631,
1182 : 632, 638, 639, 647, 650, 661, 666, 673, 674, 675,
1183 : 691, 692, 698, 700, 701, 702, 703, 704, 706, 707,
1184 : 708, 718, 719, 729, 748, 757, 766, 775, 785, 788,
1185 : 801, 812, 813, 818, 827, 838, 839, 840, 859, 862,
1186 : 868, 875, 876, 879, 889, 892, 898, 902, 903, 909,
1187 : 917, 928, 933, 936, 937, 940, 949, 950, 953, 954,
1188 : 957, 958, 961, 962, 965, 976, 979, 983, 984, 987,
1189 : 988, 996, 1005, 1021, 1029, 1032, 1038, 1039, 1042, 1043,
1190 : 1046, 1047, 1055, 1061, 1068, 1069, 1077, 1086, 1093, 1094,
1191 : 1102, 1105, 1108, 1111, 1117, 1118, 1126, 1127, 1128, 1129,
1192 : 1132, 1133, 1140, 1166, 1175, 1176, 1186, 1187, 1195, 1196,
1193 : 1205, 1206, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
1194 : 1225, 1232, 1239, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
1195 : 1278, 1286, 1324, 1330, 1333, 1343, 1353, 1359, 1365, 1387,
1196 : 1412, 1413, 1417, 1428, 1437, 1443, 1459, 1463, 1471, 1480,
1197 : 1486, 1502, 1511, 1517, 1534, 1535, 1536, 1540, 1546, 1552,
1198 : 1561, 1566, 1581, 1586, 1618, 1619, 1620, 1621, 1622, 1624,
1199 : 1636, 1648, 1660, 1676, 1677, 1683, 1686, 1696, 1706, 1707,
1200 : 1708, 1711, 1719, 1730, 1740, 1750, 1755, 1760, 1767, 1772,
1201 : 1779, 1780, 1781, 1784, 1789, 1808, 1820, 1821, 1824, 1825,
1202 : 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835,
1203 : 1836, 1837, 1840, 1841, 1848, 1855, 1862, 1870, 1878, 1886,
1204 : 1894, 1902, 1915, 1930, 1931, 1934, 1935, 1936, 1939, 1940,
1205 : 1943, 1944, 1945, 1946, 1949, 1950, 1953, 1956, 1957, 1958,
1206 : 1959, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1972, 1973,
1207 : 1974, 1977, 1980, 1984, 1985, 1986, 1987, 1988, 1991, 1992,
1208 : 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
1209 : 2005, 2006, 2007, 2008, 2009, 2013, 2014, 2017, 2020, 2021,
1210 : 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
1211 : 2032, 2033, 2034, 2035, 2036, 2037, 2040, 2041, 2042, 2045,
1212 : 2046, 2050, 2059, 2066, 2073, 2074, 2075, 2076, 2077, 2080,
1213 : 2090, 2093, 2096, 2097, 2100, 2101, 2107, 2117, 2118, 2122,
1214 : 2134, 2135, 2138, 2141, 2144, 2147, 2148, 2151, 2162, 2163,
1215 : 2166, 2167, 2170, 2184, 2185, 2188, 2194, 2202, 2205, 2206,
1216 : 2209, 2212, 2213, 2216, 2224, 2227, 2232, 2241, 2244, 2253,
1217 : 2254, 2257, 2258, 2261, 2262, 2265, 2271, 2274, 2283, 2286,
1218 : 2291, 2299, 2300, 2303, 2312, 2313, 2316, 2317, 2320, 2326,
1219 : 2327, 2335, 2343, 2353, 2356, 2359, 2360, 2366, 2369, 2377,
1220 : 2384, 2390, 2396, 2405, 2406, 2414, 2425, 2426, 2436, 2439,
1221 : 2446, 2447, 2448, 2452, 2458, 2467, 2468, 2469, 2473, 2482,
1222 : 2490, 2499, 2500, 2503, 2504, 2505, 2506, 2507, 2508, 2509,
1223 : 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2520, 2521, 2524,
1224 : 2533, 2547, 2550, 2561, 2565, 2575, 2578, 2579, 2583, 2595,
1225 : 2596, 2597, 2598, 2601, 2606, 2611, 2618, 2626, 2627, 2630,
1226 : 2631, 2636, 2637, 2645, 2657, 2666, 2675, 2678, 2681, 2691,
1227 : 2692, 2696, 2697, 2706, 2707, 2717, 2720, 2721, 2729, 2739,
1228 : 2740, 2743, 2746, 2749, 2752, 2753, 2756, 2768, 2769, 2770,
1229 : 2771, 2772, 2773, 2774, 2781, 2785, 2786, 2789, 2790, 2796,
1230 : 2805, 2806, 2813, 2823, 2824, 2831, 2845, 2852, 2857, 2862,
1231 : 2869, 2877, 2891, 2896, 2904, 2930, 2991, 2992, 2993, 2994,
1232 : 2995, 2998, 3006, 3007, 3016, 3022, 3031, 3038, 3042, 3048,
1233 : 3057, 3067, 3070, 3074, 3086, 3087, 3094, 3102, 3111, 3114,
1234 : 3118, 3131, 3132, 3133, 3140, 3148, 3149, 3152, 3159, 3169,
1235 : 3170, 3173, 3181, 3182, 3190, 3191, 3194, 3201, 3214, 3238,
1236 : 3245, 3258, 3259, 3260, 3265, 3270, 3277, 3278, 3286, 3297,
1237 : 3307, 3308, 3311, 3321, 3331, 3343, 3355, 3365, 3373, 3380,
1238 : 3387, 3393, 3397, 3398, 3399, 3403, 3412, 3413, 3414, 3417,
1239 : 3424, 3433, 3443, 3449, 3458, 3464, 3471, 3481, 3505, 3508,
1240 : 3515, 3518, 3519, 3528, 3529, 3532, 3539, 3545, 3546, 3547,
1241 : 3548, 3549, 3552, 3558, 3564, 3571, 3578, 3584, 3587, 3588,
1242 : 3591, 3600, 3601, 3604, 3614, 3622, 3623, 3628, 3633, 3638,
1243 : 3643, 3650, 3658, 3666, 3674, 3681, 3688, 3694, 3702, 3710,
1244 : 3717, 3720, 3729, 3737, 3745, 3751, 3758, 3764, 3767, 3775,
1245 : 3783, 3784, 3787, 3788, 3795, 3806, 3812, 3818, 3824, 3825,
1246 : 3826, 3827, 3830, 3838, 3839, 3840, 3841, 3849, 3852, 3853,
1247 : 3860, 3869, 3870, 3877, 3886, 3896, 3897, 3903, 3909, 3917,
1248 : 3918, 3921, 3929, 3937, 3947, 3948, 3951, 3962, 3972, 3977,
1249 : 3984, 3994, 3997, 4002, 4003, 4004, 4005, 4006, 4007, 4010,
1250 : 4015, 4022, 4032, 4033, 4041, 4044, 4047, 4050, 4063, 4067,
1251 : 4070, 4085, 4086, 4093, 4098, 4112, 4115, 4130, 4133, 4141,
1252 : 4142, 4143, 4151, 4152, 4153, 4161, 4164, 4172, 4175, 4184,
1253 : 4187, 4196, 4197, 4200, 4203, 4211, 4212, 4223, 4228, 4235,
1254 : 4239, 4244, 4252, 4260, 4268, 4276, 4286, 4289, 4292, 4295,
1255 : 4298, 4301
1256 : };
1257 : #endif
1258 :
1259 : #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1260 : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1261 : First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1262 : static const char *const yytname[] =
1263 : {
1264 : "$end", "error", "$undefined", "'('", "')'", "','", "':'", "';'", "'?'",
1265 : "'['", "']'", "'{'", "'}'", "'.'", "'K'", "'M'", "'G'", "'T'", "'P'",
1266 : "SQL_TOKEN_STRING", "SQL_TOKEN_ACCESS_DATE", "SQL_TOKEN_INT",
1267 : "SQL_TOKEN_REAL_NUM", "SQL_TOKEN_INTNUM", "SQL_TOKEN_APPROXNUM",
1268 : "SQL_TOKEN_NOT", "SQL_TOKEN_NAME", "SQL_TOKEN_UMINUS", "SQL_TOKEN_ALL",
1269 : "SQL_TOKEN_ALTER", "SQL_TOKEN_AMMSC", "SQL_TOKEN_ANY", "SQL_TOKEN_AS",
1270 : "SQL_TOKEN_ASC", "SQL_TOKEN_AT", "SQL_TOKEN_AUTHORIZATION",
1271 : "SQL_TOKEN_AVG", "SQL_TOKEN_BETWEEN", "SQL_TOKEN_BIT", "SQL_TOKEN_BOTH",
1272 : "SQL_TOKEN_BY", "SQL_TOKEN_CAST", "SQL_TOKEN_CHARACTER",
1273 : "SQL_TOKEN_CHECK", "SQL_TOKEN_COLLATE", "SQL_TOKEN_COMMIT",
1274 : "SQL_TOKEN_CONTINUE", "SQL_TOKEN_CONVERT", "SQL_TOKEN_COUNT",
1275 : "SQL_TOKEN_CREATE", "SQL_TOKEN_CROSS", "SQL_TOKEN_CURRENT",
1276 : "SQL_TOKEN_CURSOR", "SQL_TOKEN_DATE", "SQL_TOKEN_DATEVALUE",
1277 : "SQL_TOKEN_DAY", "SQL_TOKEN_DEC", "SQL_TOKEN_DECIMAL",
1278 : "SQL_TOKEN_DECLARE", "SQL_TOKEN_DEFAULT", "SQL_TOKEN_DELETE",
1279 : "SQL_TOKEN_DESC", "SQL_TOKEN_DISTINCT", "SQL_TOKEN_DOUBLE",
1280 : "SQL_TOKEN_DROP", "SQL_TOKEN_ESCAPE", "SQL_TOKEN_EXCEPT",
1281 : "SQL_TOKEN_EXISTS", "SQL_TOKEN_FALSE", "SQL_TOKEN_FETCH",
1282 : "SQL_TOKEN_FLOAT", "SQL_TOKEN_FOR", "SQL_TOKEN_FOREIGN",
1283 : "SQL_TOKEN_FOUND", "SQL_TOKEN_FROM", "SQL_TOKEN_FULL", "SQL_TOKEN_GRANT",
1284 : "SQL_TOKEN_GROUP", "SQL_TOKEN_HAVING", "SQL_TOKEN_IN",
1285 : "SQL_TOKEN_INDICATOR", "SQL_TOKEN_INNER", "SQL_TOKEN_INTEGER",
1286 : "SQL_TOKEN_INTO", "SQL_TOKEN_IS", "SQL_TOKEN_INTERSECT",
1287 : "SQL_TOKEN_JOIN", "SQL_TOKEN_KEY", "SQL_TOKEN_LEADING", "SQL_TOKEN_LIKE",
1288 : "SQL_TOKEN_LOCAL", "SQL_TOKEN_LOWER", "SQL_TOKEN_MAX", "SQL_TOKEN_MIN",
1289 : "SQL_TOKEN_NATURAL", "SQL_TOKEN_NCHAR", "SQL_TOKEN_NULL",
1290 : "SQL_TOKEN_NUMERIC", "SQL_TOKEN_OCTET_LENGTH", "SQL_TOKEN_OF",
1291 : "SQL_TOKEN_ON", "SQL_TOKEN_OPTION", "SQL_TOKEN_ORDER", "SQL_TOKEN_OUTER",
1292 : "SQL_TOKEN_PRECISION", "SQL_TOKEN_PRIMARY", "SQL_TOKEN_PRIVILEGES",
1293 : "SQL_TOKEN_PROCEDURE", "SQL_TOKEN_PUBLIC", "SQL_TOKEN_REAL",
1294 : "SQL_TOKEN_REFERENCES", "SQL_TOKEN_ROLLBACK", "SQL_TOKEN_SCHEMA",
1295 : "SQL_TOKEN_SELECT", "SQL_TOKEN_SET", "SQL_TOKEN_SIZE",
1296 : "SQL_TOKEN_SMALLINT", "SQL_TOKEN_SOME", "SQL_TOKEN_SQLCODE",
1297 : "SQL_TOKEN_SQLERROR", "SQL_TOKEN_SUM", "SQL_TOKEN_TABLE",
1298 : "SQL_TOKEN_TIME", "SQL_TOKEN_TIMESTAMP", "SQL_TOKEN_TIMEZONE_HOUR",
1299 : "SQL_TOKEN_TIMEZONE_MINUTE", "SQL_TOKEN_TO", "SQL_TOKEN_TRAILING",
1300 : "SQL_TOKEN_TRANSLATE", "SQL_TOKEN_TRIM", "SQL_TOKEN_TRUE",
1301 : "SQL_TOKEN_UNION", "SQL_TOKEN_UNIQUE", "SQL_TOKEN_UNKNOWN",
1302 : "SQL_TOKEN_UPDATE", "SQL_TOKEN_UPPER", "SQL_TOKEN_USAGE",
1303 : "SQL_TOKEN_USER", "SQL_TOKEN_USING", "SQL_TOKEN_VALUES",
1304 : "SQL_TOKEN_VIEW", "SQL_TOKEN_WHERE", "SQL_TOKEN_WITH", "SQL_TOKEN_WORK",
1305 : "SQL_TOKEN_ZONE", "SQL_TOKEN_CALL", "SQL_TOKEN_D", "SQL_TOKEN_FN",
1306 : "SQL_TOKEN_T", "SQL_TOKEN_TS", "SQL_TOKEN_OJ", "SQL_TOKEN_ASCII",
1307 : "SQL_TOKEN_BIT_LENGTH", "SQL_TOKEN_CHAR", "SQL_TOKEN_CHAR_LENGTH",
1308 : "SQL_TOKEN_SQL_TOKEN_INTNUM", "SQL_TOKEN_CONCAT", "SQL_TOKEN_DIFFERENCE",
1309 : "SQL_TOKEN_INSERT", "SQL_TOKEN_LCASE", "SQL_TOKEN_LEFT",
1310 : "SQL_TOKEN_LENGTH", "SQL_TOKEN_LOCATE", "SQL_TOKEN_LOCATE_2",
1311 : "SQL_TOKEN_LTRIM", "SQL_TOKEN_POSITION", "SQL_TOKEN_REPEAT",
1312 : "SQL_TOKEN_REPLACE", "SQL_TOKEN_RIGHT", "SQL_TOKEN_RTRIM",
1313 : "SQL_TOKEN_SOUNDEX", "SQL_TOKEN_SPACE", "SQL_TOKEN_SUBSTRING",
1314 : "SQL_TOKEN_UCASE", "SQL_TOKEN_CURRENT_DATE", "SQL_TOKEN_CURRENT_TIME",
1315 : "SQL_TOKEN_CURRENT_TIMESTAMP", "SQL_TOKEN_CURDATE", "SQL_TOKEN_CURTIME",
1316 : "SQL_TOKEN_DAYNAME", "SQL_TOKEN_DAYOFMONTH", "SQL_TOKEN_DAYOFWEEK",
1317 : "SQL_TOKEN_DAYOFYEAR", "SQL_TOKEN_EXTRACT", "SQL_TOKEN_HOUR",
1318 : "SQL_TOKEN_MINUTE", "SQL_TOKEN_MONTH", "SQL_TOKEN_MONTHNAME",
1319 : "SQL_TOKEN_NOW", "SQL_TOKEN_QUARTER", "SQL_TOKEN_DATEDIFF",
1320 : "SQL_TOKEN_SECOND", "SQL_TOKEN_TIMESTAMPADD", "SQL_TOKEN_TIMESTAMPDIFF",
1321 : "SQL_TOKEN_TIMEVALUE", "SQL_TOKEN_WEEK", "SQL_TOKEN_YEAR",
1322 : "SQL_TOKEN_ABS", "SQL_TOKEN_ACOS", "SQL_TOKEN_ASIN", "SQL_TOKEN_ATAN",
1323 : "SQL_TOKEN_ATAN2", "SQL_TOKEN_CEILING", "SQL_TOKEN_COS", "SQL_TOKEN_COT",
1324 : "SQL_TOKEN_DEGREES", "SQL_TOKEN_EXP", "SQL_TOKEN_FLOOR",
1325 : "SQL_TOKEN_LOGF", "SQL_TOKEN_LOG", "SQL_TOKEN_LN", "SQL_TOKEN_LOG10",
1326 : "SQL_TOKEN_MOD", "SQL_TOKEN_PI", "SQL_TOKEN_POWER", "SQL_TOKEN_RADIANS",
1327 : "SQL_TOKEN_RAND", "SQL_TOKEN_ROUNDMAGIC", "SQL_TOKEN_ROUND",
1328 : "SQL_TOKEN_SIGN", "SQL_TOKEN_SIN", "SQL_TOKEN_SQRT", "SQL_TOKEN_TAN",
1329 : "SQL_TOKEN_TRUNCATE", "SQL_TOKEN_EVERY", "SQL_TOKEN_INTERSECTION",
1330 : "SQL_TOKEN_FUSION", "SQL_TOKEN_COLLECT", "SQL_TOKEN_VAR_POP",
1331 : "SQL_TOKEN_VAR_SAMP", "SQL_TOKEN_STDDEV_SAMP", "SQL_TOKEN_STDDEV_POP",
1332 : "SQL_TOKEN_RANK", "SQL_TOKEN_DENSE_RANK", "SQL_TOKEN_PERCENT_RANK",
1333 : "SQL_TOKEN_CUME_DIST", "SQL_TOKEN_PERCENTILE_CONT",
1334 : "SQL_TOKEN_PERCENTILE_DISC", "SQL_TOKEN_WITHIN", "SQL_TOKEN_ARRAY_AGG",
1335 : "SQL_TOKEN_CASE", "SQL_TOKEN_THEN", "SQL_TOKEN_END", "SQL_TOKEN_NULLIF",
1336 : "SQL_TOKEN_COALESCE", "SQL_TOKEN_WHEN", "SQL_TOKEN_ELSE",
1337 : "SQL_TOKEN_BEFORE", "SQL_TOKEN_AFTER", "SQL_TOKEN_INSTEAD",
1338 : "SQL_TOKEN_EACH", "SQL_TOKEN_REFERENCING", "SQL_TOKEN_BEGIN",
1339 : "SQL_TOKEN_ATOMIC", "SQL_TOKEN_TRIGGER", "SQL_TOKEN_ROW",
1340 : "SQL_TOKEN_STATEMENT", "SQL_TOKEN_NEW", "SQL_TOKEN_OLD",
1341 : "SQL_TOKEN_VALUE", "SQL_TOKEN_CURRENT_CATALOG",
1342 : "SQL_TOKEN_CURRENT_DEFAULT_TRANSFORM_GROUP", "SQL_TOKEN_CURRENT_PATH",
1343 : "SQL_TOKEN_CURRENT_ROLE", "SQL_TOKEN_CURRENT_SCHEMA",
1344 : "SQL_TOKEN_CURRENT_USER", "SQL_TOKEN_SESSION_USER",
1345 : "SQL_TOKEN_SYSTEM_USER", "SQL_TOKEN_VARCHAR", "SQL_TOKEN_VARBINARY",
1346 : "SQL_TOKEN_VARYING", "SQL_TOKEN_OBJECT", "SQL_TOKEN_NCLOB",
1347 : "SQL_TOKEN_NATIONAL", "SQL_TOKEN_LARGE", "SQL_TOKEN_CLOB",
1348 : "SQL_TOKEN_BLOB", "SQL_TOKEN_BIGINT", "SQL_TOKEN_BINARY",
1349 : "SQL_TOKEN_WITHOUT", "SQL_TOKEN_BOOLEAN", "SQL_TOKEN_INTERVAL",
1350 : "SQL_TOKEN_OVER", "SQL_TOKEN_ROW_NUMBER", "SQL_TOKEN_NTILE",
1351 : "SQL_TOKEN_LEAD", "SQL_TOKEN_LAG", "SQL_TOKEN_RESPECT",
1352 : "SQL_TOKEN_IGNORE", "SQL_TOKEN_NULLS", "SQL_TOKEN_FIRST_VALUE",
1353 : "SQL_TOKEN_LAST_VALUE", "SQL_TOKEN_NTH_VALUE", "SQL_TOKEN_FIRST",
1354 : "SQL_TOKEN_LAST", "SQL_TOKEN_EXCLUDE", "SQL_TOKEN_OTHERS",
1355 : "SQL_TOKEN_TIES", "SQL_TOKEN_FOLLOWING", "SQL_TOKEN_UNBOUNDED",
1356 : "SQL_TOKEN_PRECEDING", "SQL_TOKEN_RANGE", "SQL_TOKEN_ROWS",
1357 : "SQL_TOKEN_PARTITION", "SQL_TOKEN_WINDOW", "SQL_TOKEN_NO",
1358 : "SQL_TOKEN_LIMIT", "SQL_TOKEN_OFFSET", "SQL_TOKEN_NEXT",
1359 : "SQL_TOKEN_ONLY", "SQL_TOKEN_OR", "SQL_TOKEN_AND", "SQL_EQUAL",
1360 : "SQL_GREAT", "SQL_LESS", "SQL_NOTEQUAL", "SQL_GREATEQ", "SQL_LESSEQ",
1361 : "'+'", "'-'", "SQL_CONCAT", "'*'", "'/'", "'='",
1362 : "SQL_TOKEN_INVALIDSYMBOL", "$accept", "sql_single_statement", "sql",
1363 : "schema_element", "base_table_def", "base_table_element_commalist",
1364 : "base_table_element", "column_def", "column_def_opt_list", "nil_fkt",
1365 : "unique_spec", "column_def_opt", "table_constraint_def",
1366 : "op_column_commalist", "column_commalist", "view_def",
1367 : "opt_with_check_option", "opt_column_commalist", "privilege_def",
1368 : "opt_with_grant_option", "privileges", "operation_commalist",
1369 : "operation", "grantee_commalist", "grantee", "opt_order_by_clause",
1370 : "ordering_spec_commalist", "ordering_spec", "opt_asc_desc", "sql_not",
1371 : "manipulative_statement", "union_statement", "commit_statement",
1372 : "delete_statement_searched", "fetch_statement", "insert_statement",
1373 : "values_or_query_spec", "table_value_const_list",
1374 : "row_value_constructor", "row_value_constructor_elem",
1375 : "rollback_statement", "select_statement_into", "opt_all_distinct",
1376 : "assignment_commalist", "assignment", "update_source",
1377 : "update_statement_searched", "target_commalist", "target",
1378 : "opt_where_clause", "query_term", "select_statement", "selection",
1379 : "opt_result_offset_clause", "result_offset_clause",
1380 : "opt_fetch_first_row_count", "first_or_next", "row_or_rows",
1381 : "opt_fetch_first_clause", "fetch_first_clause", "offset_row_count",
1382 : "fetch_first_row_count", "opt_limit_offset_clause", "opt_offset",
1383 : "limit_offset_clause", "table_exp", "from_clause", "table_ref_commalist",
1384 : "opt_as", "opt_row", "table_primary_as_range_column", "table_ref",
1385 : "where_clause", "opt_group_by_clause", "column_ref_commalist",
1386 : "opt_having_clause", "truth_value", "boolean_primary",
1387 : "parenthesized_boolean_value_expression", "boolean_test",
1388 : "boolean_factor", "boolean_term", "search_condition", "predicate",
1389 : "comparison_predicate_part_2", "comparison_predicate", "comparison",
1390 : "between_predicate_part_2", "between_predicate",
1391 : "character_like_predicate_part_2", "other_like_predicate_part_2",
1392 : "like_predicate", "opt_escape", "null_predicate_part_2", "test_for_null",
1393 : "in_predicate_value", "in_predicate_part_2", "in_predicate",
1394 : "quantified_comparison_predicate_part_2", "all_or_any_predicate",
1395 : "any_all_some", "existence_test", "unique_test", "subquery",
1396 : "scalar_exp_commalist", "select_sublist", "parameter_ref", "literal",
1397 : "as_clause", "position_exp", "num_value_fct", "char_length_exp",
1398 : "octet_length_exp", "bit_length_exp", "length_exp", "datetime_field",
1399 : "extract_field", "time_zone_field", "extract_exp", "unsigned_value_spec",
1400 : "general_value_spec", "set_fct_spec", "function_name0", "function_name1",
1401 : "function_name2", "function_name12", "function_name23", "function_name3",
1402 : "function_name", "string_function_1Argument",
1403 : "string_function_2Argument", "string_function_3Argument",
1404 : "string_function_4Argument", "string_function",
1405 : "date_function_0Argument", "date_function_1Argument", "date_function",
1406 : "numeric_function_0Argument", "numeric_function_1Argument",
1407 : "numeric_function_2Argument", "numeric_function", "window_function",
1408 : "window_function_type", "ntile_function",
1409 : "dynamic_parameter_specification", "simple_value_specification",
1410 : "number_of_tiles", "opt_lead_or_lag_function", "opt_null_treatment",
1411 : "lead_or_lag_function", "lead_or_lag", "lead_or_lag_extent", "offset",
1412 : "default_expression", "null_treatment", "first_or_last_value_function",
1413 : "first_or_last_value", "opt_from_first_or_last", "nth_value_function",
1414 : "nth_row", "from_first_or_last", "window_name",
1415 : "window_name_or_specification", "in_line_window_specification",
1416 : "opt_window_clause", "window_clause", "window_definition_list",
1417 : "window_definition", "new_window_name", "window_specification",
1418 : "opt_existing_window_name", "opt_window_partition_clause",
1419 : "opt_window_frame_clause", "window_specification_details",
1420 : "existing_window_name", "window_partition_clause",
1421 : "window_partition_column_reference_list",
1422 : "window_partition_column_reference", "opt_window_frame_exclusion",
1423 : "window_frame_clause", "window_frame_units", "window_frame_extent",
1424 : "window_frame_start", "window_frame_preceding", "window_frame_between",
1425 : "window_frame_bound_1", "window_frame_bound_2", "window_frame_bound",
1426 : "window_frame_following", "window_frame_exclusion", "op_parameter",
1427 : "odbc_call_spec", "op_odbc_call_parameter", "odbc_parameter_commalist",
1428 : "odbc_parameter", "odbc_fct_spec", "odbc_fct_type", "general_set_fct",
1429 : "set_fct_type", "ordered_set_function", "hypothetical_set_function",
1430 : "within_group_specification",
1431 : "hypothetical_set_function_value_expression_list",
1432 : "inverse_distribution_function",
1433 : "inverse_distribution_function_argument",
1434 : "inverse_distribution_function_type", "array_aggregate_function",
1435 : "rank_function_type", "outer_join_type", "join_condition", "join_spec",
1436 : "join_type", "cross_union", "qualified_join", "joined_table",
1437 : "named_columns_join", "simple_table", "non_join_query_primary",
1438 : "non_join_query_term", "query_primary", "non_join_query_exp", "all",
1439 : "query_exp", "scalar_subquery", "cast_operand", "cast_target",
1440 : "cast_spec", "value_exp_primary", "num_primary", "factor", "term",
1441 : "num_value_exp", "datetime_primary", "datetime_value_fct", "time_zone",
1442 : "time_zone_specifier", "datetime_factor", "datetime_term",
1443 : "datetime_value_exp", "non_second_datetime_field", "start_field",
1444 : "end_field", "single_datetime_field", "interval_qualifier",
1445 : "function_arg_commalist2", "function_arg_commalist3",
1446 : "function_arg_commalist4", "value_exp_commalist", "function_arg",
1447 : "function_args_commalist", "value_exp", "string_value_exp",
1448 : "char_value_exp", "concatenation", "char_primary", "collate_clause",
1449 : "char_factor", "string_value_fct", "bit_value_fct", "bit_substring_fct",
1450 : "bit_value_exp", "bit_factor", "bit_primary", "char_value_fct",
1451 : "for_length", "char_substring_fct", "upper_lower", "fold",
1452 : "form_conversion", "char_translation", "trim_fct", "trim_operands",
1453 : "trim_spec", "derived_column", "table_node", "catalog_name",
1454 : "schema_name", "table_name", "column_ref", "column_val", "data_type",
1455 : "opt_char_set_spec", "opt_collate_clause", "predefined_type",
1456 : "character_string_type", "opt_paren_precision", "paren_char_length",
1457 : "opt_paren_char_large_length", "paren_character_large_object_length",
1458 : "large_object_length", "opt_multiplier", "character_large_object_type",
1459 : "national_character_string_type", "national_character_large_object_type",
1460 : "binary_string_type", "binary_large_object_string_type", "numeric_type",
1461 : "opt_paren_precision_scale", "exact_numeric_type",
1462 : "approximate_numeric_type", "boolean_type", "datetime_type",
1463 : "opt_with_or_without_time_zone", "interval_type", "column",
1464 : "case_expression", "case_abbreviation", "case_specification",
1465 : "simple_case", "searched_case", "simple_when_clause_list",
1466 : "simple_when_clause", "when_operand_list", "when_operand",
1467 : "searched_when_clause_list", "searched_when_clause", "else_clause",
1468 : "result", "result_expression", "case_operand", "cursor", "parameter",
1469 : "range_variable", "user", "trigger_definition", "op_referencing",
1470 : "trigger_action_time", "trigger_event", "op_trigger_columnlist",
1471 : "trigger_column_list", "triggered_action", "op_triggered_action_for",
1472 : "trigger_for", "triggered_when_clause", "triggered_SQL_statement",
1473 : "SQL_procedure_statement_list", "SQL_procedure_statement",
1474 : "transition_table_or_variable_list", "transition_table_or_variable",
1475 : "old_transition_table_name", "new_transition_table_name",
1476 : "transition_table_name", "old_transition_variable_name",
1477 : "new_transition_variable_name", "trigger_name", 0
1478 : };
1479 : #endif
1480 :
1481 : # ifdef YYPRINT
1482 : /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1483 : token YYLEX-NUM. */
1484 : static const yytype_uint16 yytoknum[] =
1485 : {
1486 : 0, 256, 257, 40, 41, 44, 58, 59, 63, 91,
1487 : 93, 123, 125, 46, 75, 77, 71, 84, 80, 258,
1488 : 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1489 : 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1490 : 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1491 : 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1492 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
1493 : 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
1494 : 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
1495 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
1496 : 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
1497 : 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
1498 : 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
1499 : 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
1500 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
1501 : 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
1502 : 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
1503 : 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
1504 : 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
1505 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
1506 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1507 : 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1508 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1509 : 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
1510 : 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
1511 : 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
1512 : 499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
1513 : 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
1514 : 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
1515 : 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
1516 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1517 : 549, 550, 551, 552, 553, 554, 555, 556, 43, 45,
1518 : 557, 42, 47, 61, 558
1519 : };
1520 : # endif
1521 :
1522 : /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1523 : static const yytype_uint16 yyr1[] =
1524 : {
1525 : 0, 325, 326, 326, 327, 327, 328, 328, 328, 328,
1526 : 329, 330, 330, 331, 331, 332, 333, 333, 334, 335,
1527 : 335, 336, 336, 336, 336, 336, 336, 336, 336, 336,
1528 : 336, 337, 337, 337, 337, 338, 338, 339, 339, 340,
1529 : 341, 341, 342, 342, 343, 344, 344, 345, 345, 346,
1530 : 346, 347, 347, 347, 347, 347, 347, 348, 348, 349,
1531 : 349, 350, 350, 351, 351, 352, 352, 353, 353, 353,
1532 : 354, 354, 355, 355, 355, 355, 355, 355, 355, 355,
1533 : 355, 356, 356, 357, 358, 359, 360, 361, 362, 362,
1534 : 363, 364, 364, 365, 366, 367, 367, 367, 368, 368,
1535 : 369, 370, 370, 371, 372, 372, 373, 374, 374, 375,
1536 : 376, 377, 377, 378, 378, 379, 380, 380, 381, 381,
1537 : 382, 382, 383, 383, 384, 385, 386, 387, 387, 388,
1538 : 388, 389, 390, 391, 392, 392, 393, 393, 394, 394,
1539 : 395, 395, 396, 396, 396, 396, 396, 397, 398, 398,
1540 : 399, 399, 399, 399, 400, 400, 401, 401, 401, 401,
1541 : 402, 402, 402, 403, 404, 404, 405, 405, 406, 406,
1542 : 407, 407, 408, 408, 408, 408, 408, 408, 408, 408,
1543 : 409, 410, 410, 411, 411, 411, 411, 411, 411, 411,
1544 : 411, 412, 413, 413, 414, 415, 416, 416, 416, 416,
1545 : 417, 417, 417, 418, 419, 419, 420, 420, 421, 422,
1546 : 422, 423, 424, 424, 425, 425, 425, 426, 427, 428,
1547 : 429, 429, 430, 431, 432, 432, 432, 432, 432, 432,
1548 : 432, 432, 432, 433, 433, 433, 434, 434, 435, 435,
1549 : 435, 436, 436, 437, 438, 439, 439, 439, 440, 440,
1550 : 441, 441, 441, 442, 442, 443, 444, 444, 445, 445,
1551 : 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1552 : 445, 445, 446, 446, 446, 446, 446, 446, 446, 446,
1553 : 446, 446, 446, 447, 447, 448, 448, 448, 449, 449,
1554 : 450, 450, 450, 450, 451, 451, 452, 453, 453, 453,
1555 : 453, 454, 454, 454, 454, 454, 454, 454, 455, 455,
1556 : 455, 456, 457, 458, 458, 458, 458, 458, 459, 459,
1557 : 459, 460, 460, 460, 460, 460, 460, 460, 460, 460,
1558 : 460, 460, 460, 460, 460, 461, 461, 462, 463, 463,
1559 : 463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
1560 : 463, 463, 463, 463, 463, 463, 464, 464, 464, 465,
1561 : 465, 466, 467, 467, 467, 467, 467, 467, 467, 468,
1562 : 469, 470, 471, 471, 472, 472, 472, 473, 473, 474,
1563 : 475, 475, 476, 477, 478, 479, 479, 480, 481, 481,
1564 : 482, 482, 483, 484, 484, 485, 485, 486, 487, 487,
1565 : 488, 489, 489, 490, 491, 491, 492, 493, 494, 495,
1566 : 495, 496, 496, 497, 497, 498, 499, 500, 501, 501,
1567 : 502, 503, 503, 504, 505, 505, 506, 506, 507, 507,
1568 : 507, 508, 509, 510, 511, 512, 512, 512, 513, 514,
1569 : 514, 514, 514, 515, 515, 516, 517, 517, 518, 518,
1570 : 519, 519, 519, 520, 520, 521, 521, 521, 522, 522,
1571 : 522, 522, 522, 523, 523, 523, 523, 523, 523, 523,
1572 : 523, 523, 523, 523, 523, 523, 523, 524, 524, 525,
1573 : 525, 526, 526, 527, 528, 529, 530, 530, 531, 532,
1574 : 532, 532, 532, 533, 533, 533, 534, 535, 535, 536,
1575 : 536, 536, 536, 537, 538, 538, 538, 539, 540, 541,
1576 : 541, 542, 542, 543, 543, 544, 545, 545, 545, 546,
1577 : 546, 547, 548, 549, 550, 550, 551, 552, 552, 552,
1578 : 552, 552, 552, 552, 552, 553, 553, 554, 554, 554,
1579 : 555, 555, 555, 556, 556, 556, 557, 558, 558, 558,
1580 : 559, 560, 561, 561, 562, 563, 564, 564, 564, 564,
1581 : 564, 565, 566, 566, 567, 567, 568, 568, 569, 570,
1582 : 571, 572, 572, 572, 573, 573, 573, 573, 574, 574,
1583 : 574, 575, 575, 575, 576, 577, 577, 578, 578, 579,
1584 : 579, 580, 581, 581, 582, 582, 583, 584, 585, 586,
1585 : 587, 588, 588, 588, 588, 588, 589, 589, 590, 590,
1586 : 591, 591, 592, 593, 593, 594, 595, 596, 596, 596,
1587 : 596, 596, 597, 597, 597, 598, 599, 599, 599, 600,
1588 : 600, 601, 602, 603, 603, 603, 603, 603, 604, 604,
1589 : 605, 606, 606, 607, 607, 608, 608, 608, 608, 608,
1590 : 608, 608, 609, 609, 609, 609, 609, 609, 610, 610,
1591 : 611, 612, 612, 613, 614, 615, 615, 615, 615, 615,
1592 : 615, 616, 616, 616, 617, 617, 617, 617, 617, 617,
1593 : 617, 618, 618, 618, 619, 619, 619, 619, 620, 620,
1594 : 621, 621, 622, 622, 622, 623, 623, 623, 623, 623,
1595 : 623, 623, 624, 624, 624, 624, 624, 625, 626, 626,
1596 : 626, 627, 627, 627, 628, 629, 629, 629, 629, 630,
1597 : 630, 631, 631, 631, 632, 632, 633, 634, 635, 635,
1598 : 636, 637, 637, 638, 638, 638, 638, 638, 638, 639,
1599 : 639, 640, 641, 641, 642, 643, 644, 645, 646, 646,
1600 : 646, 647, 647, 648, 327, 327, 649, 650, 650, 651,
1601 : 651, 651, 652, 652, 652, 653, 653, 654, 655, 656,
1602 : 656, 657, 657, 658, 658, 659, 659, 660, 660, 661,
1603 : 662, 662, 663, 663, 663, 663, 664, 665, 666, 667,
1604 : 668, 669
1605 : };
1606 :
1607 : /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1608 : static const yytype_uint8 yyr2[] =
1609 : {
1610 : 0, 2, 1, 2, 1, 1, 1, 1, 1, 1,
1611 : 6, 1, 3, 1, 1, 3, 0, 2, 1, 1,
1612 : 2, 2, 1, 2, 2, 2, 2, 1, 4, 2,
1613 : 5, 4, 7, 10, 4, 0, 3, 3, 1, 7,
1614 : 0, 3, 0, 3, 7, 0, 3, 2, 1, 1,
1615 : 3, 1, 2, 1, 2, 2, 1, 1, 3, 1,
1616 : 1, 0, 3, 1, 3, 2, 2, 0, 1, 1,
1617 : 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1618 : 3, 1, 4, 2, 4, 4, 5, 4, 1, 3,
1619 : 1, 1, 1, 2, 6, 0, 1, 1, 1, 3,
1620 : 3, 1, 1, 5, 1, 3, 1, 0, 1, 1,
1621 : 4, 1, 1, 0, 1, 3, 0, 1, 1, 1,
1622 : 1, 1, 0, 1, 5, 1, 1, 0, 1, 0,
1623 : 2, 3, 9, 2, 1, 3, 0, 1, 0, 1,
1624 : 0, 3, 2, 3, 1, 4, 3, 2, 0, 3,
1625 : 1, 1, 3, 3, 0, 2, 1, 1, 1, 1,
1626 : 1, 3, 1, 3, 1, 4, 1, 2, 1, 3,
1627 : 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1628 : 2, 3, 2, 1, 1, 1, 1, 1, 1, 4,
1629 : 2, 5, 2, 1, 4, 4, 2, 2, 1, 1,
1630 : 0, 2, 4, 3, 2, 1, 1, 3, 3, 2,
1631 : 1, 3, 2, 1, 1, 1, 1, 2, 2, 3,
1632 : 1, 3, 1, 1, 1, 1, 1, 1, 1, 2,
1633 : 2, 2, 2, 0, 2, 1, 6, 4, 1, 1,
1634 : 1, 4, 4, 4, 4, 1, 1, 1, 1, 1,
1635 : 1, 1, 1, 1, 1, 6, 1, 1, 1, 1,
1636 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1637 : 1, 1, 1, 3, 3, 3, 4, 4, 4, 4,
1638 : 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
1639 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1640 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1641 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1642 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1643 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1644 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1645 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1646 : 1, 3, 3, 3, 1, 1, 1, 1, 1, 4,
1647 : 1, 1, 1, 1, 0, 2, 4, 0, 1, 6,
1648 : 1, 1, 1, 1, 1, 2, 2, 5, 1, 1,
1649 : 0, 1, 8, 1, 1, 2, 2, 1, 1, 1,
1650 : 1, 0, 1, 2, 3, 1, 3, 1, 3, 0,
1651 : 1, 0, 1, 0, 1, 4, 1, 3, 3, 1,
1652 : 2, 0, 1, 3, 1, 1, 1, 1, 2, 1,
1653 : 2, 2, 4, 1, 1, 1, 2, 1, 2, 3,
1654 : 2, 2, 3, 0, 2, 4, 0, 3, 1, 3,
1655 : 0, 1, 1, 2, 2, 1, 1, 1, 5, 4,
1656 : 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1657 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
1658 : 7, 0, 5, 1, 5, 1, 1, 1, 5, 1,
1659 : 1, 1, 1, 1, 1, 1, 2, 1, 1, 0,
1660 : 1, 1, 2, 4, 5, 5, 1, 1, 4, 1,
1661 : 1, 1, 3, 1, 4, 1, 1, 4, 4, 0,
1662 : 1, 1, 1, 1, 1, 1, 6, 1, 1, 1,
1663 : 1, 1, 1, 3, 1, 1, 1, 1, 2, 2,
1664 : 1, 3, 3, 1, 3, 3, 1, 1, 1, 1,
1665 : 2, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1666 : 1, 2, 1, 2, 2, 2, 3, 1, 3, 5,
1667 : 7, 1, 3, 3, 1, 3, 5, 3, 1, 3,
1668 : 3, 1, 1, 1, 1, 1, 1, 3, 3, 1,
1669 : 1, 2, 1, 2, 1, 1, 1, 7, 1, 1,
1670 : 0, 1, 1, 1, 1, 1, 0, 2, 7, 4,
1671 : 1, 1, 4, 6, 6, 6, 4, 4, 3, 3,
1672 : 2, 1, 1, 1, 1, 2, 1, 1, 1, 3,
1673 : 3, 3, 1, 1, 3, 5, 7, 7, 1, 1,
1674 : 1, 0, 3, 0, 1, 3, 2, 1, 1, 1,
1675 : 1, 1, 2, 2, 3, 3, 2, 1, 0, 1,
1676 : 3, 0, 1, 3, 2, 0, 1, 1, 1, 1,
1677 : 1, 4, 4, 2, 3, 3, 2, 4, 4, 3,
1678 : 1, 5, 4, 2, 2, 3, 2, 1, 4, 2,
1679 : 1, 1, 0, 3, 5, 2, 2, 2, 1, 1,
1680 : 1, 1, 4, 1, 1, 1, 2, 1, 1, 3,
1681 : 3, 0, 3, 3, 2, 1, 1, 1, 1, 1,
1682 : 1, 4, 4, 4, 1, 1, 5, 4, 1, 2,
1683 : 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1684 : 2, 4, 0, 2, 1, 1, 1, 1, 2, 1,
1685 : 3, 0, 2, 1, 1, 3, 9, 0, 2, 1,
1686 : 1, 2, 1, 1, 2, 0, 2, 1, 3, 0,
1687 : 3, 1, 1, 0, 2, 1, 5, 1, 3, 1,
1688 : 1, 2, 4, 4, 4, 4, 1, 1, 1, 1,
1689 : 1, 1
1690 : };
1691 :
1692 : /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1693 : Performed when YYTABLE doesn't specify something else to do. Zero
1694 : means the default is an error. */
1695 : static const yytype_uint16 yydefact[] =
1696 : {
1697 : 70, 70, 0, 749, 0, 443, 589, 228, 224, 225,
1698 : 226, 227, 70, 715, 468, 463, 0, 0, 0, 0,
1699 : 0, 334, 332, 92, 0, 0, 261, 0, 0, 70,
1700 : 611, 464, 465, 260, 0, 0, 95, 469, 466, 0,
1701 : 0, 262, 0, 0, 610, 259, 302, 0, 313, 717,
1702 : 0, 314, 315, 312, 303, 309, 301, 294, 316, 304,
1703 : 716, 308, 311, 310, 305, 317, 306, 0, 307, 547,
1704 : 548, 549, 318, 319, 325, 322, 321, 323, 718, 328,
1705 : 329, 324, 326, 320, 327, 295, 330, 335, 336, 333,
1706 : 291, 331, 338, 339, 340, 341, 356, 342, 343, 344,
1707 : 345, 351, 346, 292, 293, 353, 352, 357, 337, 358,
1708 : 354, 359, 355, 290, 347, 348, 349, 350, 360, 467,
1709 : 476, 475, 474, 473, 472, 471, 470, 489, 490, 491,
1710 : 492, 486, 487, 0, 0, 0, 0, 263, 264, 265,
1711 : 266, 267, 268, 269, 270, 271, 0, 0, 380, 381,
1712 : 388, 389, 0, 185, 186, 183, 184, 188, 187, 0,
1713 : 0, 0, 2, 5, 6, 7, 8, 0, 4, 79,
1714 : 72, 73, 74, 75, 70, 162, 76, 77, 78, 81,
1715 : 164, 166, 168, 170, 754, 160, 172, 0, 193, 173,
1716 : 198, 199, 179, 205, 177, 210, 178, 213, 174, 175,
1717 : 176, 522, 257, 238, 536, 245, 246, 247, 240, 239,
1718 : 527, 256, 529, 0, 0, 0, 0, 0, 0, 0,
1719 : 285, 288, 296, 0, 297, 283, 286, 298, 284, 287,
1720 : 289, 299, 532, 0, 365, 366, 0, 367, 0, 368,
1721 : 272, 0, 461, 477, 478, 0, 462, 0, 530, 534,
1722 : 535, 537, 540, 543, 581, 552, 546, 554, 555, 583,
1723 : 91, 582, 584, 586, 592, 585, 590, 595, 596, 594,
1724 : 601, 0, 602, 603, 604, 605, 528, 633, 531, 719,
1725 : 720, 724, 725, 258, 9, 70, 0, 0, 510, 0,
1726 : 81, 0, 511, 513, 516, 521, 0, 91, 748, 0,
1727 : 0, 455, 0, 456, 457, 0, 0, 0, 0, 70,
1728 : 0, 71, 312, 167, 0, 0, 0, 83, 0, 95,
1729 : 0, 0, 0, 0, 0, 217, 747, 0, 0, 53,
1730 : 42, 51, 42, 56, 42, 0, 48, 49, 190, 0,
1731 : 93, 96, 97, 0, 0, 0, 218, 632, 0, 628,
1732 : 627, 626, 0, 0, 0, 0, 0, 600, 0, 0,
1733 : 0, 70, 746, 742, 739, 0, 0, 0, 0, 0,
1734 : 0, 539, 538, 1, 3, 0, 0, 0, 519, 0,
1735 : 192, 196, 197, 204, 209, 212, 70, 70, 70, 215,
1736 : 214, 216, 182, 90, 0, 229, 230, 231, 232, 0,
1737 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 : 95, 0, 0, 0, 0, 0, 0, 0, 553, 0,
1739 : 0, 0, 593, 0, 521, 0, 755, 519, 161, 219,
1740 : 519, 519, 533, 750, 444, 300, 454, 272, 0, 0,
1741 : 80, 273, 453, 70, 95, 509, 0, 0, 715, 717,
1742 : 716, 718, 639, 634, 638, 0, 523, 0, 582, 0,
1743 : 0, 0, 42, 791, 0, 107, 0, 0, 47, 0,
1744 : 55, 54, 52, 0, 0, 0, 203, 0, 111, 0,
1745 : 112, 220, 233, 222, 0, 582, 622, 0, 623, 624,
1746 : 621, 0, 0, 0, 0, 0, 0, 0, 0, 42,
1747 : 0, 571, 0, 571, 0, 598, 599, 332, 253, 254,
1748 : 328, 329, 324, 249, 331, 251, 0, 250, 248, 252,
1749 : 61, 0, 0, 0, 0, 740, 0, 70, 742, 728,
1750 : 0, 0, 571, 0, 571, 363, 371, 373, 372, 0,
1751 : 370, 0, 0, 0, 208, 206, 200, 200, 520, 0,
1752 : 181, 0, 169, 171, 211, 275, 0, 745, 574, 744,
1753 : 0, 0, 578, 0, 0, 0, 0, 274, 0, 0,
1754 : 0, 409, 397, 398, 361, 399, 400, 374, 382, 0,
1755 : 0, 0, 485, 362, 0, 483, 541, 542, 544, 545,
1756 : 551, 550, 588, 587, 591, 0, 512, 0, 88, 0,
1757 : 0, 0, 0, 446, 0, 0, 0, 0, 0, 0,
1758 : 459, 0, 0, 0, 759, 760, 0, 0, 70, 84,
1759 : 108, 0, 85, 104, 106, 223, 715, 0, 38, 0,
1760 : 50, 189, 243, 0, 0, 110, 107, 0, 0, 625,
1761 : 235, 0, 620, 0, 616, 0, 0, 0, 630, 632,
1762 : 629, 631, 107, 98, 0, 244, 241, 242, 0, 237,
1763 : 0, 0, 0, 609, 0, 0, 0, 0, 0, 0,
1764 : 745, 743, 727, 90, 734, 0, 193, 198, 205, 210,
1765 : 0, 731, 0, 729, 721, 723, 722, 369, 0, 0,
1766 : 0, 0, 0, 195, 194, 82, 157, 159, 156, 158,
1767 : 165, 276, 0, 70, 0, 0, 277, 0, 281, 0,
1768 : 0, 282, 278, 0, 280, 279, 0, 416, 411, 0,
1769 : 410, 0, 0, 377, 0, 481, 481, 0, 612, 87,
1770 : 0, 515, 514, 518, 109, 517, 450, 445, 0, 0,
1771 : 715, 635, 700, 658, 708, 692, 692, 705, 703, 699,
1772 : 658, 692, 704, 698, 658, 658, 658, 0, 0, 661,
1773 : 0, 661, 661, 701, 658, 707, 0, 0, 524, 525,
1774 : 640, 641, 657, 643, 680, 647, 687, 648, 690, 691,
1775 : 649, 650, 651, 0, 0, 460, 0, 0, 0, 19,
1776 : 0, 11, 13, 0, 14, 0, 0, 761, 763, 765,
1777 : 762, 0, 147, 0, 43, 0, 0, 0, 0, 133,
1778 : 134, 751, 506, 507, 144, 140, 0, 148, 221, 234,
1779 : 0, 619, 618, 0, 0, 0, 103, 0, 86, 572,
1780 : 573, 0, 606, 582, 0, 70, 488, 741, 182, 70,
1781 : 0, 726, 394, 393, 0, 191, 207, 0, 201, 577,
1782 : 190, 0, 575, 568, 579, 580, 0, 0, 0, 61,
1783 : 412, 408, 383, 375, 377, 0, 0, 387, 378, 458,
1784 : 0, 484, 479, 0, 89, 451, 0, 448, 452, 0,
1785 : 0, 0, 0, 0, 652, 659, 0, 697, 696, 706,
1786 : 0, 0, 0, 676, 695, 711, 711, 0, 0, 653,
1787 : 656, 686, 0, 683, 662, 658, 658, 673, 689, 0,
1788 : 0, 684, 558, 559, 560, 557, 692, 556, 658, 0,
1789 : 567, 714, 526, 0, 643, 644, 646, 614, 613, 70,
1790 : 0, 20, 10, 0, 0, 16, 40, 0, 764, 0,
1791 : 105, 37, 753, 59, 45, 57, 60, 0, 499, 144,
1792 : 0, 0, 0, 495, 500, 499, 493, 494, 501, 0,
1793 : 137, 0, 35, 0, 142, 94, 0, 154, 615, 617,
1794 : 632, 99, 102, 100, 101, 236, 0, 0, 0, 255,
1795 : 62, 63, 67, 67, 0, 733, 0, 735, 737, 738,
1796 : 736, 732, 730, 390, 0, 0, 0, 0, 0, 413,
1797 : 0, 379, 385, 386, 0, 481, 447, 450, 637, 636,
1798 : 0, 654, 661, 0, 0, 679, 661, 0, 0, 709,
1799 : 710, 655, 661, 665, 0, 0, 0, 674, 0, 675,
1800 : 685, 661, 565, 564, 0, 0, 645, 0, 0, 12,
1801 : 0, 15, 0, 39, 767, 766, 757, 0, 0, 44,
1802 : 146, 144, 135, 0, 0, 502, 0, 752, 0, 143,
1803 : 35, 0, 70, 401, 607, 608, 597, 70, 68, 69,
1804 : 66, 65, 0, 180, 0, 377, 391, 202, 576, 569,
1805 : 0, 715, 417, 419, 643, 425, 424, 415, 414, 0,
1806 : 376, 384, 61, 480, 449, 660, 671, 693, 0, 702,
1807 : 682, 0, 0, 672, 666, 667, 668, 669, 670, 664,
1808 : 663, 677, 661, 678, 688, 658, 562, 566, 642, 34,
1809 : 0, 31, 0, 27, 0, 0, 22, 17, 0, 0,
1810 : 769, 58, 0, 145, 503, 0, 499, 0, 141, 149,
1811 : 151, 150, 155, 0, 61, 402, 64, 395, 396, 392,
1812 : 0, 0, 420, 0, 0, 0, 0, 421, 426, 429,
1813 : 427, 0, 0, 712, 713, 681, 563, 0, 21, 70,
1814 : 24, 25, 26, 23, 18, 29, 41, 138, 138, 758,
1815 : 780, 0, 756, 773, 46, 504, 70, 0, 497, 505,
1816 : 498, 36, 0, 407, 403, 405, 0, 127, 570, 418,
1817 : 0, 0, 435, 0, 433, 437, 430, 428, 431, 0,
1818 : 423, 422, 482, 694, 0, 0, 0, 136, 139, 136,
1819 : 136, 136, 781, 0, 0, 70, 496, 0, 153, 152,
1820 : 0, 0, 0, 113, 128, 436, 438, 0, 0, 440,
1821 : 441, 0, 32, 28, 0, 0, 0, 0, 0, 771,
1822 : 772, 770, 70, 774, 0, 779, 768, 775, 0, 404,
1823 : 406, 129, 0, 122, 114, 432, 434, 439, 442, 0,
1824 : 30, 788, 785, 787, 790, 783, 784, 786, 789, 782,
1825 : 0, 70, 508, 0, 131, 0, 125, 0, 132, 123,
1826 : 0, 163, 0, 777, 130, 120, 121, 115, 118, 119,
1827 : 116, 33, 70, 0, 117, 126, 776, 778, 0, 124
1828 : };
1829 :
1830 : /* YYDEFGOTO[NTERM-NUM]. */
1831 : static const yytype_int16 yydefgoto[] =
1832 : {
1833 : -1, 161, 1255, 163, 164, 790, 791, 792, 1041, 1172,
1834 : 793, 1127, 794, 1059, 627, 165, 1043, 470, 166, 1049,
1835 : 335, 336, 337, 944, 945, 668, 980, 981, 1070, 167,
1836 : 168, 169, 170, 171, 172, 173, 288, 597, 174, 175,
1837 : 176, 177, 343, 652, 653, 973, 178, 622, 623, 619,
1838 : 289, 445, 479, 1263, 1264, 1303, 1300, 1297, 1288, 1289,
1839 : 1285, 1304, 1233, 1284, 1234, 635, 636, 809, 961, 1219,
1840 : 964, 948, 620, 967, 1139, 1063, 700, 180, 1253, 181,
1841 : 182, 183, 184, 185, 674, 186, 187, 188, 189, 190,
1842 : 191, 192, 693, 193, 194, 544, 195, 196, 197, 198,
1843 : 394, 199, 200, 201, 480, 481, 624, 202, 639, 203,
1844 : 204, 205, 206, 207, 208, 515, 516, 517, 209, 210,
1845 : 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1846 : 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1847 : 231, 232, 233, 234, 537, 538, 539, 722, 867, 235,
1848 : 236, 577, 863, 1090, 868, 237, 238, 1075, 239, 844,
1849 : 1076, 1193, 574, 575, 1144, 1145, 1194, 1195, 1196, 576,
1850 : 718, 859, 1087, 719, 720, 860, 1082, 1083, 1210, 1088,
1851 : 1089, 1157, 1202, 1159, 1160, 1203, 1265, 1204, 1205, 1211,
1852 : 305, 306, 737, 876, 877, 307, 308, 240, 241, 242,
1853 : 243, 871, 584, 244, 581, 245, 246, 247, 958, 1188,
1854 : 1189, 959, 812, 813, 814, 1190, 292, 293, 294, 732,
1855 : 295, 549, 296, 248, 455, 767, 249, 250, 251, 252,
1856 : 253, 254, 255, 256, 418, 591, 257, 258, 259, 518,
1857 : 919, 1117, 920, 921, 560, 565, 569, 585, 562, 563,
1858 : 260, 261, 262, 263, 264, 925, 265, 266, 267, 268,
1859 : 504, 505, 506, 269, 977, 270, 271, 272, 273, 274,
1860 : 275, 491, 492, 483, 815, 349, 350, 351, 276, 453,
1861 : 769, 924, 926, 770, 771, 884, 885, 903, 904, 1024,
1862 : 1109, 772, 773, 774, 775, 776, 777, 887, 778, 779,
1863 : 780, 781, 1019, 782, 277, 278, 279, 280, 281, 282,
1864 : 528, 529, 680, 681, 363, 364, 526, 558, 559, 365,
1865 : 327, 283, 962, 946, 284, 1130, 617, 801, 938, 1045,
1866 : 1182, 1183, 1251, 1225, 1256, 1292, 1257, 1179, 1180, 1276,
1867 : 1272, 1273, 1279, 1275, 464
1868 : };
1869 :
1870 : /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1871 : STATE-NUM. */
1872 : #define YYPACT_NINF -1155
1873 : static const yytype_int16 yypact[] =
1874 : {
1875 : 2400, 1449, 127, -1155, 142, 448, -1155, -1155, -1155, -1155,
1876 : -1155, -1155, 3034, 264, -1155, -1155, 193, 82, 198, 273,
1877 : 20, -1155, -1155, -1155, 189, 279, -1155, 301, 590, 380,
1878 : -1155, -1155, -1155, -1155, 399, 276, 96, -1155, -1155, 436,
1879 : 439, -1155, 279, 433, -1155, -1155, -1155, 468, -1155, 475,
1880 : 488, -1155, -1155, 413, -1155, -1155, -1155, -1155, -1155, -1155,
1881 : 500, -1155, -1155, -1155, -1155, -1155, -1155, 528, -1155, -1155,
1882 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, 545, -1155,
1883 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1884 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1885 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1886 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1887 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1888 : -1155, -1155, -1155, 583, 4592, 610, 617, -1155, -1155, -1155,
1889 : -1155, -1155, -1155, -1155, -1155, -1155, 626, 632, -1155, -1155,
1890 : -1155, -1155, 650, -1155, -1155, -1155, -1155, -1155, -1155, 7793,
1891 : 7793, 521, 527, -1155, -1155, -1155, -1155, 80, -1155, 493,
1892 : -1155, -1155, -1155, -1155, 136, 167, -1155, -1155, -1155, -1155,
1893 : 575, -1155, -1155, 368, 372, -1155, -1155, 4893, -1155, -1155,
1894 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1895 : -1155, -1155, 473, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1896 : -1155, -1155, -1155, 681, 688, 693, 705, 712, 715, 717,
1897 : -1155, -1155, -1155, 720, -1155, -1155, -1155, -1155, -1155, -1155,
1898 : -1155, -1155, -1155, 445, -1155, -1155, 734, -1155, 744, -1155,
1899 : 453, 747, -1155, -1155, -1155, 764, -1155, 779, -1155, -1155,
1900 : -1155, -1155, -1155, -158, 144, 760, -1155, -1155, -1155, -1155,
1901 : 477, -1155, 480, -1155, 751, -1155, -1155, -1155, -1155, -1155,
1902 : -1155, 796, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1903 : -1155, -1155, -1155, -1155, -1155, 1449, 798, 804, -1155, 726,
1904 : 91, 77, -1155, -1155, 727, -1155, 148, 13, -1155, 805,
1905 : 502, -1155, 8398, -1155, -1155, 672, 806, 807, 808, 2717,
1906 : 361, -1155, -1155, -1155, 794, -10, 7213, -1155, 7213, -9,
1907 : 433, 433, 800, 433, 105, -1155, -1155, 746, 724, -1155,
1908 : 828, -1155, 828, -1155, 828, 736, 827, -1155, 78, 7213,
1909 : -1155, -1155, -1155, 1158, 7213, 4302, -1155, 116, 723, -1155,
1910 : -1155, -1155, 7213, 7213, 7213, 433, 7213, 7213, 5183, 7213,
1911 : 5473, 3351, -1155, 320, -1155, 593, 7213, 7213, 830, 801,
1912 : 7213, -1155, -1155, -1155, -1155, 5763, 837, 7213, 813, 4893,
1913 : -1155, -1155, -1155, -1155, -1155, -1155, 380, 3351, 3351, -1155,
1914 : -1155, -1155, -1155, -1155, 279, -1155, -1155, -1155, -1155, 838,
1915 : 7213, 7213, 7213, 7213, 7213, 6053, 7213, 117, 7213, 7213,
1916 : 96, 7503, 6343, 7503, 7503, 7503, 7503, 753, -1155, 7213,
1917 : 100, 433, -1155, 7213, 840, 5763, -1155, 813, -1155, -1155,
1918 : 813, 813, -1155, -1155, -1155, -1155, -1155, -1155, 842, 433,
1919 : -1155, -1155, -1155, 2717, 96, -1155, 77, 833, 834, -1155,
1920 : -1155, -1155, -1155, -1155, -1155, 816, 477, 844, 713, 849,
1921 : 7213, 851, 828, -1155, -114, 714, 105, 518, -1155, 104,
1922 : -1155, -1155, -1155, 433, 600, 783, -1155, 30, -1155, 201,
1923 : 853, -1155, 28, -1155, 477, 721, -1155, 7213, -1155, -1155,
1924 : -11, 856, 6633, 835, 839, 104, 32, 33, 41, 828,
1925 : 525, -13, 539, 110, 789, -1155, -1155, 790, -1155, -1155,
1926 : 792, 793, 797, 865, 799, -1155, 802, -1155, -1155, 477,
1927 : -28, 5473, 13, -140, 7213, -1155, 628, 3351, 629, -1155,
1928 : 593, 557, 477, 584, 64, -1155, 473, -1155, -1155, 868,
1929 : -1155, 75, 563, 5473, -1155, -1155, 107, 40, -1155, 768,
1930 : -1155, 405, -1155, 368, -1155, -1155, 873, 263, -1155, -1155,
1931 : 876, 877, -1155, 627, 633, 879, 880, -1155, 638, 882,
1932 : 883, 861, -1155, -1155, -1155, -1155, -1155, 884, 477, 68,
1933 : 7213, 886, 144, -1155, 111, 532, -1155, -1155, -158, -158,
1934 : -1155, -1155, -1155, -1155, -1155, 71, -1155, 566, -1155, 105,
1935 : 105, 105, 7213, 888, 1158, 866, 83, 858, 858, 433,
1936 : -1155, 889, 479, 862, -1155, -1155, 803, 159, 3351, -1155,
1937 : -1155, 50, 891, -1155, -1155, -1155, -1155, 577, -1155, 771,
1938 : -1155, -1155, -1155, 197, 518, -1155, 714, 7213, 104, -1155,
1939 : -1155, 433, 477, 7213, -1155, 7213, 120, 885, -1155, 885,
1940 : -1155, -1155, 118, -1155, 592, -1155, -1155, -1155, 105, -1155,
1941 : 7213, 7213, 7213, -1155, 7213, 7213, 7213, 867, 901, 7213,
1942 : 477, -1155, -1155, 98, -1155, 4893, 903, 905, 908, 911,
1943 : 60, -1155, 675, -1155, -1155, -1155, -1155, -1155, 801, 5763,
1944 : 647, 841, 7213, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1945 : -1155, -1155, 7213, 380, 7213, 7213, -1155, 7213, -1155, 7213,
1946 : 7213, -1155, -1155, 7213, -1155, -1155, 7213, -1155, 615, 918,
1947 : -1155, 900, 920, 311, 921, 696, 696, 7213, -1155, -1155,
1948 : 5763, -1155, -1155, 726, -1155, 726, 801, -1155, 852, 914,
1949 : 922, -1155, -1155, 49, -1155, 928, 928, 832, 935, -1155,
1950 : 52, 928, -1155, -1155, 936, 936, 162, 936, 936, 939,
1951 : 62, 939, 939, -1155, 184, -1155, 356, 940, -1155, -1155,
1952 : -1155, 904, -1155, 751, -1155, -1155, -1155, -1155, -1155, -1155,
1953 : -1155, -1155, -1155, 941, 943, -1155, 945, 863, 864, -1155,
1954 : 599, -1155, -1155, 946, -1155, 8040, 768, -1155, -1155, 855,
1955 : -1155, 843, 372, 518, -1155, 104, 87, 99, 809, 947,
1956 : 589, 195, -1155, -1155, -1155, 195, 109, 881, -1155, -1155,
1957 : 952, 477, 477, 7213, 931, 104, -1155, 6923, 50, 477,
1958 : 477, 72, 24, 108, 73, 3668, -1155, -1155, 79, 3985,
1959 : 7213, -1155, -1155, -1155, 956, -1155, -1155, 942, 643, 532,
1960 : 902, 173, 477, -1155, -1155, -1155, 960, 961, 929, 869,
1961 : -1155, -1155, -1155, 963, 311, 683, 686, -1155, -1155, -1155,
1962 : 893, -1155, -1155, 664, -1155, 473, 604, -1155, -1155, 85,
1963 : 85, 950, 936, 706, -1155, -1155, 953, -1155, -1155, -1155,
1964 : 955, 936, 708, -1155, -1155, -49, -49, 936, 711, -1155,
1965 : -1155, -1155, 962, -1155, -1155, 200, 67, -1155, -1155, 936,
1966 : 716, -1155, -1155, -1155, -1155, -1155, 928, -1155, 936, 857,
1967 : -1155, -1155, -1155, 870, 751, -1155, -1155, -1155, -1155, 3351,
1968 : 983, -1155, -1155, 479, 104, -1155, 847, 104, -1155, 931,
1969 : -1155, -1155, -1155, -1155, 92, -1155, -1155, 99, 56, 986,
1970 : 197, 197, 915, -1155, -1155, 442, -1155, -1155, 897, 916,
1971 : -1155, 977, 1001, 979, -1155, -1155, 966, 932, -1155, 477,
1972 : -1155, -1155, -1155, -1155, 477, -1155, 7213, 1009, 1010, -1155,
1973 : 1011, -1155, 152, 93, 101, -1155, 5763, -1155, -1155, -1155,
1974 : -1155, -1155, -1155, 944, 1003, 7213, 7213, 7213, 106, 345,
1975 : 7213, -1155, -1155, -1155, 1014, 696, -1155, 801, -1155, -1155,
1976 : 1015, -1155, 939, 684, 1016, -1155, 939, 899, 906, -1155,
1977 : -1155, -1155, 939, 728, 1018, 936, 752, -1155, 936, -1155,
1978 : -1155, 939, -1155, 898, 421, 999, -1155, 86, 104, -1155,
1979 : 689, 531, 984, -1155, 1021, -1155, 778, 87, 954, -1155,
1980 : -1155, 1020, 589, 197, 948, -1155, 197, -1155, 104, -1155,
1981 : 1001, 8171, 3351, 729, 477, -1155, -1155, 3668, -1155, -1155,
1982 : -1155, -1155, 7213, -1155, 408, 311, -1155, -1155, 477, -1155,
1983 : 1031, 133, 1032, -1155, 751, -1155, -1155, -1155, -1155, 732,
1984 : -1155, 477, 869, -1155, -1155, -1155, -1155, -1155, 1017, -1155,
1985 : -1155, 895, 907, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
1986 : -1155, -1155, 939, -1155, -1155, 936, -1155, -1155, -1155, -1155,
1987 : 694, -1155, 957, 1047, 491, 433, -1155, -1155, 951, 449,
1988 : 985, -1155, 958, -1155, 589, 197, 425, 707, -1155, 1049,
1989 : -1155, -1155, 372, 861, 869, -1155, -1155, -1155, -1155, -1155,
1990 : 7213, 106, -1155, 782, 810, 755, 757, 763, -1155, -1155,
1991 : -1155, 1056, 1057, -1155, -1155, -1155, -1155, 959, -1155, 3351,
1992 : -1155, -1155, -1155, 473, -1155, 1059, -1155, -22, 7, 449,
1993 : -1155, 814, -1155, 821, -1155, 589, 3351, 1064, -1155, -1155,
1994 : -1155, -1155, 8171, -1155, 1063, -1155, 1038, 765, -1155, -1155,
1995 : 260, 325, -1155, 761, -1155, -1155, -1155, -1155, -1155, 11,
1996 : -1155, -1155, -1155, -1155, 433, 88, 104, 1041, -1155, 1041,
1997 : 1041, 1041, -1155, 474, 1071, 1766, 372, 104, -1155, -1155,
1998 : 861, 1072, 1053, 770, -1155, -1155, -1155, 782, 823, -1155,
1999 : -1155, 784, 1076, -1155, 767, 1060, 1061, 1060, 1062, -1155,
2000 : -1155, -1155, 3351, -1155, 829, -1155, -1155, -1155, 769, -1155,
2001 : -1155, 776, 739, 1022, -1155, -1155, -1155, -1155, -1155, 104,
2002 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
2003 : 90, 2400, -1155, 1066, -1155, -157, 473, -86, -1155, -1155,
2004 : 772, -1155, 1083, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
2005 : 739, -1155, 2083, -157, -1155, 473, -1155, -1155, 785, -1155
2006 : };
2007 :
2008 : /* YYPGOTO[NTERM-NUM]. */
2009 : static const yytype_int16 yypgoto[] =
2010 : {
2011 : -1155, -1155, 58, -1155, -1155, -1155, 160, -1155, -1155, -1155,
2012 : 51, -1155, -1155, 35, -902, -1155, -1155, -245, -1155, -1155,
2013 : -1155, -1155, 622, -1155, 53, -790, -1155, 31, 114, -23,
2014 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -173, -130,
2015 : -1155, -1155, -120, -1155, 274, -1155, -1155, 467, 299, -175,
2016 : 132, 0, 499, -1155, -1155, -1155, -1155, -199, -1155, -1155,
2017 : -1155, -1155, -1155, -1155, -1155, 289, -1155, -1155, -774, -72,
2018 : -1155, -615, -1155, -1155, -1155, -1155, -1155, -1155, -1155, 1095,
2019 : 722, 725, 1, -771, -1155, -1155, -154, -153, -1155, -152,
2020 : 934, -1155, 564, -147, -1155, -1155, -144, -1155, 938, -1155,
2021 : -1155, -1155, -1155, -18, -1155, 478, -1155, -359, -1155, -1155,
2022 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -982,
2023 : -1155, -297, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
2024 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
2025 : -1155, -1155, -1155, -1155, 422, 426, -1155, -1155, -797, -1155,
2026 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
2027 : -1155, -324, -1155, -1155, -1155, -1155, -1155, -112, -1155, -115,
2028 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -32, -1155, -1155,
2029 : -1155, -1155, 34, -1155, -1155, -1155, -1155, -117, -1155, -1155,
2030 : -1155, -1155, -1155, -1155, 115, -1155, -1155, -293, -1155, -1155,
2031 : -1155, -665, -1155, -1155, -1155, -1155, -1155, -291, -1155, -1155,
2032 : -1155, 166, -1155, -1155, -707, -1155, -1155, 526, 178, -1155,
2033 : -257, 123, -393, -1155, 811, 516, -1155, 766, 621, 371,
2034 : 377, 730, -1155, 4, -1155, -1155, -1155, -1155, -1155, -688,
2035 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -317, -375, 253,
2036 : 12, -306, -1155, -1155, -1155, 878, 731, -1155, -1155, -1155,
2037 : -1155, -1155, -1155, -1155, 304, -1155, -1155, -1155, -1155, -1155,
2038 : -1155, -1155, -1155, -1155, -40, -1155, 293, -479, -919, -457,
2039 : 337, -1155, -842, -1155, -1155, -708, -591, -718, -1155, -1155,
2040 : -1155, -1155, -1155, -1155, -1155, -1155, -1155, -655, -1155, -1155,
2041 : -1155, -1155, 244, -1155, -307, -1155, -1155, -1155, -1155, -1155,
2042 : -1155, 614, -1155, 306, 781, -277, 619, -491, -1155, -1155,
2043 : -1155, -346, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
2044 : -1155, -1155, -1155, -1155, -1155, -1155, -1154, -1155, -31, -1155,
2045 : -1155, -98, -1155, -1155, -1155
2046 : };
2047 :
2048 : /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2049 : positive, shift that token. If negative, reduce the rule which
2050 : number is the opposite. If YYTABLE_NINF, syntax error. */
2051 : #define YYTABLE_NINF -739
2052 : static const yytype_int16 yytable[] =
2053 : {
2054 : 179, 290, 291, 348, 362, 436, 338, 325, 454, 437,
2055 : 536, 438, 458, 297, 392, 651, 448, 432, 810, 341,
2056 : 379, 380, 381, 540, 346, 556, 561, 383, 424, 566,
2057 : 384, 570, 1040, 671, 632, 1044, 655, 656, 485, 500,
2058 : 502, 963, 893, 907, 908, 657, 895, 896, 899, 531,
2059 : 533, 691, 881, 342, 626, 881, 911, 393, 162, 287,
2060 : 638, 872, 1238, 643, 983, 839, 662, 1001, 686, 999,
2061 : 881, 547, 723, 621, 667, 728, 975, 979, 918, 1084,
2062 : 688, 428, 1036, 573, -180, 611, 525, 471, 1239, 472,
2063 : 1119, 888, 1243, 1017, 1291, 976, 894, 1047, 1295, 1217,
2064 : 949, 669, 947, -733, 905, 692, 952, 1156, 466, 740,
2065 : 808, 626, -606, 942, 803, 726, 430, 375, 691, 6,
2066 : 571, 625, 493, 825, 341, 347, 1068, 1293, 1220, 494,
2067 : 626, 953, 1081, 614, 615, 616, 1120, 954, 375, 314,
2068 : 475, 320, 1141, 572, 449, 1296, 315, 18, 1307, 741,
2069 : 955, 727, 429, 298, 1069, 450, 1137, -509, 342, 376,
2070 : 321, 311, 628, 413, 414, 881, 900, 901, 299, 377,
2071 : 388, 1201, 692, 451, 476, 640, -509, -90, 837, 976,
2072 : 376, 431, 449, 633, 664, 1068, 424, 881, 654, -90,
2073 : 1072, 30, -90, 450, 823, 943, 316, 1027, 1029, 460,
2074 : 807, 318, 542, 881, -90, 724, 550, 1298, 808, 424,
2075 : 1033, 451, 444, 1069, 430, 906, 956, 613, 444, 798,
2076 : 29, -136, 1299, 347, 957, 317, 690, 960, 39, 40,
2077 : 1018, -90, 1084, 1218, 1048, 44, -90, 449, 286, 449,
2078 : 949, -90, 1152, 1051, 286, 393, -90, 717, 450, 393,
2079 : 450, -90, 598, 525, 658, 1201, -90, 703, 449, 618,
2080 : 449, 1032, 1218, 323, 424, 828, 451, -300, 451, 450,
2081 : 314, 450, 67, 1229, 322, 633, 319, 315, 1149, 431,
2082 : 461, 462, 324, 465, 634, 290, 291, 451, 625, 451,
2083 : 580, 1011, 419, 799, 1096, 393, 983, 297, 1100, 454,
2084 : 1015, 840, 1161, 702, 1103, 795, 1021, 419, 1240, 419,
2085 : 446, 452, 459, 1114, 1244, 499, 1241, 800, 1030, 882,
2086 : -180, 297, 891, 883, 604, 1258, 892, 326, 456, 536,
2087 : 456, 819, 853, 419, 854, 855, 1052, 1028, 856, -162,
2088 : 1093, 857, 540, 287, 419, 651, 1116, 703, 419, 992,
2089 : 419, 477, 419, 419, 1197, 482, 484, 490, 545, 833,
2090 : -582, 419, 523, 551, 496, 497, 498, 1290, 501, 503,
2091 : 519, 520, 522, 675, 676, 677, 554, 875, 532, 534,
2092 : 678, 594, 541, 679, 419, 849, 848, 388, 419, 484,
2093 : 878, 419, 419, 419, 1165, 419, 388, 673, 388, 603,
2094 : 388, 704, 339, 705, 452, 311, 452, 1166, -162, -162,
2095 : 873, 912, 557, 557, 557, 557, 557, 557, 557, 340,
2096 : 578, 579, 1008, 1009, 532, -535, -535, -535, -535, -535,
2097 : 419, 592, 897, 629, 1111, 595, 898, 1113, 1134, 344,
2098 : 419, 1136, 345, 1245, 446, 1246, 1247, 1248, 153, 154,
2099 : 155, 156, 157, 158, 909, 297, 300, 625, 910, 347,
2100 : 1046, 817, 415, 416, -90, -90, -90, -90, -90, -90,
2101 : 1025, 352, 557, 696, 1026, 952, 912, 826, 353, -90,
2102 : -90, -90, -90, -90, -90, 153, 154, 155, 156, 157,
2103 : 158, 354, 395, 419, 396, 397, 355, 398, 941, 642,
2104 : 953, 697, 838, 356, 646, 626, 954, 301, 302, 303,
2105 : 304, 7, 8, 9, 10, 11, 845, 953, 654, 955,
2106 : 1185, 373, 786, 954, 2, 1186, 3, 4, 523, 659,
2107 : 660, 357, 661, 522, 374, 698, 670, 660, 699, 661,
2108 : 913, 914, 915, 663, 660, 393, 661, 916, 358, 695,
2109 : 599, 787, 917, 600, 601, 532, 1122, 874, 1235, 393,
2110 : 1207, 684, 660, 1187, 661, 361, 524, 768, 768, 784,
2111 : 729, 730, 454, 454, 1123, 153, 154, 155, 156, 157,
2112 : 158, 804, 805, 419, 788, 956, 359, 1170, 685, 660,
2113 : 1124, 661, 557, 957, 301, 302, 303, 304, 865, 866,
2114 : 393, 820, 956, 932, 933, 913, 914, 915, 1006, 1007,
2115 : 957, 789, 1115, 366, 532, 811, 482, 917, 328, 802,
2116 : 367, 1079, 1080, 1236, 378, 1208, 795, 628, 1171, 368,
2117 : 628, 708, 709, 449, 710, 369, 788, 711, 709, 952,
2118 : 710, 1125, 714, 709, 450, 710, 1085, 1086, 875, 482,
2119 : 329, 846, 660, 370, 661, 821, 564, 822, 568, 386,
2120 : 329, 878, 451, 789, 953, 69, 70, 71, 1005, 660,
2121 : 954, 661, 829, 830, 831, -499, 832, 484, 834, 387,
2122 : 850, 670, 388, 955, 399, 986, 987, 988, 1097, 1098,
2123 : 424, 400, 989, 1121, 805, 990, 401, 995, 1167, 805,
2124 : 330, 1147, 1148, 331, 484, 982, 1177, 1178, 402, 985,
2125 : 330, 1191, 805, 331, 532, 403, 851, 852, 404, 557,
2126 : 405, 557, 557, 406, 332, 557, 333, 407, 557, 1249,
2127 : 1250, 628, 733, 735, 332, -364, 333, 408, 2, 532,
2128 : 3, 4, 1104, 1105, 1106, 1107, 1108, 409, 334, 956,
2129 : 410, 628, 7, 8, 9, 10, 11, 957, 334, 7,
2130 : 8, 9, 10, 11, 1140, 1173, 547, 411, 437, 1153,
2131 : 438, 1270, 805, 1282, 805, 1198, 1301, 805, 734, 734,
2132 : 371, 372, 412, 1154, 586, 587, 648, 650, 2, 811,
2133 : 3, 4, 588, 589, 417, 421, 936, 419, 420, 423,
2134 : 26, 425, 7, 8, 9, 10, 11, 2, 426, 3,
2135 : 4, 427, -109, 1073, 434, 433, 984, 439, 440, 441,
2136 : 447, 7, 8, 9, 10, 11, 463, 442, 33, 467,
2137 : 468, 469, 474, 1154, 535, 969, 473, 495, 527, 974,
2138 : 543, 548, 555, 590, 596, 602, 605, 606, 607, 608,
2139 : 26, 609, 670, 610, 612, 618, 393, 631, 637, 641,
2140 : 644, 647, 41, 665, -558, 649, -559, -560, -330, 45,
2141 : 672, -557, 687, -556, 689, 524, 666, 701, 33, 742,
2142 : 706, 444, 707, 712, 347, 713, 715, 572, 716, 721,
2143 : 725, 736, 739, 785, 796, 1228, 803, 806, 824, 437,
2144 : 743, 438, 797, 1286, 827, 836, 847, 835, -735, 628,
2145 : -737, 744, 41, -738, 745, 746, -736, 841, 858, 45,
2146 : 628, 747, 861, 862, 864, 869, 633, 879, 748, 811,
2147 : 1037, 886, 811, 811, 870, 880, 889, 982, 890, 881,
2148 : 749, 1305, 902, 939, 922, 927, 923, 928, 929, 934,
2149 : 930, 931, 951, 750, 937, 751, 968, 970, 966, 950,
2150 : 993, 994, 628, -582, 475, 996, 997, 752, 1000, 998,
2151 : 1004, 667, 1002, 1010, 753, 1003, 1013, 1012, 1014, 1016,
2152 : 754, 755, 1022, 1034, 1035, 1023, 1038, 1031, 1064, 1042,
2153 : 1050, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2154 : 1055, 1053, 1056, 1057, 1058, 1060, 1061, 1078, 557, 557,
2155 : 1062, 756, 1091, 1065, 1066, 1077, 1067, 1092, 1074, 1095,
2156 : 1099, 1101, 1110, 1112, -561, 1118, 805, 1128, 1102, 1129,
2157 : 1132, 1155, 1133, 1143, 1135, 811, 1150, 1151, 811, 1163,
2158 : 1162, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2159 : 1169, 1164, 1176, 1168, 1192, 1207, 1181, 1208, 1209, 1184,
2160 : 1212, 1213, 1216, 1142, 1223, 1206, 1224, 1227, 1230, 1214,
2161 : 1231, 1232, 1237, 960, 1252, 571, 1261, 1262, 1267, 1269,
2162 : 1268, 1200, 1281, 1283, 484, 1175, 1271, 1274, 1278, 1294,
2163 : 1302, 1287, 1126, 1039, 1309, 1138, 630, 1071, 1146, 971,
2164 : 1131, 816, 940, 738, 1308, 965, 1221, 313, 382, 552,
2165 : 842, 694, 385, 553, 843, 818, 1260, 811, 1259, 1199,
2166 : 1266, 1054, 1094, 1158, 783, 731, 757, 758, 1174, 457,
2167 : 759, 760, 935, 761, 762, 763, 764, 978, 765, 766,
2168 : 1020, 582, 422, 546, 683, 991, 530, 682, 1222, 1277,
2169 : 0, 593, 0, 0, 0, 0, 0, 0, 0, 0,
2170 : 0, 360, 557, 0, 2, 0, 3, 4, 0, 310,
2171 : 1215, 0, 0, 0, 1242, 0, 0, 6, 7, 8,
2172 : 9, 10, 11, 0, 13, 0, 0, 1226, 0, 14,
2173 : 0, 0, 0, 0, 15, 0, 0, 0, 0, 16,
2174 : 0, 0, 0, 0, 0, 18, 19, 0, 0, 0,
2175 : 0, 0, 21, 22, 0, 0, 0, 0, 0, 0,
2176 : 0, 0, 0, 0, 0, 179, 26, 0, 0, 0,
2177 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2179 : 31, 32, 0, 1280, 33, 0, 34, 0, 0, 0,
2180 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 : 0, 0, 0, 0, 0, 37, 0, 0, 38, 0,
2182 : 0, 179, 0, 0, 0, 0, 39, 40, 41, 0,
2183 : 0, 0, 0, 44, 0, 45, 0, 0, 0, 0,
2184 : 0, 0, 179, 0, 0, 0, 0, 0, 0, 46,
2185 : 47, 48, 49, 50, 51, 52, 312, 54, 55, 56,
2186 : 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2187 : 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2188 : 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2189 : 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2190 : 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2191 : 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2192 : 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2193 : 127, 128, 129, 130, 131, 132, 0, 133, 134, 0,
2194 : 0, 135, 136, 0, 0, 0, 0, 0, 0, 0,
2195 : 0, 0, 0, 0, 0, 0, 0, 137, 138, 139,
2196 : 140, 141, 142, 143, 144, 145, 0, 0, 0, 0,
2197 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 : 0, 146, 147, 148, 149, 0, 0, 0, 150, 151,
2199 : 152, 0, 285, 0, 0, 2, 0, 3, 4, 0,
2200 : 5, 0, 0, 0, 0, 0, 0, 0, 6, 7,
2201 : 8, 9, 10, 11, 12, 13, 159, 160, 0, 478,
2202 : 14, 0, 0, 0, 0, 15, 0, 0, 0, 0,
2203 : 16, 0, 0, 0, 17, 0, 18, 19, 20, 0,
2204 : 0, 0, 0, 21, 22, 0, 0, 0, 23, 24,
2205 : 0, 0, 0, 0, 0, 0, 25, 26, 27, 0,
2206 : 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
2207 : 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
2208 : 30, 31, 32, 0, 0, 33, 0, 34, 0, 0,
2209 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 : 35, 0, 36, 0, 0, 0, 37, 0, 0, 38,
2211 : 0, 0, 0, 0, 0, 0, 0, 39, 40, 41,
2212 : 0, 42, 0, 43, 44, 0, 45, 0, 286, 0,
2213 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 : 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2215 : 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2216 : 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2217 : 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2218 : 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2219 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2220 : 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2221 : 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2222 : 126, 127, 128, 129, 130, 131, 132, 0, 133, 134,
2223 : 0, 0, 135, 136, 0, 0, 0, 0, 0, 0,
2224 : 0, 0, 0, 0, 0, 0, 0, 0, 137, 138,
2225 : 139, 140, 141, 142, 143, 144, 145, 0, 0, 0,
2226 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 : 0, 0, 146, 147, 148, 149, 0, 0, 0, 150,
2228 : 151, 152, 0, 0, 0, 0, 0, 0, 0, 0,
2229 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 : 0, 153, 154, 155, 156, 157, 158, 159, 160, 1,
2231 : 0, 0, 2, 0, 3, 4, 0, 5, 0, 0,
2232 : 0, 0, 0, 0, 0, 6, 7, 8, 9, 10,
2233 : 11, 12, 13, 0, 0, 0, 0, 14, 0, 0,
2234 : 0, 0, 15, 0, 0, 0, 0, 16, 0, 0,
2235 : 0, 17, 0, 18, 19, 20, 0, 0, 0, 0,
2236 : 21, 22, 0, 0, 0, 23, 24, 0, 0, 0,
2237 : 0, 0, 0, 25, 26, 27, 0, 0, 0, 0,
2238 : 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
2239 : 29, 0, 0, 0, 0, 0, 0, 30, 31, 32,
2240 : 0, 0, 33, 0, 34, 0, 0, 0, 0, 0,
2241 : 0, 0, 0, 0, 0, 0, 0, 35, 0, 36,
2242 : 0, 0, 0, 37, 0, 0, 38, 0, 0, 0,
2243 : 0, 0, 0, 0, 39, 40, 41, 0, 42, 0,
2244 : 43, 44, 0, 45, 0, 0, 0, 0, 0, 0,
2245 : 0, 0, 0, 0, 0, 0, 0, 46, 47, 48,
2246 : 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2247 : 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2248 : 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2249 : 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2250 : 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2251 : 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2252 : 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2253 : 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2254 : 129, 130, 131, 132, 0, 133, 134, 0, 0, 135,
2255 : 136, 0, 0, 0, 0, 0, 0, 0, 1254, 0,
2256 : 0, 0, 0, 0, 0, 137, 138, 139, 140, 141,
2257 : 142, 143, 144, 145, 0, 0, 0, 0, 0, 0,
2258 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
2259 : 147, 148, 149, 0, 0, 0, 150, 151, 152, 0,
2260 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 : 0, 0, 0, 0, 0, 0, 0, 0, 153, 154,
2262 : 155, 156, 157, 158, 159, 160, 1, 0, 0, 2,
2263 : 0, 3, 4, 0, 5, 0, 0, 0, 0, 0,
2264 : 0, 0, 6, 7, 8, 9, 10, 11, 12, 13,
2265 : 0, 0, 0, 0, 14, 0, 0, 0, 0, 15,
2266 : 0, 0, 0, 0, 16, 0, 0, 0, 17, 0,
2267 : 18, 19, 20, 0, 0, 0, 0, 21, 22, 0,
2268 : 0, 0, 23, 24, 0, 0, 0, 0, 0, 0,
2269 : 25, 26, 27, 0, 0, 0, 0, 0, 0, 28,
2270 : 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
2271 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2272 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2273 : 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,
2274 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2275 : 0, 39, 40, 41, 0, 42, 0, 43, 44, 0,
2276 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2278 : 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2279 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2280 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2281 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2282 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2283 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2284 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2285 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2286 : 132, 0, 133, 134, 0, 1306, 135, 136, 0, 0,
2287 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2289 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2290 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2291 : 0, 0, 0, 150, 151, 152, 0, 0, 0, 0,
2292 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 : 0, 0, 0, 0, 0, 153, 154, 155, 156, 157,
2294 : 158, 159, 160, 1, 0, 0, 2, 0, 3, 4,
2295 : 0, 5, 0, 0, 0, 0, 0, 0, 0, 6,
2296 : 7, 8, 9, 10, 11, 12, 13, 0, 0, 0,
2297 : 0, 14, 0, 0, 0, 0, 15, 0, 0, 0,
2298 : 0, 16, 0, 0, 0, 17, 0, 18, 19, 20,
2299 : 0, 0, 0, 0, 21, 22, 0, 0, 0, 23,
2300 : 24, 0, 0, 0, 0, 0, 0, 25, 26, 27,
2301 : 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
2302 : 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
2303 : 0, 30, 31, 32, 0, 0, 33, 0, 34, 0,
2304 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2305 : 0, 35, 0, 36, 0, 0, 0, 37, 0, 0,
2306 : 38, 0, 0, 0, 0, 0, 0, 0, 39, 40,
2307 : 41, 0, 42, 0, 43, 44, 0, 45, 0, 0,
2308 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2309 : 0, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2310 : 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2311 : 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2312 : 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2313 : 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2314 : 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2315 : 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2316 : 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2317 : 125, 126, 127, 128, 129, 130, 131, 132, 0, 133,
2318 : 134, 0, 0, 135, 136, 0, 0, 0, 0, 0,
2319 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 137,
2320 : 138, 139, 140, 141, 142, 143, 144, 145, 0, 0,
2321 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2322 : 0, 0, 0, 146, 147, 148, 149, 0, 0, 0,
2323 : 150, 151, 152, 0, 0, 0, 0, 0, 0, 0,
2324 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2325 : 0, 0, 153, 154, 155, 156, 157, 158, 159, 160,
2326 : 443, 0, 0, 2, 0, 3, 4, 0, 310, 0,
2327 : 0, 0, 0, 0, 0, 0, 6, 7, 8, 9,
2328 : 10, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2329 : 0, 0, 0, 15, 0, 0, 0, 0, 16, 0,
2330 : 0, 0, 0, 0, 18, 19, 0, 0, 0, 0,
2331 : 0, 21, 22, 0, 0, 0, 23, 0, 0, 0,
2332 : 0, 0, 0, 0, 25, 26, 0, 0, 0, 0,
2333 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334 : 0, 29, 0, 0, 0, 0, 0, 0, 30, 31,
2335 : 32, 0, 0, 33, 0, 34, 0, 0, 0, 0,
2336 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337 : 444, 0, 0, 0, 37, 0, 0, 38, 0, 0,
2338 : 0, 0, 0, 0, 0, 39, 40, 41, 0, 42,
2339 : 0, 0, 44, 0, 45, 0, 286, 0, 0, 0,
2340 : 0, 0, 0, 0, 0, 0, 0, 0, 46, 47,
2341 : 48, 49, 50, 51, 52, 312, 54, 55, 56, 57,
2342 : 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2343 : 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2344 : 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2345 : 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2346 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2347 : 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2348 : 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2349 : 128, 129, 130, 131, 132, 0, 133, 134, 0, 0,
2350 : 135, 136, 0, 0, 0, 0, 0, 0, 0, 0,
2351 : 0, 0, 0, 0, 0, 0, 137, 138, 139, 140,
2352 : 141, 142, 143, 144, 145, 0, 0, 0, 0, 0,
2353 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2354 : 146, 147, 148, 149, 0, 0, 0, 150, 151, 152,
2355 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2356 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
2357 : 154, 155, 156, 157, 158, 159, 160, 309, 0, 0,
2358 : 2, 0, 3, 4, 0, 310, 0, 0, 0, 0,
2359 : 0, 0, 0, 6, 7, 8, 9, 10, 11, 311,
2360 : 13, 0, 0, 0, 0, 14, 0, 0, 0, 0,
2361 : 15, 0, 0, 0, 0, 16, 0, 0, 0, 0,
2362 : 0, 18, 19, 0, 0, 0, 0, 0, 21, 22,
2363 : 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2364 : 0, 25, 26, 0, 0, 0, 0, 0, 0, 0,
2365 : 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
2366 : 0, 0, 0, 0, 0, 30, 31, 32, 0, 0,
2367 : 33, 0, 34, 0, 0, 0, 0, 0, 0, 0,
2368 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369 : 0, 37, 0, 0, 38, 0, 0, 0, 0, 0,
2370 : 0, 0, 39, 40, 41, 0, 42, 0, 0, 44,
2371 : 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
2372 : 0, 0, 0, 0, 0, 46, 47, 48, 49, 50,
2373 : 51, 52, 312, 54, 55, 56, 57, 58, 59, 60,
2374 : 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2375 : 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2376 : 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2377 : 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2378 : 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2379 : 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2380 : 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2381 : 131, 132, 0, 133, 134, 0, 0, 135, 136, 0,
2382 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383 : 0, 0, 0, 137, 138, 139, 140, 141, 142, 143,
2384 : 144, 145, 0, 0, 0, 0, 0, 0, 0, 0,
2385 : 0, 0, 0, 0, 0, 0, 0, 146, 147, 148,
2386 : 149, 0, 0, 0, 150, 151, 152, 0, 0, 0,
2387 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2388 : 0, 0, 0, 0, 0, 0, 153, 154, 155, 156,
2389 : 157, 158, 159, 160, 309, 0, 0, 2, 0, 3,
2390 : 4, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2391 : 6, 7, 8, 9, 10, 11, 12, 13, 0, 0,
2392 : 0, 0, 14, 0, 0, 0, 0, 15, 0, 0,
2393 : 0, 0, 16, 0, 0, 0, 0, 0, 18, 19,
2394 : 0, 0, 0, 0, 0, 21, 22, 0, 0, 0,
2395 : 23, 0, 0, 0, 0, 0, 0, 0, 25, 26,
2396 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 : 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
2398 : 0, 0, 30, 31, 32, 0, 0, 33, 0, 34,
2399 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2400 : 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
2401 : 0, 38, 0, 0, 0, 0, 0, 0, 0, 39,
2402 : 40, 41, 0, 42, 0, 0, 44, 0, 45, 0,
2403 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2404 : 0, 0, 46, 47, 48, 49, 50, 51, 52, 312,
2405 : 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2406 : 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2407 : 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2408 : 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2409 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2410 : 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2411 : 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
2412 : 124, 125, 126, 127, 128, 129, 130, 131, 132, 0,
2413 : 133, 134, 0, 0, 135, 136, 0, 0, 0, 0,
2414 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2415 : 137, 138, 139, 140, 141, 142, 143, 144, 145, 0,
2416 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2417 : 0, 0, 0, 0, 146, 147, 148, 149, 0, 0,
2418 : 0, 150, 151, 152, 0, 0, 0, 0, 0, 0,
2419 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2420 : 0, 0, 0, 153, 154, 155, 156, 157, 158, 159,
2421 : 160, 360, 0, 0, 2, 0, 3, 4, 0, 310,
2422 : 0, 0, 0, 0, 0, 0, 0, 6, 7, 8,
2423 : 9, 10, 11, 311, 13, 0, 0, 0, 0, 14,
2424 : 0, 0, 0, 0, 15, 0, 0, 0, 0, 16,
2425 : 0, 0, 0, 0, 0, 18, 19, 0, 0, 0,
2426 : 0, 0, 21, 22, 0, 0, 0, 23, 0, 0,
2427 : 0, 0, 0, 0, 0, 25, 26, 0, 0, 0,
2428 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2429 : 0, 0, 29, 0, 0, 0, 0, 0, 0, 30,
2430 : 31, 32, 0, 0, 33, 0, 34, 0, 0, 0,
2431 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2432 : 0, 0, 0, 0, 0, 37, 0, 0, 38, 0,
2433 : 0, 0, 0, 0, 0, 0, 39, 40, 41, 0,
2434 : 42, 0, 0, 44, 0, 45, 0, 0, 0, 0,
2435 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
2436 : 47, 48, 49, 50, 51, 52, 312, 54, 55, 56,
2437 : 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2438 : 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2439 : 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2440 : 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2441 : 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2442 : 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2443 : 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2444 : 127, 128, 129, 130, 131, 132, 0, 133, 134, 0,
2445 : 0, 135, 136, 0, 0, 0, 0, 0, 0, 0,
2446 : 0, 0, 0, 0, 0, 0, 0, 137, 138, 139,
2447 : 140, 141, 142, 143, 144, 145, 0, 0, 0, 0,
2448 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2449 : 0, 146, 147, 148, 149, 0, 0, 0, 150, 151,
2450 : 152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2451 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2452 : 153, 154, 155, 156, 157, 158, 159, 160, 360, 0,
2453 : 0, 2, 0, 3, 4, 0, 310, 0, 0, 0,
2454 : 0, 0, 0, 0, 6, 7, 8, 9, 10, 11,
2455 : 311, 13, 0, 0, 0, 0, 14, 0, 0, 0,
2456 : 0, 15, 0, 0, 0, 0, 16, 0, 0, 0,
2457 : 0, 0, 18, 19, 0, 0, 0, 0, 0, 21,
2458 : 22, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2459 : 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
2460 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
2461 : 0, 0, 0, 0, 0, 0, 30, 31, 32, 0,
2462 : 0, 33, 0, 34, 0, 0, 0, 0, 0, 0,
2463 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2464 : 0, 0, 37, 0, 0, 38, 0, 0, 0, 0,
2465 : 0, 0, 0, 39, 40, 41, 0, 0, 0, 0,
2466 : 44, 0, 45, 0, 0, 0, 0, 0, 0, 0,
2467 : 0, 0, 0, 0, 0, 0, 46, 47, 48, 49,
2468 : 50, 51, 52, 312, 54, 55, 56, 57, 58, 59,
2469 : 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2470 : 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2471 : 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2472 : 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2473 : 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2474 : 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2475 : 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2476 : 130, 131, 132, 0, 133, 134, 0, 0, 135, 136,
2477 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 : 0, 0, 0, 0, 137, 138, 139, 140, 141, 142,
2479 : 143, 144, 145, 0, 0, 0, 0, 0, 0, 0,
2480 : 0, 0, 0, 0, 0, 0, 0, 0, 146, 147,
2481 : 148, 149, 0, 0, 0, 150, 151, 152, 0, 0,
2482 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2483 : 0, 0, 0, 0, 0, 0, 0, 153, 154, 155,
2484 : 156, 157, 158, 159, 160, 360, 0, 0, 2, 0,
2485 : 3, 4, 0, 310, 0, 0, 0, 0, 0, 0,
2486 : 0, 6, 7, 8, 9, 10, 11, 0, 13, 0,
2487 : 0, 0, 0, 14, 0, 0, 0, 0, 15, 0,
2488 : 0, 486, 0, 16, 0, 0, 0, 0, 0, 18,
2489 : 19, 0, 0, 0, 0, 0, 21, 22, 0, 0,
2490 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2491 : 26, 0, 0, 0, 0, 0, 487, 0, 0, 0,
2492 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2493 : 488, 0, 0, 30, 31, 32, 0, 0, 33, 0,
2494 : 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2495 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
2496 : 0, 0, 38, 0, 0, 0, 0, 0, 0, 489,
2497 : 39, 40, 41, 0, 0, 0, 0, 44, 0, 45,
2498 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2499 : 0, 0, 0, 46, 47, 48, 49, 50, 51, 52,
2500 : 312, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2501 : 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2502 : 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2503 : 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2504 : 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2505 : 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2506 : 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2507 : 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2508 : 0, 133, 134, 0, 0, 135, 136, 0, 0, 0,
2509 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2510 : 0, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2511 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2512 : 0, 0, 0, 0, 0, 146, 147, 148, 149, 0,
2513 : 0, 0, 150, 151, 152, 360, 0, 0, 2, 0,
2514 : 3, 4, 0, 310, 0, 0, 0, 0, 0, 0,
2515 : 0, 6, 7, 8, 9, 10, 11, 0, 13, 0,
2516 : 159, 160, 0, 14, 0, 0, 0, 0, 15, 0,
2517 : 0, 0, 0, 16, 0, 0, 0, 0, 0, 18,
2518 : 19, 0, 0, 0, 0, 0, 21, 22, 0, 0,
2519 : 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2520 : 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2521 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2522 : 0, 0, 0, 30, 31, 32, 0, 0, 33, 0,
2523 : 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2524 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
2525 : 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
2526 : 39, 40, 41, 0, 0, 0, 0, 44, 0, 45,
2527 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2528 : 0, 0, 0, 46, 47, 48, 49, 50, 51, 52,
2529 : 312, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2530 : 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2531 : 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2532 : 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2533 : 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2534 : 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2535 : 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2536 : 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2537 : 0, 133, 134, 0, 0, 135, 136, 361, 0, 0,
2538 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2539 : 0, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2540 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2541 : 0, 0, 0, 0, 0, 146, 147, 148, 149, 0,
2542 : 0, 0, 150, 151, 152, 0, 0, 0, 0, 0,
2543 : 0, 0, 0, 0, 0, 0, 360, 0, 0, 2,
2544 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2545 : 159, 160, 6, 7, 8, 9, 10, 11, 0, 13,
2546 : 0, 389, 0, 0, 390, 0, 0, 0, 0, 15,
2547 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2548 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2549 : 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
2550 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2551 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2552 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2553 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2554 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 : 391, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2556 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2557 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2559 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2560 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2561 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2562 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2563 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2564 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2565 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2566 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2567 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2568 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2570 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2571 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2572 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2573 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2574 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2575 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2576 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2577 : 18, 19, 0, 0, 0, 0, 0, 21, 507, 0,
2578 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2580 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2582 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2583 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2584 : 37, 0, 0, 38, 0, 0, 0, 508, 509, 0,
2585 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2586 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2588 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2589 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2590 : 72, 73, 74, 75, 76, 77, 78, 510, 511, 512,
2591 : 82, 83, 84, 85, 513, 87, 88, 89, 90, 514,
2592 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2593 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2594 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2595 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2596 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2597 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2598 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2599 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2601 : 0, 0, 0, 150, 151, 152, 521, 0, 0, 2,
2602 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2603 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2604 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2605 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2606 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2607 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2609 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2611 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2612 : 0, 0, 0, 0, 0, 0, 444, 0, 0, 0,
2613 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2614 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2615 : 45, 0, 286, 0, 0, 0, 0, 0, 0, 0,
2616 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2617 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2618 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2619 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2620 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2621 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2622 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2623 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2624 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2625 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2626 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2628 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2630 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2631 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2632 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2633 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2634 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2635 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2636 : 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
2637 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2638 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2640 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2641 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2643 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2644 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2646 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2647 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2648 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2649 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2650 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2651 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2652 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2653 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2654 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2655 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2656 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2657 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2659 : 0, 0, 0, 150, 151, 152, 360, 567, 0, 2,
2660 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2661 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2662 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2663 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2664 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2665 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2667 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2669 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2670 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2672 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2673 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2675 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2676 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2677 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2678 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2679 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2680 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2681 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2682 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2683 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2684 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2686 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2688 : 0, 0, 0, 150, 151, 152, 360, 583, 0, 2,
2689 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2690 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2691 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2692 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2693 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2694 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2696 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2698 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2699 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2701 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2702 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2704 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2705 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2706 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2707 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2708 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2709 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2710 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2711 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2712 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2713 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2715 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2717 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2718 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2719 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2720 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2721 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2722 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2723 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 : 0, 26, 0, 0, 0, 0, 0, 645, 0, 0,
2725 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2727 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2728 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2730 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2731 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2733 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2734 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2735 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2736 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2737 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2738 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2739 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2740 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2741 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2742 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2744 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2746 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2747 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2748 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2749 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2750 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2751 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2752 : 0, 0, 972, 0, 0, 0, 0, 0, 0, 0,
2753 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2754 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2756 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2757 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2758 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2759 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2760 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2761 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2762 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2763 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2764 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2765 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2766 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2767 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2768 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2769 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2770 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2771 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2773 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2774 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2775 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2776 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2777 : 0, 0, 6, 7, 8, 9, 10, 11, 0, 13,
2778 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2779 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2780 : 18, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2781 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2783 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 : 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
2785 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2786 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2788 : 0, 39, 40, 41, 0, 0, 0, 0, 44, 0,
2789 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2791 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2792 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2793 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2794 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2795 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2796 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2797 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2798 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2799 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2800 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2802 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2804 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2805 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2806 : 0, 0, 0, 7, 8, 9, 10, 11, 0, 13,
2807 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2808 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2809 : 0, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2810 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2812 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 : 0, 0, 0, 0, 0, 31, 32, 0, 0, 33,
2814 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2815 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2817 : 0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
2818 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2820 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2821 : 62, 63, 64, 65, 66, 0, 68, 0, 0, 0,
2822 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2823 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2824 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2825 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2826 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2827 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2828 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2829 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2831 : 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2833 : 0, 0, 0, 150, 151, 152, 360, 0, 0, 2,
2834 : 0, 3, 4, 0, 310, 0, 0, 0, 0, 0,
2835 : 0, 0, 0, 7, 8, 9, 10, 11, 0, 13,
2836 : 0, 159, 160, 0, 14, 0, 0, 0, 0, 15,
2837 : 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
2838 : 0, 19, 0, 0, 0, 0, 0, 21, 22, 0,
2839 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 : 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
2841 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 : 0, 0, 0, 0, 0, 31, 32, 0, 0, 33,
2843 : 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
2844 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 : 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
2846 : 0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
2847 : 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 : 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
2849 : 52, 312, 54, 55, 56, 57, 58, 59, 60, 61,
2850 : 62, 63, 64, 65, 66, 0, 68, 0, 0, 0,
2851 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2852 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2853 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2854 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2855 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2856 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2857 : 132, 0, 133, 134, 0, 0, 135, 136, 0, 0,
2858 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 : 0, 0, 137, 138, 139, 140, 141, 142, 143, 144,
2860 : 145, 742, 0, 0, 0, 0, 0, 0, 0, 0,
2861 : 0, 0, 0, 0, 0, 0, 146, 147, 148, 149,
2862 : 0, 0, 743, 150, 151, 152, 0, 0, 0, 0,
2863 : 0, 0, 0, 744, 0, 0, 745, 746, 0, 0,
2864 : 0, 0, 0, 747, 0, 0, 0, 0, 0, 0,
2865 : 748, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 : 0, 0, 749, 0, 0, 0, 0, 0, 0, 0,
2867 : 0, 0, 0, 0, 0, 750, 0, 751, 0, 0,
2868 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 752,
2869 : 0, 0, 0, 0, 0, 0, 753, 0, 0, 0,
2870 : 0, 0, 754, 755, 0, 0, 0, 0, 0, 0,
2871 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 : 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2873 : 0, 0, 0, 756, 0, 0, 0, 13, 0, 0,
2874 : 0, 0, 14, 0, 0, 0, 0, 15, 0, 0,
2875 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
2876 : 0, 0, 0, 0, 0, 21, 22, 0, 0, 0,
2877 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 : 0, 0, 0, 31, 32, 0, 0, 0, 0, 0,
2881 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 : 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
2883 : 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
2884 : 0, 0, 0, 0, 0, 0, 0, 0, 757, 758,
2885 : 0, 0, 759, 760, 0, 761, 762, 763, 764, 0,
2886 : 765, 766, 46, 0, 48, 449, 0, 51, 52, 312,
2887 : 54, 55, 56, 57, 58, 59, 450, 61, 62, 63,
2888 : 64, 65, 66, 0, 68, 0, 0, 0, 72, 73,
2889 : 74, 75, 76, 77, 451, 79, 80, 81, 82, 83,
2890 : 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2891 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2892 : 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2893 : 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
2894 : 124, 125, 126, 127, 128, 129, 130, 131, 132, 310,
2895 : 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 : 0, 0, 0, 0, 435, 0, 0, 0, 0, 14,
2897 : 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
2898 : 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
2899 : 0, 0, 21, 22, 0, 0, 0, 0, 0, 0,
2900 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 : 31, 32, 0, 0, 0, 0, 0, 0, 0, 0,
2904 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 : 0, 0, 0, 0, 0, 37, 0, 0, 38, 0,
2906 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
2909 : 0, 48, 0, 0, 51, 52, 312, 54, 55, 56,
2910 : 57, 58, 59, 0, 61, 62, 63, 64, 65, 66,
2911 : 0, 68, 0, 0, 0, 72, 73, 74, 75, 76,
2912 : 77, 0, 79, 80, 81, 82, 83, 84, 85, 86,
2913 : 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2914 : 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2915 : 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2916 : 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2917 : 127, 128, 129, 130, 131, 132, 0, 133
2918 : };
2919 :
2920 : #define yypact_value_is_default(yystate) \
2921 : ((yystate) == (-1155))
2922 :
2923 : #define yytable_value_is_error(yytable_value) \
2924 : YYID (0)
2925 :
2926 : static const yytype_int16 yycheck[] =
2927 : {
2928 : 0, 1, 1, 43, 134, 302, 29, 25, 315, 302,
2929 : 369, 302, 318, 1, 187, 494, 26, 4, 633, 28,
2930 : 174, 174, 174, 369, 42, 400, 401, 174, 285, 404,
2931 : 174, 406, 934, 524, 4, 937, 4, 4, 344, 356,
2932 : 357, 815, 750, 761, 762, 4, 754, 755, 756, 366,
2933 : 367, 11, 3, 62, 26, 3, 764, 187, 0, 1,
2934 : 32, 726, 51, 74, 835, 5, 79, 864, 4, 859,
2935 : 3, 377, 4, 466, 102, 4, 4, 4, 766, 998,
2936 : 5, 4, 924, 407, 5, 460, 363, 332, 77, 334,
2937 : 4, 746, 4, 142, 4, 71, 751, 5, 255, 121,
2938 : 807, 241, 3, 5, 42, 65, 50, 1089, 3, 26,
2939 : 11, 26, 4, 26, 5, 4, 66, 37, 11, 19,
2940 : 3, 467, 6, 5, 28, 26, 33, 1281, 121, 13,
2941 : 26, 75, 26, 247, 248, 249, 1038, 81, 37, 6,
2942 : 62, 121, 1061, 26, 154, 302, 13, 47, 1302, 606,
2943 : 94, 40, 4, 26, 61, 165, 1058, 66, 62, 79,
2944 : 140, 25, 469, 321, 322, 3, 757, 758, 26, 89,
2945 : 310, 1153, 65, 183, 96, 482, 85, 25, 669, 71,
2946 : 79, 131, 154, 74, 74, 33, 443, 3, 495, 37,
2947 : 89, 91, 25, 165, 74, 108, 3, 905, 906, 319,
2948 : 3, 3, 375, 3, 37, 580, 379, 293, 11, 466,
2949 : 918, 183, 113, 61, 66, 153, 160, 462, 113, 60,
2950 : 84, 26, 308, 26, 168, 143, 543, 32, 128, 129,
2951 : 279, 79, 1151, 255, 142, 135, 84, 154, 139, 154,
2952 : 947, 89, 1084, 950, 139, 375, 79, 571, 165, 379,
2953 : 165, 84, 425, 530, 499, 1237, 89, 84, 154, 141,
2954 : 154, 916, 255, 74, 521, 658, 183, 3, 183, 165,
2955 : 6, 165, 172, 1192, 254, 74, 3, 13, 1075, 131,
2956 : 320, 321, 3, 323, 83, 285, 285, 183, 634, 183,
2957 : 410, 882, 320, 134, 1012, 425, 1067, 285, 1016, 606,
2958 : 891, 241, 1092, 40, 1022, 612, 897, 320, 297, 320,
2959 : 309, 321, 321, 1031, 1216, 355, 305, 158, 909, 270,
2960 : 241, 309, 270, 274, 444, 1227, 274, 26, 316, 688,
2961 : 318, 638, 707, 320, 709, 710, 951, 270, 713, 241,
2962 : 1005, 716, 688, 285, 320, 824, 1034, 84, 320, 840,
2963 : 320, 339, 320, 320, 1144, 343, 344, 345, 376, 665,
2964 : 320, 320, 361, 386, 352, 353, 354, 1269, 356, 357,
2965 : 358, 359, 360, 527, 527, 527, 394, 736, 366, 367,
2966 : 527, 421, 370, 527, 320, 702, 692, 310, 320, 377,
2967 : 736, 320, 320, 320, 1112, 320, 310, 527, 310, 439,
2968 : 310, 138, 3, 557, 321, 25, 321, 1115, 310, 311,
2969 : 727, 55, 400, 401, 402, 403, 404, 405, 406, 143,
2970 : 408, 409, 879, 880, 412, 318, 319, 320, 321, 322,
2971 : 320, 419, 270, 473, 1025, 423, 274, 1028, 1053, 3,
2972 : 320, 1056, 3, 1217, 443, 1219, 1220, 1221, 312, 313,
2973 : 314, 315, 316, 317, 270, 443, 8, 803, 274, 26,
2974 : 939, 636, 318, 319, 312, 313, 314, 315, 316, 317,
2975 : 270, 3, 460, 68, 274, 50, 55, 652, 3, 312,
2976 : 313, 314, 315, 316, 317, 312, 313, 314, 315, 316,
2977 : 317, 3, 19, 320, 21, 22, 83, 24, 805, 487,
2978 : 75, 96, 675, 3, 492, 26, 81, 146, 147, 148,
2979 : 149, 20, 21, 22, 23, 24, 689, 75, 825, 94,
2980 : 1135, 0, 43, 81, 6, 100, 8, 9, 527, 4,
2981 : 5, 3, 7, 521, 7, 130, 524, 5, 133, 7,
2982 : 184, 185, 186, 4, 5, 675, 7, 191, 3, 549,
2983 : 427, 72, 196, 430, 431, 543, 25, 730, 298, 689,
2984 : 300, 4, 5, 138, 7, 245, 246, 607, 608, 609,
2985 : 4, 5, 879, 880, 43, 312, 313, 314, 315, 316,
2986 : 317, 4, 5, 320, 105, 160, 3, 96, 4, 5,
2987 : 59, 7, 580, 168, 146, 147, 148, 149, 287, 288,
2988 : 730, 641, 160, 4, 5, 184, 185, 186, 4, 5,
2989 : 168, 132, 191, 3, 602, 633, 604, 196, 28, 618,
2990 : 3, 996, 997, 298, 131, 300, 933, 934, 137, 3,
2991 : 937, 4, 5, 154, 7, 3, 105, 4, 5, 50,
2992 : 7, 110, 4, 5, 165, 7, 301, 302, 1007, 637,
2993 : 60, 4, 5, 3, 7, 643, 403, 645, 405, 84,
2994 : 60, 1007, 183, 132, 75, 174, 175, 176, 4, 5,
2995 : 81, 7, 660, 661, 662, 86, 664, 665, 666, 311,
2996 : 703, 669, 310, 94, 3, 839, 839, 839, 4, 5,
2997 : 947, 3, 839, 4, 5, 839, 3, 851, 4, 5,
2998 : 110, 293, 294, 113, 692, 835, 257, 258, 3, 839,
2999 : 110, 4, 5, 113, 702, 3, 704, 705, 3, 707,
3000 : 3, 709, 710, 3, 134, 713, 136, 282, 716, 255,
3001 : 256, 1038, 600, 601, 134, 282, 136, 3, 6, 727,
3002 : 8, 9, 14, 15, 16, 17, 18, 3, 158, 160,
3003 : 3, 1058, 20, 21, 22, 23, 24, 168, 158, 20,
3004 : 21, 22, 23, 24, 1061, 1124, 1072, 3, 1061, 37,
3005 : 1061, 4, 5, 4, 5, 1150, 4, 5, 600, 601,
3006 : 159, 160, 3, 51, 413, 414, 493, 494, 6, 807,
3007 : 8, 9, 415, 416, 34, 44, 796, 320, 318, 3,
3008 : 68, 3, 20, 21, 22, 23, 24, 6, 4, 8,
3009 : 9, 85, 85, 986, 312, 10, 839, 145, 12, 12,
3010 : 26, 20, 21, 22, 23, 24, 26, 19, 96, 83,
3011 : 106, 3, 5, 51, 4, 823, 100, 114, 245, 827,
3012 : 3, 28, 4, 90, 4, 3, 13, 13, 32, 5,
3013 : 68, 138, 840, 4, 3, 141, 986, 74, 5, 138,
3014 : 4, 26, 130, 74, 74, 26, 74, 74, 3, 137,
3015 : 242, 74, 4, 74, 311, 246, 74, 4, 96, 21,
3016 : 4, 113, 5, 4, 26, 5, 4, 26, 5, 5,
3017 : 4, 3, 26, 4, 32, 1192, 5, 126, 13, 1192,
3018 : 42, 1192, 99, 1262, 312, 4, 65, 40, 5, 1216,
3019 : 5, 53, 130, 5, 56, 57, 5, 242, 303, 137,
3020 : 1227, 63, 4, 23, 4, 4, 74, 13, 70, 947,
3021 : 929, 3, 950, 951, 238, 13, 104, 1067, 3, 3,
3022 : 82, 1300, 3, 100, 4, 4, 42, 4, 3, 3,
3023 : 87, 87, 5, 95, 99, 97, 4, 26, 77, 150,
3024 : 4, 19, 1269, 320, 62, 5, 5, 109, 5, 40,
3025 : 77, 102, 289, 23, 116, 289, 23, 271, 23, 271,
3026 : 122, 123, 271, 126, 114, 23, 3, 271, 976, 142,
3027 : 4, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3028 : 103, 86, 86, 26, 3, 26, 40, 995, 996, 997,
3029 : 78, 153, 1000, 4, 4, 12, 5, 3, 74, 4,
3030 : 4, 122, 4, 271, 126, 26, 5, 43, 122, 251,
3031 : 76, 299, 12, 304, 86, 1053, 5, 5, 1056, 144,
3032 : 23, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3033 : 3, 144, 101, 96, 5, 300, 71, 300, 295, 101,
3034 : 4, 4, 3, 1062, 250, 255, 245, 3, 5, 110,
3035 : 32, 306, 311, 32, 3, 3, 23, 307, 255, 3,
3036 : 296, 299, 253, 307, 1072, 1125, 26, 26, 26, 23,
3037 : 7, 69, 1041, 933, 309, 1060, 474, 983, 1067, 825,
3038 : 1047, 634, 803, 604, 1303, 816, 1178, 12, 174, 387,
3039 : 688, 547, 174, 388, 688, 637, 1231, 1135, 1230, 1151,
3040 : 1237, 955, 1007, 1089, 608, 599, 268, 269, 1124, 318,
3041 : 272, 273, 795, 275, 276, 277, 278, 833, 280, 281,
3042 : 896, 411, 264, 377, 530, 839, 365, 528, 1179, 1247,
3043 : -1, 420, -1, -1, -1, -1, -1, -1, -1, -1,
3044 : -1, 3, 1150, -1, 6, -1, 8, 9, -1, 11,
3045 : 1169, -1, -1, -1, 1214, -1, -1, 19, 20, 21,
3046 : 22, 23, 24, -1, 26, -1, -1, 1186, -1, 31,
3047 : -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3048 : -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
3049 : -1, -1, 54, 55, -1, -1, -1, -1, -1, -1,
3050 : -1, -1, -1, -1, -1, 1225, 68, -1, -1, -1,
3051 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3052 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
3053 : 92, 93, -1, 1252, 96, -1, 98, -1, -1, -1,
3054 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3055 : -1, -1, -1, -1, -1, 117, -1, -1, 120, -1,
3056 : -1, 1281, -1, -1, -1, -1, 128, 129, 130, -1,
3057 : -1, -1, -1, 135, -1, 137, -1, -1, -1, -1,
3058 : -1, -1, 1302, -1, -1, -1, -1, -1, -1, 151,
3059 : 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3060 : 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3061 : 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3062 : 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
3063 : 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3064 : 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3065 : 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3066 : 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
3067 : 232, 233, 234, 235, 236, 237, -1, 239, 240, -1,
3068 : -1, 243, 244, -1, -1, -1, -1, -1, -1, -1,
3069 : -1, -1, -1, -1, -1, -1, -1, 259, 260, 261,
3070 : 262, 263, 264, 265, 266, 267, -1, -1, -1, -1,
3071 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3072 : -1, 283, 284, 285, 286, -1, -1, -1, 290, 291,
3073 : 292, -1, 3, -1, -1, 6, -1, 8, 9, -1,
3074 : 11, -1, -1, -1, -1, -1, -1, -1, 19, 20,
3075 : 21, 22, 23, 24, 25, 26, 318, 319, -1, 321,
3076 : 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3077 : 41, -1, -1, -1, 45, -1, 47, 48, 49, -1,
3078 : -1, -1, -1, 54, 55, -1, -1, -1, 59, 60,
3079 : -1, -1, -1, -1, -1, -1, 67, 68, 69, -1,
3080 : -1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
3081 : -1, -1, -1, 84, -1, -1, -1, -1, -1, -1,
3082 : 91, 92, 93, -1, -1, 96, -1, 98, -1, -1,
3083 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3084 : 111, -1, 113, -1, -1, -1, 117, -1, -1, 120,
3085 : -1, -1, -1, -1, -1, -1, -1, 128, 129, 130,
3086 : -1, 132, -1, 134, 135, -1, 137, -1, 139, -1,
3087 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3088 : 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3089 : 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3090 : 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3091 : 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
3092 : 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
3093 : 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
3094 : 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
3095 : 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
3096 : 231, 232, 233, 234, 235, 236, 237, -1, 239, 240,
3097 : -1, -1, 243, 244, -1, -1, -1, -1, -1, -1,
3098 : -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
3099 : 261, 262, 263, 264, 265, 266, 267, -1, -1, -1,
3100 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3101 : -1, -1, 283, 284, 285, 286, -1, -1, -1, 290,
3102 : 291, 292, -1, -1, -1, -1, -1, -1, -1, -1,
3103 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 : -1, 312, 313, 314, 315, 316, 317, 318, 319, 3,
3105 : -1, -1, 6, -1, 8, 9, -1, 11, -1, -1,
3106 : -1, -1, -1, -1, -1, 19, 20, 21, 22, 23,
3107 : 24, 25, 26, -1, -1, -1, -1, 31, -1, -1,
3108 : -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3109 : -1, 45, -1, 47, 48, 49, -1, -1, -1, -1,
3110 : 54, 55, -1, -1, -1, 59, 60, -1, -1, -1,
3111 : -1, -1, -1, 67, 68, 69, -1, -1, -1, -1,
3112 : -1, -1, 76, -1, -1, -1, -1, -1, -1, -1,
3113 : 84, -1, -1, -1, -1, -1, -1, 91, 92, 93,
3114 : -1, -1, 96, -1, 98, -1, -1, -1, -1, -1,
3115 : -1, -1, -1, -1, -1, -1, -1, 111, -1, 113,
3116 : -1, -1, -1, 117, -1, -1, 120, -1, -1, -1,
3117 : -1, -1, -1, -1, 128, 129, 130, -1, 132, -1,
3118 : 134, 135, -1, 137, -1, -1, -1, -1, -1, -1,
3119 : -1, -1, -1, -1, -1, -1, -1, 151, 152, 153,
3120 : 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3121 : 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3122 : 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
3123 : 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
3124 : 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3125 : 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3126 : 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3127 : 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
3128 : 234, 235, 236, 237, -1, 239, 240, -1, -1, 243,
3129 : 244, -1, -1, -1, -1, -1, -1, -1, 252, -1,
3130 : -1, -1, -1, -1, -1, 259, 260, 261, 262, 263,
3131 : 264, 265, 266, 267, -1, -1, -1, -1, -1, -1,
3132 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 283,
3133 : 284, 285, 286, -1, -1, -1, 290, 291, 292, -1,
3134 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3135 : -1, -1, -1, -1, -1, -1, -1, -1, 312, 313,
3136 : 314, 315, 316, 317, 318, 319, 3, -1, -1, 6,
3137 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3138 : -1, -1, 19, 20, 21, 22, 23, 24, 25, 26,
3139 : -1, -1, -1, -1, 31, -1, -1, -1, -1, 36,
3140 : -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
3141 : 47, 48, 49, -1, -1, -1, -1, 54, 55, -1,
3142 : -1, -1, 59, 60, -1, -1, -1, -1, -1, -1,
3143 : 67, 68, 69, -1, -1, -1, -1, -1, -1, 76,
3144 : -1, -1, -1, -1, -1, -1, -1, 84, -1, -1,
3145 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3146 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3147 : -1, -1, -1, -1, 111, -1, 113, -1, -1, -1,
3148 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3149 : -1, 128, 129, 130, -1, 132, -1, 134, 135, -1,
3150 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3151 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3152 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3153 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3154 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3155 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3156 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3157 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3158 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3159 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3160 : 237, -1, 239, 240, -1, 242, 243, 244, -1, -1,
3161 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3162 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3163 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3164 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3165 : -1, -1, -1, 290, 291, 292, -1, -1, -1, -1,
3166 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3167 : -1, -1, -1, -1, -1, 312, 313, 314, 315, 316,
3168 : 317, 318, 319, 3, -1, -1, 6, -1, 8, 9,
3169 : -1, 11, -1, -1, -1, -1, -1, -1, -1, 19,
3170 : 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
3171 : -1, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3172 : -1, 41, -1, -1, -1, 45, -1, 47, 48, 49,
3173 : -1, -1, -1, -1, 54, 55, -1, -1, -1, 59,
3174 : 60, -1, -1, -1, -1, -1, -1, 67, 68, 69,
3175 : -1, -1, -1, -1, -1, -1, 76, -1, -1, -1,
3176 : -1, -1, -1, -1, 84, -1, -1, -1, -1, -1,
3177 : -1, 91, 92, 93, -1, -1, 96, -1, 98, -1,
3178 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3179 : -1, 111, -1, 113, -1, -1, -1, 117, -1, -1,
3180 : 120, -1, -1, -1, -1, -1, -1, -1, 128, 129,
3181 : 130, -1, 132, -1, 134, 135, -1, 137, -1, -1,
3182 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3183 : -1, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3184 : 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3185 : 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3186 : 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3187 : 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3188 : 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3189 : 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3190 : 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
3191 : 230, 231, 232, 233, 234, 235, 236, 237, -1, 239,
3192 : 240, -1, -1, 243, 244, -1, -1, -1, -1, -1,
3193 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 259,
3194 : 260, 261, 262, 263, 264, 265, 266, 267, -1, -1,
3195 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3196 : -1, -1, -1, 283, 284, 285, 286, -1, -1, -1,
3197 : 290, 291, 292, -1, -1, -1, -1, -1, -1, -1,
3198 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3199 : -1, -1, 312, 313, 314, 315, 316, 317, 318, 319,
3200 : 3, -1, -1, 6, -1, 8, 9, -1, 11, -1,
3201 : -1, -1, -1, -1, -1, -1, 19, 20, 21, 22,
3202 : 23, 24, 25, 26, -1, -1, -1, -1, 31, -1,
3203 : -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
3204 : -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
3205 : -1, 54, 55, -1, -1, -1, 59, -1, -1, -1,
3206 : -1, -1, -1, -1, 67, 68, -1, -1, -1, -1,
3207 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3208 : -1, 84, -1, -1, -1, -1, -1, -1, 91, 92,
3209 : 93, -1, -1, 96, -1, 98, -1, -1, -1, -1,
3210 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3211 : 113, -1, -1, -1, 117, -1, -1, 120, -1, -1,
3212 : -1, -1, -1, -1, -1, 128, 129, 130, -1, 132,
3213 : -1, -1, 135, -1, 137, -1, 139, -1, -1, -1,
3214 : -1, -1, -1, -1, -1, -1, -1, -1, 151, 152,
3215 : 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3216 : 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3217 : 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3218 : 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3219 : 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3220 : 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3221 : 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3222 : 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3223 : 233, 234, 235, 236, 237, -1, 239, 240, -1, -1,
3224 : 243, 244, -1, -1, -1, -1, -1, -1, -1, -1,
3225 : -1, -1, -1, -1, -1, -1, 259, 260, 261, 262,
3226 : 263, 264, 265, 266, 267, -1, -1, -1, -1, -1,
3227 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3228 : 283, 284, 285, 286, -1, -1, -1, 290, 291, 292,
3229 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3230 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 312,
3231 : 313, 314, 315, 316, 317, 318, 319, 3, -1, -1,
3232 : 6, -1, 8, 9, -1, 11, -1, -1, -1, -1,
3233 : -1, -1, -1, 19, 20, 21, 22, 23, 24, 25,
3234 : 26, -1, -1, -1, -1, 31, -1, -1, -1, -1,
3235 : 36, -1, -1, -1, -1, 41, -1, -1, -1, -1,
3236 : -1, 47, 48, -1, -1, -1, -1, -1, 54, 55,
3237 : -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
3238 : -1, 67, 68, -1, -1, -1, -1, -1, -1, -1,
3239 : -1, -1, -1, -1, -1, -1, -1, -1, 84, -1,
3240 : -1, -1, -1, -1, -1, 91, 92, 93, -1, -1,
3241 : 96, -1, 98, -1, -1, -1, -1, -1, -1, -1,
3242 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3243 : -1, 117, -1, -1, 120, -1, -1, -1, -1, -1,
3244 : -1, -1, 128, 129, 130, -1, 132, -1, -1, 135,
3245 : -1, 137, -1, -1, -1, -1, -1, -1, -1, -1,
3246 : -1, -1, -1, -1, -1, 151, 152, 153, 154, 155,
3247 : 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3248 : 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3249 : 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
3250 : 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
3251 : 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3252 : 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3253 : 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3254 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
3255 : 236, 237, -1, 239, 240, -1, -1, 243, 244, -1,
3256 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3257 : -1, -1, -1, 259, 260, 261, 262, 263, 264, 265,
3258 : 266, 267, -1, -1, -1, -1, -1, -1, -1, -1,
3259 : -1, -1, -1, -1, -1, -1, -1, 283, 284, 285,
3260 : 286, -1, -1, -1, 290, 291, 292, -1, -1, -1,
3261 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3262 : -1, -1, -1, -1, -1, -1, 312, 313, 314, 315,
3263 : 316, 317, 318, 319, 3, -1, -1, 6, -1, 8,
3264 : 9, -1, 11, -1, -1, -1, -1, -1, -1, -1,
3265 : 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
3266 : -1, -1, 31, -1, -1, -1, -1, 36, -1, -1,
3267 : -1, -1, 41, -1, -1, -1, -1, -1, 47, 48,
3268 : -1, -1, -1, -1, -1, 54, 55, -1, -1, -1,
3269 : 59, -1, -1, -1, -1, -1, -1, -1, 67, 68,
3270 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3271 : -1, -1, -1, -1, -1, 84, -1, -1, -1, -1,
3272 : -1, -1, 91, 92, 93, -1, -1, 96, -1, 98,
3273 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3274 : -1, -1, -1, -1, -1, -1, -1, -1, 117, -1,
3275 : -1, 120, -1, -1, -1, -1, -1, -1, -1, 128,
3276 : 129, 130, -1, 132, -1, -1, 135, -1, 137, -1,
3277 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3278 : -1, -1, 151, 152, 153, 154, 155, 156, 157, 158,
3279 : 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3280 : 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3281 : 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
3282 : 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
3283 : 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
3284 : 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
3285 : 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
3286 : 229, 230, 231, 232, 233, 234, 235, 236, 237, -1,
3287 : 239, 240, -1, -1, 243, 244, -1, -1, -1, -1,
3288 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3289 : 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
3290 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3291 : -1, -1, -1, -1, 283, 284, 285, 286, -1, -1,
3292 : -1, 290, 291, 292, -1, -1, -1, -1, -1, -1,
3293 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3294 : -1, -1, -1, 312, 313, 314, 315, 316, 317, 318,
3295 : 319, 3, -1, -1, 6, -1, 8, 9, -1, 11,
3296 : -1, -1, -1, -1, -1, -1, -1, 19, 20, 21,
3297 : 22, 23, 24, 25, 26, -1, -1, -1, -1, 31,
3298 : -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3299 : -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
3300 : -1, -1, 54, 55, -1, -1, -1, 59, -1, -1,
3301 : -1, -1, -1, -1, -1, 67, 68, -1, -1, -1,
3302 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 : -1, -1, 84, -1, -1, -1, -1, -1, -1, 91,
3304 : 92, 93, -1, -1, 96, -1, 98, -1, -1, -1,
3305 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3306 : -1, -1, -1, -1, -1, 117, -1, -1, 120, -1,
3307 : -1, -1, -1, -1, -1, -1, 128, 129, 130, -1,
3308 : 132, -1, -1, 135, -1, 137, -1, -1, -1, -1,
3309 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
3310 : 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3311 : 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3312 : 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3313 : 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
3314 : 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3315 : 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3316 : 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3317 : 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
3318 : 232, 233, 234, 235, 236, 237, -1, 239, 240, -1,
3319 : -1, 243, 244, -1, -1, -1, -1, -1, -1, -1,
3320 : -1, -1, -1, -1, -1, -1, -1, 259, 260, 261,
3321 : 262, 263, 264, 265, 266, 267, -1, -1, -1, -1,
3322 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3323 : -1, 283, 284, 285, 286, -1, -1, -1, 290, 291,
3324 : 292, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3325 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3326 : 312, 313, 314, 315, 316, 317, 318, 319, 3, -1,
3327 : -1, 6, -1, 8, 9, -1, 11, -1, -1, -1,
3328 : -1, -1, -1, -1, 19, 20, 21, 22, 23, 24,
3329 : 25, 26, -1, -1, -1, -1, 31, -1, -1, -1,
3330 : -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3331 : -1, -1, 47, 48, -1, -1, -1, -1, -1, 54,
3332 : 55, -1, -1, -1, 59, -1, -1, -1, -1, -1,
3333 : -1, -1, -1, 68, -1, -1, -1, -1, -1, -1,
3334 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
3335 : -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
3336 : -1, 96, -1, 98, -1, -1, -1, -1, -1, -1,
3337 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3338 : -1, -1, 117, -1, -1, 120, -1, -1, -1, -1,
3339 : -1, -1, -1, 128, 129, 130, -1, -1, -1, -1,
3340 : 135, -1, 137, -1, -1, -1, -1, -1, -1, -1,
3341 : -1, -1, -1, -1, -1, -1, 151, 152, 153, 154,
3342 : 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
3343 : 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
3344 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
3345 : 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
3346 : 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
3347 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
3348 : 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
3349 : 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
3350 : 235, 236, 237, -1, 239, 240, -1, -1, 243, 244,
3351 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3352 : -1, -1, -1, -1, 259, 260, 261, 262, 263, 264,
3353 : 265, 266, 267, -1, -1, -1, -1, -1, -1, -1,
3354 : -1, -1, -1, -1, -1, -1, -1, -1, 283, 284,
3355 : 285, 286, -1, -1, -1, 290, 291, 292, -1, -1,
3356 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3357 : -1, -1, -1, -1, -1, -1, -1, 312, 313, 314,
3358 : 315, 316, 317, 318, 319, 3, -1, -1, 6, -1,
3359 : 8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
3360 : -1, 19, 20, 21, 22, 23, 24, -1, 26, -1,
3361 : -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
3362 : -1, 39, -1, 41, -1, -1, -1, -1, -1, 47,
3363 : 48, -1, -1, -1, -1, -1, 54, 55, -1, -1,
3364 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3365 : 68, -1, -1, -1, -1, -1, 74, -1, -1, -1,
3366 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3367 : 88, -1, -1, 91, 92, 93, -1, -1, 96, -1,
3368 : 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3369 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 117,
3370 : -1, -1, 120, -1, -1, -1, -1, -1, -1, 127,
3371 : 128, 129, 130, -1, -1, -1, -1, 135, -1, 137,
3372 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3373 : -1, -1, -1, 151, 152, 153, 154, 155, 156, 157,
3374 : 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3375 : 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3376 : 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
3377 : 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3378 : 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3379 : 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3380 : 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3381 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
3382 : -1, 239, 240, -1, -1, 243, 244, -1, -1, -1,
3383 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3384 : -1, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3385 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3386 : -1, -1, -1, -1, -1, 283, 284, 285, 286, -1,
3387 : -1, -1, 290, 291, 292, 3, -1, -1, 6, -1,
3388 : 8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
3389 : -1, 19, 20, 21, 22, 23, 24, -1, 26, -1,
3390 : 318, 319, -1, 31, -1, -1, -1, -1, 36, -1,
3391 : -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
3392 : 48, -1, -1, -1, -1, -1, 54, 55, -1, -1,
3393 : -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
3394 : 68, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3395 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3396 : -1, -1, -1, 91, 92, 93, -1, -1, 96, -1,
3397 : 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3398 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 117,
3399 : -1, -1, 120, -1, -1, -1, -1, -1, -1, -1,
3400 : 128, 129, 130, -1, -1, -1, -1, 135, -1, 137,
3401 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3402 : -1, -1, -1, 151, 152, 153, 154, 155, 156, 157,
3403 : 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3404 : 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3405 : 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
3406 : 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3407 : 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3408 : 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3409 : 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3410 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
3411 : -1, 239, 240, -1, -1, 243, 244, 245, -1, -1,
3412 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3413 : -1, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3414 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3415 : -1, -1, -1, -1, -1, 283, 284, 285, 286, -1,
3416 : -1, -1, 290, 291, 292, -1, -1, -1, -1, -1,
3417 : -1, -1, -1, -1, -1, -1, 3, -1, -1, 6,
3418 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3419 : 318, 319, 19, 20, 21, 22, 23, 24, -1, 26,
3420 : -1, 28, -1, -1, 31, -1, -1, -1, -1, 36,
3421 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3422 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3423 : -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
3424 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3425 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3426 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3427 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3428 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3429 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3430 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3431 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3432 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3433 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3434 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3435 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3436 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3437 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3438 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3439 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3440 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3441 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3442 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3443 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3444 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3445 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3446 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3447 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3448 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3449 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3450 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3451 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3452 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3453 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3454 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3455 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3456 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3457 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3458 : 117, -1, -1, 120, -1, -1, -1, 124, 125, -1,
3459 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3460 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3461 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3462 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3463 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3464 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3465 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3466 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3467 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3468 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3469 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3470 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3471 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3472 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3473 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3474 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3475 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3476 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3477 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3478 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3479 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3480 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3481 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3482 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3483 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3485 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3486 : -1, -1, -1, -1, -1, -1, 113, -1, -1, -1,
3487 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3488 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3489 : 137, -1, 139, -1, -1, -1, -1, -1, -1, -1,
3490 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3491 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3492 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3493 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3494 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3495 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3496 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3497 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3498 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3499 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3500 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3501 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3502 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3503 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3504 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3505 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3506 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3507 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3508 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3509 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3510 : -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
3511 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3512 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3513 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3514 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3515 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3516 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3517 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3518 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3519 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3520 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3521 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3522 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3523 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3524 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3525 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3526 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3527 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3528 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3529 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3530 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3531 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3532 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3533 : -1, -1, -1, 290, 291, 292, 3, 4, -1, 6,
3534 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3535 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3536 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3537 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3538 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3539 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3540 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3541 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3542 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3543 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3544 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3545 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3546 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3547 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3548 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3549 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3550 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3551 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3552 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3553 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3554 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3555 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3556 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3557 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3558 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3559 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3560 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3561 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3562 : -1, -1, -1, 290, 291, 292, 3, 4, -1, 6,
3563 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3564 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3565 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3566 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3567 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3568 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3569 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3570 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3571 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3572 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3573 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3574 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3575 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3576 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3577 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3578 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3579 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3580 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3581 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3582 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3583 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3584 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3585 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3586 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3587 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3588 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3589 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3590 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3591 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3592 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3593 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3594 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3595 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3596 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3597 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3598 : -1, 68, -1, -1, -1, -1, -1, 74, -1, -1,
3599 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3600 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3601 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3602 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3603 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3604 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3605 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3606 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3607 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3608 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3609 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3610 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3611 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3612 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3613 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3614 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3615 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3616 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3617 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3618 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3619 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3620 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3621 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3622 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3623 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3624 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3625 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3626 : -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
3627 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3628 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3629 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3630 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3631 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3632 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3633 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3634 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3635 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3636 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3637 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3638 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3639 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3640 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3641 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3642 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3643 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3644 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3645 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3646 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3647 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3648 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3649 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3650 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3651 : -1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
3652 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3653 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3654 : 47, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3655 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3656 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3657 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3658 : -1, -1, -1, -1, 91, 92, 93, -1, -1, 96,
3659 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3660 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3661 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3662 : -1, 128, 129, 130, -1, -1, -1, -1, 135, -1,
3663 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3664 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3665 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3666 : 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
3667 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3668 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3669 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3670 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3671 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3672 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3673 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3674 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3675 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3676 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3677 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3678 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3679 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3680 : -1, -1, -1, 20, 21, 22, 23, 24, -1, 26,
3681 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3682 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3683 : -1, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3684 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3685 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3686 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3687 : -1, -1, -1, -1, -1, 92, 93, -1, -1, 96,
3688 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3689 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3690 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3691 : -1, -1, -1, 130, -1, -1, -1, -1, -1, -1,
3692 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3693 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3694 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3695 : 167, 168, 169, 170, 171, -1, 173, -1, -1, -1,
3696 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3697 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3698 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3699 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3700 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3701 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3702 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3703 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3704 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3705 : 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3706 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3707 : -1, -1, -1, 290, 291, 292, 3, -1, -1, 6,
3708 : -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
3709 : -1, -1, -1, 20, 21, 22, 23, 24, -1, 26,
3710 : -1, 318, 319, -1, 31, -1, -1, -1, -1, 36,
3711 : -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
3712 : -1, 48, -1, -1, -1, -1, -1, 54, 55, -1,
3713 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3714 : -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
3715 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3716 : -1, -1, -1, -1, -1, 92, 93, -1, -1, 96,
3717 : -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
3718 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3719 : 117, -1, -1, 120, -1, -1, -1, -1, -1, -1,
3720 : -1, -1, -1, 130, -1, -1, -1, -1, -1, -1,
3721 : 137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3722 : -1, -1, -1, -1, 151, 152, 153, 154, 155, 156,
3723 : 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
3724 : 167, 168, 169, 170, 171, -1, 173, -1, -1, -1,
3725 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
3726 : 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
3727 : 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
3728 : 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
3729 : 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
3730 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
3731 : 237, -1, 239, 240, -1, -1, 243, 244, -1, -1,
3732 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3733 : -1, -1, 259, 260, 261, 262, 263, 264, 265, 266,
3734 : 267, 21, -1, -1, -1, -1, -1, -1, -1, -1,
3735 : -1, -1, -1, -1, -1, -1, 283, 284, 285, 286,
3736 : -1, -1, 42, 290, 291, 292, -1, -1, -1, -1,
3737 : -1, -1, -1, 53, -1, -1, 56, 57, -1, -1,
3738 : -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
3739 : 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3740 : -1, -1, 82, -1, -1, -1, -1, -1, -1, -1,
3741 : -1, -1, -1, -1, -1, 95, -1, 97, -1, -1,
3742 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3743 : -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
3744 : -1, -1, 122, 123, -1, -1, -1, -1, -1, -1,
3745 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3746 : -1, -1, 11, -1, -1, -1, -1, -1, -1, -1,
3747 : -1, -1, -1, 153, -1, -1, -1, 26, -1, -1,
3748 : -1, -1, 31, -1, -1, -1, -1, 36, -1, -1,
3749 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
3750 : -1, -1, -1, -1, -1, 54, 55, -1, -1, -1,
3751 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3752 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3753 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3754 : -1, -1, -1, 92, 93, -1, -1, -1, -1, -1,
3755 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3756 : -1, -1, -1, -1, -1, -1, -1, -1, 117, -1,
3757 : -1, 120, -1, -1, -1, -1, -1, -1, -1, -1,
3758 : -1, -1, -1, -1, -1, -1, -1, -1, 268, 269,
3759 : -1, -1, 272, 273, -1, 275, 276, 277, 278, -1,
3760 : 280, 281, 151, -1, 153, 154, -1, 156, 157, 158,
3761 : 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3762 : 169, 170, 171, -1, 173, -1, -1, -1, 177, 178,
3763 : 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
3764 : 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
3765 : 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
3766 : 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
3767 : 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
3768 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 11,
3769 : 239, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3770 : -1, -1, -1, -1, 26, -1, -1, -1, -1, 31,
3771 : -1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
3772 : -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
3773 : -1, -1, 54, 55, -1, -1, -1, -1, -1, -1,
3774 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3775 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3776 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3777 : 92, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3778 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3779 : -1, -1, -1, -1, -1, 117, -1, -1, 120, -1,
3780 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3781 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3782 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
3783 : -1, 153, -1, -1, 156, 157, 158, 159, 160, 161,
3784 : 162, 163, 164, -1, 166, 167, 168, 169, 170, 171,
3785 : -1, 173, -1, -1, -1, 177, 178, 179, 180, 181,
3786 : 182, -1, 184, 185, 186, 187, 188, 189, 190, 191,
3787 : 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3788 : 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3789 : 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3790 : 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
3791 : 232, 233, 234, 235, 236, 237, -1, 239
3792 : };
3793 :
3794 : /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3795 : symbol of state STATE-NUM. */
3796 : static const yytype_uint16 yystos[] =
3797 : {
3798 : 0, 3, 6, 8, 9, 11, 19, 20, 21, 22,
3799 : 23, 24, 25, 26, 31, 36, 41, 45, 47, 48,
3800 : 49, 54, 55, 59, 60, 67, 68, 69, 76, 84,
3801 : 91, 92, 93, 96, 98, 111, 113, 117, 120, 128,
3802 : 129, 130, 132, 134, 135, 137, 151, 152, 153, 154,
3803 : 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
3804 : 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
3805 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
3806 : 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
3807 : 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
3808 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
3809 : 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
3810 : 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
3811 : 235, 236, 237, 239, 240, 243, 244, 259, 260, 261,
3812 : 262, 263, 264, 265, 266, 267, 283, 284, 285, 286,
3813 : 290, 291, 292, 312, 313, 314, 315, 316, 317, 318,
3814 : 319, 326, 327, 328, 329, 340, 343, 354, 355, 356,
3815 : 357, 358, 359, 360, 363, 364, 365, 366, 371, 376,
3816 : 402, 404, 405, 406, 407, 408, 410, 411, 412, 413,
3817 : 414, 415, 416, 418, 419, 421, 422, 423, 424, 426,
3818 : 427, 428, 432, 434, 435, 436, 437, 438, 439, 443,
3819 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
3820 : 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
3821 : 464, 465, 466, 467, 468, 474, 475, 480, 481, 483,
3822 : 522, 523, 524, 525, 528, 530, 531, 532, 548, 551,
3823 : 552, 553, 554, 555, 556, 557, 558, 561, 562, 563,
3824 : 575, 576, 577, 578, 579, 581, 582, 583, 584, 588,
3825 : 590, 591, 592, 593, 594, 595, 603, 629, 630, 631,
3826 : 632, 633, 634, 646, 649, 3, 139, 327, 361, 375,
3827 : 376, 407, 541, 542, 543, 545, 547, 575, 26, 26,
3828 : 8, 146, 147, 148, 149, 515, 516, 520, 521, 3,
3829 : 11, 25, 158, 404, 6, 13, 3, 143, 3, 3,
3830 : 121, 140, 254, 74, 3, 428, 26, 645, 28, 60,
3831 : 110, 113, 134, 136, 158, 345, 346, 347, 354, 3,
3832 : 143, 28, 62, 367, 3, 3, 428, 26, 599, 600,
3833 : 601, 602, 3, 3, 3, 83, 3, 3, 3, 3,
3834 : 3, 245, 364, 639, 640, 644, 3, 3, 3, 3,
3835 : 3, 553, 553, 0, 7, 37, 79, 89, 131, 411,
3836 : 412, 414, 415, 418, 421, 423, 84, 311, 310, 28,
3837 : 31, 117, 363, 364, 425, 19, 21, 22, 24, 3,
3838 : 3, 3, 3, 3, 3, 3, 3, 282, 3, 3,
3839 : 3, 3, 3, 321, 322, 318, 319, 34, 559, 320,
3840 : 318, 44, 580, 3, 545, 3, 4, 85, 4, 4,
3841 : 66, 131, 4, 10, 312, 26, 446, 522, 532, 145,
3842 : 12, 12, 19, 3, 113, 376, 407, 26, 26, 154,
3843 : 165, 183, 321, 604, 629, 549, 575, 549, 576, 321,
3844 : 367, 599, 599, 26, 669, 599, 3, 83, 106, 3,
3845 : 342, 342, 342, 100, 5, 62, 96, 575, 321, 377,
3846 : 429, 430, 575, 598, 575, 576, 39, 74, 88, 127,
3847 : 575, 596, 597, 6, 13, 114, 575, 575, 575, 599,
3848 : 572, 575, 572, 575, 585, 586, 587, 55, 124, 125,
3849 : 184, 185, 186, 191, 196, 440, 441, 442, 564, 575,
3850 : 575, 3, 575, 407, 246, 640, 641, 245, 635, 636,
3851 : 639, 572, 575, 572, 575, 4, 432, 469, 470, 471,
3852 : 646, 575, 363, 3, 420, 428, 552, 576, 28, 546,
3853 : 363, 354, 405, 406, 428, 4, 573, 575, 642, 643,
3854 : 569, 573, 573, 574, 574, 570, 573, 4, 574, 571,
3855 : 573, 3, 26, 486, 487, 488, 494, 476, 575, 575,
3856 : 367, 529, 556, 4, 527, 572, 554, 554, 555, 555,
3857 : 90, 560, 575, 581, 599, 575, 4, 362, 363, 546,
3858 : 546, 546, 3, 599, 367, 13, 13, 32, 5, 138,
3859 : 4, 573, 3, 342, 247, 248, 249, 651, 141, 374,
3860 : 397, 547, 372, 373, 431, 646, 26, 339, 629, 599,
3861 : 347, 74, 4, 74, 83, 390, 391, 5, 32, 433,
3862 : 629, 138, 575, 74, 4, 74, 575, 26, 601, 26,
3863 : 601, 602, 368, 369, 629, 4, 4, 4, 342, 4,
3864 : 5, 7, 79, 4, 74, 74, 74, 102, 350, 241,
3865 : 575, 642, 242, 364, 409, 411, 412, 414, 418, 421,
3866 : 637, 638, 641, 636, 4, 4, 4, 4, 5, 311,
3867 : 572, 11, 65, 417, 417, 376, 68, 96, 130, 133,
3868 : 401, 4, 40, 84, 138, 411, 4, 5, 4, 5,
3869 : 7, 4, 4, 5, 4, 4, 5, 486, 495, 498,
3870 : 499, 5, 472, 4, 573, 4, 4, 40, 4, 4,
3871 : 5, 542, 544, 375, 543, 375, 3, 517, 377, 26,
3872 : 26, 604, 21, 42, 53, 56, 57, 63, 70, 82,
3873 : 95, 97, 109, 116, 122, 123, 153, 268, 269, 272,
3874 : 273, 275, 276, 277, 278, 280, 281, 550, 599, 605,
3875 : 608, 609, 616, 617, 618, 619, 620, 621, 623, 624,
3876 : 625, 626, 628, 550, 599, 4, 43, 72, 105, 132,
3877 : 330, 331, 332, 335, 337, 629, 32, 99, 60, 134,
3878 : 158, 652, 407, 5, 4, 5, 126, 3, 11, 392,
3879 : 396, 428, 537, 538, 539, 599, 372, 374, 430, 629,
3880 : 599, 575, 575, 74, 13, 5, 374, 312, 547, 575,
3881 : 575, 575, 575, 576, 575, 40, 4, 642, 363, 5,
3882 : 241, 242, 469, 470, 484, 363, 4, 65, 576, 572,
3883 : 354, 575, 575, 573, 573, 573, 573, 573, 303, 496,
3884 : 500, 4, 23, 477, 4, 287, 288, 473, 479, 4,
3885 : 238, 526, 526, 572, 363, 432, 518, 519, 646, 13,
3886 : 13, 3, 270, 274, 610, 611, 3, 622, 622, 104,
3887 : 3, 270, 274, 610, 622, 610, 610, 270, 274, 610,
3888 : 611, 611, 3, 612, 613, 42, 153, 612, 612, 270,
3889 : 274, 610, 55, 184, 185, 186, 191, 196, 564, 565,
3890 : 567, 568, 4, 42, 606, 580, 607, 4, 4, 3,
3891 : 87, 87, 4, 5, 3, 605, 376, 99, 653, 100,
3892 : 373, 629, 26, 108, 348, 349, 648, 3, 396, 539,
3893 : 150, 5, 50, 75, 81, 94, 160, 168, 533, 536,
3894 : 32, 393, 647, 393, 395, 390, 77, 398, 4, 575,
3895 : 26, 369, 59, 370, 575, 4, 71, 589, 589, 4,
3896 : 351, 352, 364, 408, 354, 364, 411, 412, 414, 418,
3897 : 421, 638, 642, 4, 19, 411, 5, 5, 40, 350,
3898 : 5, 473, 289, 289, 77, 4, 4, 5, 604, 604,
3899 : 23, 611, 271, 23, 23, 611, 271, 142, 279, 627,
3900 : 627, 611, 271, 23, 614, 270, 274, 610, 270, 610,
3901 : 611, 271, 622, 610, 126, 114, 607, 407, 3, 331,
3902 : 339, 333, 142, 341, 339, 654, 602, 5, 142, 344,
3903 : 4, 539, 396, 86, 536, 103, 86, 26, 3, 338,
3904 : 26, 40, 78, 400, 575, 4, 4, 5, 33, 61,
3905 : 353, 353, 89, 363, 74, 482, 485, 12, 575, 573,
3906 : 573, 26, 501, 502, 603, 301, 302, 497, 504, 505,
3907 : 478, 575, 3, 526, 519, 4, 612, 4, 5, 4,
3908 : 612, 122, 122, 612, 14, 15, 16, 17, 18, 615,
3909 : 4, 611, 271, 611, 612, 191, 564, 566, 26, 4,
3910 : 339, 4, 25, 43, 59, 110, 335, 336, 43, 251,
3911 : 650, 349, 76, 12, 396, 86, 396, 339, 338, 399,
3912 : 446, 603, 407, 304, 489, 490, 352, 293, 294, 473,
3913 : 5, 5, 607, 37, 51, 299, 444, 506, 507, 508,
3914 : 509, 350, 23, 144, 144, 612, 610, 4, 96, 3,
3915 : 96, 137, 334, 432, 558, 599, 101, 257, 258, 662,
3916 : 663, 71, 655, 656, 101, 396, 100, 138, 534, 535,
3917 : 540, 4, 5, 486, 491, 492, 493, 350, 573, 502,
3918 : 299, 444, 507, 510, 512, 513, 255, 300, 300, 295,
3919 : 503, 514, 4, 4, 110, 407, 3, 121, 255, 394,
3920 : 121, 394, 663, 250, 245, 658, 407, 3, 446, 603,
3921 : 5, 32, 306, 387, 389, 298, 298, 311, 51, 77,
3922 : 297, 305, 599, 4, 339, 393, 393, 393, 393, 255,
3923 : 256, 657, 3, 403, 252, 327, 659, 661, 339, 492,
3924 : 494, 23, 307, 378, 379, 511, 512, 255, 296, 3,
3925 : 4, 26, 665, 666, 26, 668, 664, 666, 26, 667,
3926 : 407, 253, 4, 307, 388, 385, 432, 69, 383, 384,
3927 : 339, 4, 660, 661, 23, 255, 302, 382, 293, 308,
3928 : 381, 4, 7, 380, 386, 432, 242, 661, 382, 309
3929 : };
3930 :
3931 : #define yyerrok (yyerrstatus = 0)
3932 : #define yyclearin (yychar = YYEMPTY)
3933 : #define YYEMPTY (-2)
3934 : #define YYEOF 0
3935 :
3936 : #define YYACCEPT goto yyacceptlab
3937 : #define YYABORT goto yyabortlab
3938 : #define YYERROR goto yyerrorlab
3939 :
3940 :
3941 : /* Like YYERROR except do call yyerror. This remains here temporarily
3942 : to ease the transition to the new meaning of YYERROR, for GCC.
3943 : Once GCC version 2 has supplanted version 1, this can go. However,
3944 : YYFAIL appears to be in use. Nevertheless, it is formally deprecated
3945 : in Bison 2.4.2's NEWS entry, where a plan to phase it out is
3946 : discussed. */
3947 :
3948 : #define YYFAIL goto yyerrlab
3949 : #if defined YYFAIL
3950 : /* This is here to suppress warnings from the GCC cpp's
3951 : -Wunused-macros. Normally we don't worry about that warning, but
3952 : some users do, and we want to make it easy for users to remove
3953 : YYFAIL uses, which will produce warnings from Bison 2.5. */
3954 : #endif
3955 :
3956 : #define YYRECOVERING() (!!yyerrstatus)
3957 :
3958 : #define YYBACKUP(Token, Value) \
3959 : do \
3960 : if (yychar == YYEMPTY && yylen == 1) \
3961 : { \
3962 : yychar = (Token); \
3963 : yylval = (Value); \
3964 : YYPOPSTACK (1); \
3965 : goto yybackup; \
3966 : } \
3967 : else \
3968 : { \
3969 : yyerror (YY_("syntax error: cannot back up")); \
3970 : YYERROR; \
3971 : } \
3972 : while (YYID (0))
3973 :
3974 :
3975 : #define YYTERROR 1
3976 : #define YYERRCODE 256
3977 :
3978 :
3979 : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3980 : If N is 0, then set CURRENT to the empty location which ends
3981 : the previous symbol: RHS[0] (always defined). */
3982 :
3983 : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
3984 : #ifndef YYLLOC_DEFAULT
3985 : # define YYLLOC_DEFAULT(Current, Rhs, N) \
3986 : do \
3987 : if (YYID (N)) \
3988 : { \
3989 : (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3990 : (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3991 : (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3992 : (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3993 : } \
3994 : else \
3995 : { \
3996 : (Current).first_line = (Current).last_line = \
3997 : YYRHSLOC (Rhs, 0).last_line; \
3998 : (Current).first_column = (Current).last_column = \
3999 : YYRHSLOC (Rhs, 0).last_column; \
4000 : } \
4001 : while (YYID (0))
4002 : #endif
4003 :
4004 :
4005 : /* This macro is provided for backward compatibility. */
4006 :
4007 : #ifndef YY_LOCATION_PRINT
4008 : # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4009 : #endif
4010 :
4011 :
4012 : /* YYLEX -- calling `yylex' with the right arguments. */
4013 :
4014 : #ifdef YYLEX_PARAM
4015 : # define YYLEX yylex (YYLEX_PARAM)
4016 : #else
4017 : # define YYLEX yylex ()
4018 : #endif
4019 :
4020 : /* Enable debugging if requested. */
4021 : #if YYDEBUG
4022 :
4023 : # ifndef YYFPRINTF
4024 : # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
4025 : # define YYFPRINTF fprintf
4026 : # endif
4027 :
4028 : # define YYDPRINTF(Args) \
4029 : do { \
4030 : if (yydebug) \
4031 : YYFPRINTF Args; \
4032 : } while (YYID (0))
4033 :
4034 : # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4035 : do { \
4036 : if (yydebug) \
4037 : { \
4038 : YYFPRINTF (stderr, "%s ", Title); \
4039 : yy_symbol_print (stderr, \
4040 : Type, Value); \
4041 : YYFPRINTF (stderr, "\n"); \
4042 : } \
4043 : } while (YYID (0))
4044 :
4045 :
4046 : /*--------------------------------.
4047 : | Print this symbol on YYOUTPUT. |
4048 : `--------------------------------*/
4049 :
4050 : /*ARGSUSED*/
4051 : #if (defined __STDC__ || defined __C99__FUNC__ \
4052 : || defined __cplusplus || defined _MSC_VER)
4053 : static void
4054 : yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4055 : #else
4056 : static void
4057 : yy_symbol_value_print (yyoutput, yytype, yyvaluep)
4058 : FILE *yyoutput;
4059 : int yytype;
4060 : YYSTYPE const * const yyvaluep;
4061 : #endif
4062 : {
4063 : if (!yyvaluep)
4064 : return;
4065 : # ifdef YYPRINT
4066 : if (yytype < YYNTOKENS)
4067 : YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
4068 : # else
4069 : YYUSE (yyoutput);
4070 : # endif
4071 : switch (yytype)
4072 : {
4073 : default:
4074 : break;
4075 : }
4076 : }
4077 :
4078 :
4079 : /*--------------------------------.
4080 : | Print this symbol on YYOUTPUT. |
4081 : `--------------------------------*/
4082 :
4083 : #if (defined __STDC__ || defined __C99__FUNC__ \
4084 : || defined __cplusplus || defined _MSC_VER)
4085 : static void
4086 : yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4087 : #else
4088 : static void
4089 : yy_symbol_print (yyoutput, yytype, yyvaluep)
4090 : FILE *yyoutput;
4091 : int yytype;
4092 : YYSTYPE const * const yyvaluep;
4093 : #endif
4094 : {
4095 : if (yytype < YYNTOKENS)
4096 : YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
4097 : else
4098 : YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
4099 :
4100 : yy_symbol_value_print (yyoutput, yytype, yyvaluep);
4101 : YYFPRINTF (yyoutput, ")");
4102 : }
4103 :
4104 : /*------------------------------------------------------------------.
4105 : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
4106 : | TOP (included). |
4107 : `------------------------------------------------------------------*/
4108 :
4109 : #if (defined __STDC__ || defined __C99__FUNC__ \
4110 : || defined __cplusplus || defined _MSC_VER)
4111 : static void
4112 : yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
4113 : #else
4114 : static void
4115 : yy_stack_print (yybottom, yytop)
4116 : yytype_int16 *yybottom;
4117 : yytype_int16 *yytop;
4118 : #endif
4119 : {
4120 : YYFPRINTF (stderr, "Stack now");
4121 : for (; yybottom <= yytop; yybottom++)
4122 : {
4123 : int yybot = *yybottom;
4124 : YYFPRINTF (stderr, " %d", yybot);
4125 : }
4126 : YYFPRINTF (stderr, "\n");
4127 : }
4128 :
4129 : # define YY_STACK_PRINT(Bottom, Top) \
4130 : do { \
4131 : if (yydebug) \
4132 : yy_stack_print ((Bottom), (Top)); \
4133 : } while (YYID (0))
4134 :
4135 :
4136 : /*------------------------------------------------.
4137 : | Report that the YYRULE is going to be reduced. |
4138 : `------------------------------------------------*/
4139 :
4140 : #if (defined __STDC__ || defined __C99__FUNC__ \
4141 : || defined __cplusplus || defined _MSC_VER)
4142 : static void
4143 : yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
4144 : #else
4145 : static void
4146 : yy_reduce_print (yyvsp, yyrule)
4147 : YYSTYPE *yyvsp;
4148 : int yyrule;
4149 : #endif
4150 : {
4151 : int yynrhs = yyr2[yyrule];
4152 : int yyi;
4153 : unsigned long int yylno = yyrline[yyrule];
4154 : YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
4155 : yyrule - 1, yylno);
4156 : /* The symbols being reduced. */
4157 : for (yyi = 0; yyi < yynrhs; yyi++)
4158 : {
4159 : YYFPRINTF (stderr, " $%d = ", yyi + 1);
4160 : yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
4161 : &(yyvsp[(yyi + 1) - (yynrhs)])
4162 : );
4163 : YYFPRINTF (stderr, "\n");
4164 : }
4165 : }
4166 :
4167 : # define YY_REDUCE_PRINT(Rule) \
4168 : do { \
4169 : if (yydebug) \
4170 : yy_reduce_print (yyvsp, Rule); \
4171 : } while (YYID (0))
4172 :
4173 : /* Nonzero means print parse trace. It is left uninitialized so that
4174 : multiple parsers can coexist. */
4175 : int yydebug;
4176 : #else /* !YYDEBUG */
4177 : # define YYDPRINTF(Args)
4178 : # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4179 : # define YY_STACK_PRINT(Bottom, Top)
4180 : # define YY_REDUCE_PRINT(Rule)
4181 : #endif /* !YYDEBUG */
4182 :
4183 :
4184 : /* YYINITDEPTH -- initial size of the parser's stacks. */
4185 : #ifndef YYINITDEPTH
4186 : # define YYINITDEPTH 200
4187 : #endif
4188 :
4189 : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4190 : if the built-in stack extension method is used).
4191 :
4192 : Do not make this value too large; the results are undefined if
4193 : YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
4194 : evaluated with infinite-precision integer arithmetic. */
4195 :
4196 : #ifndef YYMAXDEPTH
4197 : # define YYMAXDEPTH 10000
4198 : #endif
4199 :
4200 :
4201 : #if YYERROR_VERBOSE
4202 :
4203 : # ifndef yystrlen
4204 : # if defined __GLIBC__ && defined _STRING_H
4205 : # define yystrlen strlen
4206 : # else
4207 : /* Return the length of YYSTR. */
4208 : #if (defined __STDC__ || defined __C99__FUNC__ \
4209 : || defined __cplusplus || defined _MSC_VER)
4210 : static YYSIZE_T
4211 : yystrlen (const char *yystr)
4212 : #else
4213 : static YYSIZE_T
4214 : yystrlen (yystr)
4215 : const char *yystr;
4216 : #endif
4217 : {
4218 : YYSIZE_T yylen;
4219 : for (yylen = 0; yystr[yylen]; yylen++)
4220 : continue;
4221 : return yylen;
4222 : }
4223 : # endif
4224 : # endif
4225 :
4226 : # ifndef yystpcpy
4227 : # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4228 : # define yystpcpy stpcpy
4229 : # else
4230 : /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4231 : YYDEST. */
4232 : #if (defined __STDC__ || defined __C99__FUNC__ \
4233 : || defined __cplusplus || defined _MSC_VER)
4234 : static char *
4235 : yystpcpy (char *yydest, const char *yysrc)
4236 : #else
4237 : static char *
4238 : yystpcpy (yydest, yysrc)
4239 : char *yydest;
4240 : const char *yysrc;
4241 : #endif
4242 : {
4243 : char *yyd = yydest;
4244 : const char *yys = yysrc;
4245 :
4246 : while ((*yyd++ = *yys++) != '\0')
4247 : continue;
4248 :
4249 : return yyd - 1;
4250 : }
4251 : # endif
4252 : # endif
4253 :
4254 : # ifndef yytnamerr
4255 : /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4256 : quotes and backslashes, so that it's suitable for yyerror. The
4257 : heuristic is that double-quoting is unnecessary unless the string
4258 : contains an apostrophe, a comma, or backslash (other than
4259 : backslash-backslash). YYSTR is taken from yytname. If YYRES is
4260 : null, do not copy; instead, return the length of what the result
4261 : would have been. */
4262 : static YYSIZE_T
4263 0 : yytnamerr (char *yyres, const char *yystr)
4264 : {
4265 0 : if (*yystr == '"')
4266 : {
4267 0 : YYSIZE_T yyn = 0;
4268 0 : char const *yyp = yystr;
4269 :
4270 0 : for (;;)
4271 0 : switch (*++yyp)
4272 : {
4273 : case '\'':
4274 : case ',':
4275 0 : goto do_not_strip_quotes;
4276 :
4277 : case '\\':
4278 0 : if (*++yyp != '\\')
4279 0 : goto do_not_strip_quotes;
4280 : /* Fall through. */
4281 : default:
4282 0 : if (yyres)
4283 0 : yyres[yyn] = *yyp;
4284 0 : yyn++;
4285 0 : break;
4286 :
4287 : case '"':
4288 0 : if (yyres)
4289 0 : yyres[yyn] = '\0';
4290 0 : return yyn;
4291 : }
4292 : do_not_strip_quotes: ;
4293 : }
4294 :
4295 0 : if (! yyres)
4296 0 : return yystrlen (yystr);
4297 :
4298 0 : return yystpcpy (yyres, yystr) - yyres;
4299 : }
4300 : # endif
4301 :
4302 : /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
4303 : about the unexpected token YYTOKEN for the state stack whose top is
4304 : YYSSP.
4305 :
4306 : Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
4307 : not large enough to hold the message. In that case, also set
4308 : *YYMSG_ALLOC to the required number of bytes. Return 2 if the
4309 : required number of bytes is too large to store. */
4310 : static int
4311 0 : yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
4312 : yytype_int16 *yyssp, int yytoken)
4313 : {
4314 0 : YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
4315 0 : YYSIZE_T yysize = yysize0;
4316 : YYSIZE_T yysize1;
4317 : enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4318 : /* Internationalized format string. */
4319 0 : const char *yyformat = 0;
4320 : /* Arguments of yyformat. */
4321 : char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4322 : /* Number of reported tokens (one for the "unexpected", one per
4323 : "expected"). */
4324 0 : int yycount = 0;
4325 :
4326 : /* There are many possibilities here to consider:
4327 : - Assume YYFAIL is not used. It's too flawed to consider. See
4328 : <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
4329 : for details. YYERROR is fine as it does not invoke this
4330 : function.
4331 : - If this state is a consistent state with a default action, then
4332 : the only way this function was invoked is if the default action
4333 : is an error action. In that case, don't check for expected
4334 : tokens because there are none.
4335 : - The only way there can be no lookahead present (in yychar) is if
4336 : this state is a consistent state with a default action. Thus,
4337 : detecting the absence of a lookahead is sufficient to determine
4338 : that there is no unexpected or expected token to report. In that
4339 : case, just report a simple "syntax error".
4340 : - Don't assume there isn't a lookahead just because this state is a
4341 : consistent state with a default action. There might have been a
4342 : previous inconsistent state, consistent state with a non-default
4343 : action, or user semantic action that manipulated yychar.
4344 : - Of course, the expected token list depends on states to have
4345 : correct lookahead information, and it depends on the parser not
4346 : to perform extra reductions after fetching a lookahead from the
4347 : scanner and before detecting a syntax error. Thus, state merging
4348 : (from LALR or IELR) and default reductions corrupt the expected
4349 : token list. However, the list is correct for canonical LR with
4350 : one exception: it will still contain any token that will not be
4351 : accepted due to an error action in a later state.
4352 : */
4353 0 : if (yytoken != YYEMPTY)
4354 : {
4355 0 : int yyn = yypact[*yyssp];
4356 0 : yyarg[yycount++] = yytname[yytoken];
4357 0 : if (!yypact_value_is_default (yyn))
4358 : {
4359 : /* Start YYX at -YYN if negative to avoid negative indexes in
4360 : YYCHECK. In other words, skip the first -YYN actions for
4361 : this state because they are default actions. */
4362 0 : int yyxbegin = yyn < 0 ? -yyn : 0;
4363 : /* Stay within bounds of both yycheck and yytname. */
4364 0 : int yychecklim = YYLAST - yyn + 1;
4365 0 : int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4366 : int yyx;
4367 :
4368 0 : for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4369 0 : if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
4370 : && !yytable_value_is_error (yytable[yyx + yyn]))
4371 : {
4372 0 : if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
4373 : {
4374 0 : yycount = 1;
4375 0 : yysize = yysize0;
4376 0 : break;
4377 : }
4378 0 : yyarg[yycount++] = yytname[yyx];
4379 0 : yysize1 = yysize + yytnamerr (0, yytname[yyx]);
4380 0 : if (! (yysize <= yysize1
4381 : && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
4382 0 : return 2;
4383 0 : yysize = yysize1;
4384 : }
4385 : }
4386 : }
4387 :
4388 0 : switch (yycount)
4389 : {
4390 : # define YYCASE_(N, S) \
4391 : case N: \
4392 : yyformat = S; \
4393 : break
4394 0 : YYCASE_(0, YY_("syntax error"));
4395 0 : YYCASE_(1, YY_("syntax error, unexpected %s"));
4396 0 : YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
4397 0 : YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
4398 0 : YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
4399 0 : YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
4400 : # undef YYCASE_
4401 : }
4402 :
4403 0 : yysize1 = yysize + yystrlen (yyformat);
4404 0 : if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
4405 0 : return 2;
4406 0 : yysize = yysize1;
4407 :
4408 0 : if (*yymsg_alloc < yysize)
4409 : {
4410 0 : *yymsg_alloc = 2 * yysize;
4411 0 : if (! (yysize <= *yymsg_alloc
4412 0 : && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
4413 0 : *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
4414 0 : return 1;
4415 : }
4416 :
4417 : /* Avoid sprintf, as that infringes on the user's name space.
4418 : Don't have undefined behavior even if the translation
4419 : produced a string with the wrong number of "%s"s. */
4420 : {
4421 0 : char *yyp = *yymsg;
4422 0 : int yyi = 0;
4423 0 : while ((*yyp = *yyformat) != '\0')
4424 0 : if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
4425 : {
4426 0 : yyp += yytnamerr (yyp, yyarg[yyi++]);
4427 0 : yyformat += 2;
4428 : }
4429 : else
4430 : {
4431 0 : yyp++;
4432 0 : yyformat++;
4433 : }
4434 : }
4435 0 : return 0;
4436 : }
4437 : #endif /* YYERROR_VERBOSE */
4438 :
4439 : /*-----------------------------------------------.
4440 : | Release the memory associated to this symbol. |
4441 : `-----------------------------------------------*/
4442 :
4443 : /*ARGSUSED*/
4444 : #if (defined __STDC__ || defined __C99__FUNC__ \
4445 : || defined __cplusplus || defined _MSC_VER)
4446 : static void
4447 8 : yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
4448 : #else
4449 : static void
4450 : yydestruct (yymsg, yytype, yyvaluep)
4451 : const char *yymsg;
4452 : int yytype;
4453 : YYSTYPE *yyvaluep;
4454 : #endif
4455 : {
4456 : YYUSE (yyvaluep);
4457 :
4458 8 : if (!yymsg)
4459 0 : yymsg = "Deleting";
4460 : YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
4461 :
4462 : switch (yytype)
4463 : {
4464 :
4465 : default:
4466 8 : break;
4467 : }
4468 8 : }
4469 :
4470 :
4471 : /* Prevent warnings from -Wmissing-prototypes. */
4472 : #ifdef YYPARSE_PARAM
4473 : #if defined __STDC__ || defined __cplusplus
4474 : int yyparse (void *YYPARSE_PARAM);
4475 : #else
4476 : int yyparse ();
4477 : #endif
4478 : #else /* ! YYPARSE_PARAM */
4479 : #if defined __STDC__ || defined __cplusplus
4480 : int yyparse (void);
4481 : #else
4482 : int yyparse ();
4483 : #endif
4484 : #endif /* ! YYPARSE_PARAM */
4485 :
4486 :
4487 : /* The lookahead symbol. */
4488 : int yychar;
4489 :
4490 : /* The semantic value of the lookahead symbol. */
4491 : YYSTYPE yylval;
4492 :
4493 : /* Number of syntax errors so far. */
4494 : int yynerrs;
4495 :
4496 :
4497 : /*----------.
4498 : | yyparse. |
4499 : `----------*/
4500 :
4501 : #ifdef YYPARSE_PARAM
4502 : #if (defined __STDC__ || defined __C99__FUNC__ \
4503 : || defined __cplusplus || defined _MSC_VER)
4504 : int
4505 : yyparse (void *YYPARSE_PARAM)
4506 : #else
4507 : int
4508 : yyparse (YYPARSE_PARAM)
4509 : void *YYPARSE_PARAM;
4510 : #endif
4511 : #else /* ! YYPARSE_PARAM */
4512 : #if (defined __STDC__ || defined __C99__FUNC__ \
4513 : || defined __cplusplus || defined _MSC_VER)
4514 : int
4515 4 : yyparse (void)
4516 : #else
4517 : int
4518 : yyparse ()
4519 :
4520 : #endif
4521 : #endif
4522 : {
4523 : int yystate;
4524 : /* Number of tokens to shift before error messages enabled. */
4525 : int yyerrstatus;
4526 :
4527 : /* The stacks and their tools:
4528 : `yyss': related to states.
4529 : `yyvs': related to semantic values.
4530 :
4531 : Refer to the stacks thru separate pointers, to allow yyoverflow
4532 : to reallocate them elsewhere. */
4533 :
4534 : /* The state stack. */
4535 : yytype_int16 yyssa[YYINITDEPTH];
4536 : yytype_int16 *yyss;
4537 : yytype_int16 *yyssp;
4538 :
4539 : /* The semantic value stack. */
4540 : YYSTYPE yyvsa[YYINITDEPTH];
4541 : YYSTYPE *yyvs;
4542 : YYSTYPE *yyvsp;
4543 :
4544 : YYSIZE_T yystacksize;
4545 :
4546 : int yyn;
4547 : int yyresult;
4548 : /* Lookahead token as an internal (translated) token number. */
4549 : int yytoken;
4550 : /* The variables used to return semantic value and location from the
4551 : action routines. */
4552 : YYSTYPE yyval;
4553 :
4554 : #if YYERROR_VERBOSE
4555 : /* Buffer for error messages, and its allocated size. */
4556 : char yymsgbuf[128];
4557 4 : char *yymsg = yymsgbuf;
4558 4 : YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4559 : #endif
4560 :
4561 : #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4562 :
4563 : /* The number of symbols on the RHS of the reduced rule.
4564 : Keep to zero when no symbol should be popped. */
4565 4 : int yylen = 0;
4566 :
4567 4 : yytoken = 0;
4568 4 : yyss = yyssa;
4569 4 : yyvs = yyvsa;
4570 4 : yystacksize = YYINITDEPTH;
4571 :
4572 : YYDPRINTF ((stderr, "Starting parse\n"));
4573 :
4574 4 : yystate = 0;
4575 4 : yyerrstatus = 0;
4576 4 : yynerrs = 0;
4577 4 : yychar = YYEMPTY; /* Cause a token to be read. */
4578 :
4579 : /* Initialize stack pointers.
4580 : Waste one element of value and location stack
4581 : so that they stay on the same level as the state stack.
4582 : The wasted elements are never initialized. */
4583 4 : yyssp = yyss;
4584 4 : yyvsp = yyvs;
4585 :
4586 4 : goto yysetstate;
4587 :
4588 : /*------------------------------------------------------------.
4589 : | yynewstate -- Push a new state, which is found in yystate. |
4590 : `------------------------------------------------------------*/
4591 : yynewstate:
4592 : /* In all cases, when you get here, the value and location stacks
4593 : have just been pushed. So pushing a state here evens the stacks. */
4594 244 : yyssp++;
4595 :
4596 : yysetstate:
4597 248 : *yyssp = yystate;
4598 :
4599 248 : if (yyss + yystacksize - 1 <= yyssp)
4600 : {
4601 : /* Get the current used size of the three stacks, in elements. */
4602 0 : YYSIZE_T yysize = yyssp - yyss + 1;
4603 :
4604 : #ifdef yyoverflow
4605 : {
4606 : /* Give user a chance to reallocate the stack. Use copies of
4607 : these so that the &'s don't force the real ones into
4608 : memory. */
4609 : YYSTYPE *yyvs1 = yyvs;
4610 : yytype_int16 *yyss1 = yyss;
4611 :
4612 : /* Each stack pointer address is followed by the size of the
4613 : data in use in that stack, in bytes. This used to be a
4614 : conditional around just the two extra args, but that might
4615 : be undefined if yyoverflow is a macro. */
4616 : yyoverflow (YY_("memory exhausted"),
4617 : &yyss1, yysize * sizeof (*yyssp),
4618 : &yyvs1, yysize * sizeof (*yyvsp),
4619 : &yystacksize);
4620 :
4621 : yyss = yyss1;
4622 : yyvs = yyvs1;
4623 : }
4624 : #else /* no yyoverflow */
4625 : # ifndef YYSTACK_RELOCATE
4626 : goto yyexhaustedlab;
4627 : # else
4628 : /* Extend the stack our own way. */
4629 0 : if (YYMAXDEPTH <= yystacksize)
4630 0 : goto yyexhaustedlab;
4631 0 : yystacksize *= 2;
4632 0 : if (YYMAXDEPTH < yystacksize)
4633 0 : yystacksize = YYMAXDEPTH;
4634 :
4635 : {
4636 0 : yytype_int16 *yyss1 = yyss;
4637 : union yyalloc *yyptr =
4638 0 : (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4639 0 : if (! yyptr)
4640 0 : goto yyexhaustedlab;
4641 0 : YYSTACK_RELOCATE (yyss_alloc, yyss);
4642 0 : YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4643 : # undef YYSTACK_RELOCATE
4644 0 : if (yyss1 != yyssa)
4645 0 : YYSTACK_FREE (yyss1);
4646 : }
4647 : # endif
4648 : #endif /* no yyoverflow */
4649 :
4650 0 : yyssp = yyss + yysize - 1;
4651 0 : yyvsp = yyvs + yysize - 1;
4652 :
4653 : YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4654 : (unsigned long int) yystacksize));
4655 :
4656 0 : if (yyss + yystacksize - 1 <= yyssp)
4657 0 : YYABORT;
4658 : }
4659 :
4660 : YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4661 :
4662 248 : if (yystate == YYFINAL)
4663 4 : YYACCEPT;
4664 :
4665 244 : goto yybackup;
4666 :
4667 : /*-----------.
4668 : | yybackup. |
4669 : `-----------*/
4670 : yybackup:
4671 :
4672 : /* Do appropriate processing given the current state. Read a
4673 : lookahead token if we need one and don't already have one. */
4674 :
4675 : /* First try to decide what to do without reference to lookahead token. */
4676 244 : yyn = yypact[yystate];
4677 244 : if (yypact_value_is_default (yyn))
4678 98 : goto yydefault;
4679 :
4680 : /* Not known => get a lookahead token if don't already have one. */
4681 :
4682 : /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4683 146 : if (yychar == YYEMPTY)
4684 : {
4685 : YYDPRINTF ((stderr, "Reading a token: "));
4686 34 : yychar = YYLEX;
4687 : }
4688 :
4689 146 : if (yychar <= YYEOF)
4690 : {
4691 56 : yychar = yytoken = YYEOF;
4692 : YYDPRINTF ((stderr, "Now at end of input.\n"));
4693 : }
4694 : else
4695 : {
4696 90 : yytoken = YYTRANSLATE (yychar);
4697 : YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4698 : }
4699 :
4700 : /* If the proper action on seeing token YYTOKEN is to reduce or to
4701 : detect an error, take that action. */
4702 146 : yyn += yytoken;
4703 146 : if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4704 : goto yydefault;
4705 36 : yyn = yytable[yyn];
4706 36 : if (yyn <= 0)
4707 : {
4708 : if (yytable_value_is_error (yyn))
4709 : goto yyerrlab;
4710 2 : yyn = -yyn;
4711 2 : goto yyreduce;
4712 : }
4713 :
4714 : /* Count tokens shifted since error; after three, turn off error
4715 : status. */
4716 34 : if (yyerrstatus)
4717 0 : yyerrstatus--;
4718 :
4719 : /* Shift the lookahead token. */
4720 : YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4721 :
4722 : /* Discard the shifted token. */
4723 34 : yychar = YYEMPTY;
4724 :
4725 34 : yystate = yyn;
4726 34 : *++yyvsp = yylval;
4727 :
4728 34 : goto yynewstate;
4729 :
4730 :
4731 : /*-----------------------------------------------------------.
4732 : | yydefault -- do the default action for the current state. |
4733 : `-----------------------------------------------------------*/
4734 : yydefault:
4735 208 : yyn = yydefact[yystate];
4736 208 : if (yyn == 0)
4737 0 : goto yyerrlab;
4738 208 : goto yyreduce;
4739 :
4740 :
4741 : /*-----------------------------.
4742 : | yyreduce -- Do a reduction. |
4743 : `-----------------------------*/
4744 : yyreduce:
4745 : /* yyn is the number of a rule to reduce with. */
4746 210 : yylen = yyr2[yyn];
4747 :
4748 : /* If YYLEN is nonzero, implement the default value of the action:
4749 : `$$ = $1'.
4750 :
4751 : Otherwise, the following line sets YYVAL to garbage.
4752 : This behavior is undocumented and Bison
4753 : users should not rely upon it. Assigning to YYVAL
4754 : unconditionally makes the parser a bit smaller, and it avoids a
4755 : GCC warning that YYVAL may be used uninitialized. */
4756 210 : yyval = yyvsp[1-yylen];
4757 :
4758 :
4759 : YY_REDUCE_PRINT (yyn);
4760 210 : switch (yyn)
4761 : {
4762 : case 2:
4763 :
4764 4 : { xxx_pGLOBAL_SQLPARSER->setParseTree( (yyvsp[(1) - (1)].pParseNode) ); }
4765 4 : break;
4766 :
4767 : case 3:
4768 :
4769 0 : { xxx_pGLOBAL_SQLPARSER->setParseTree( (yyvsp[(1) - (2)].pParseNode) ); }
4770 0 : break;
4771 :
4772 : case 5:
4773 :
4774 : {
4775 0 : (yyval.pParseNode) = SQL_NEW_RULE;
4776 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
4777 : }
4778 0 : break;
4779 :
4780 : case 10:
4781 :
4782 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4783 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
4784 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode));
4785 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
4786 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4787 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
4788 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
4789 0 : break;
4790 :
4791 : case 11:
4792 :
4793 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
4794 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
4795 0 : break;
4796 :
4797 : case 12:
4798 :
4799 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
4800 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
4801 0 : break;
4802 :
4803 : case 15:
4804 :
4805 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4806 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
4807 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
4808 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
4809 : }
4810 0 : break;
4811 :
4812 : case 16:
4813 :
4814 0 : {(yyval.pParseNode) = SQL_NEW_LISTRULE;}
4815 0 : break;
4816 :
4817 : case 17:
4818 :
4819 0 : {(yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
4820 0 : (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);}
4821 0 : break;
4822 :
4823 : case 20:
4824 :
4825 : {
4826 0 : (yyval.pParseNode) = SQL_NEW_RULE;
4827 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4828 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
4829 : }
4830 0 : break;
4831 :
4832 : case 21:
4833 :
4834 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4835 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4836 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
4837 0 : break;
4838 :
4839 : case 23:
4840 :
4841 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4842 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4843 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
4844 0 : break;
4845 :
4846 : case 24:
4847 :
4848 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4849 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4850 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
4851 0 : break;
4852 :
4853 : case 25:
4854 :
4855 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4856 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4857 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
4858 0 : break;
4859 :
4860 : case 26:
4861 :
4862 : {
4863 0 : (yyval.pParseNode) = SQL_NEW_RULE;
4864 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4865 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
4866 : }
4867 0 : break;
4868 :
4869 : case 28:
4870 :
4871 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4872 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
4873 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4874 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
4875 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
4876 0 : break;
4877 :
4878 : case 29:
4879 :
4880 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4881 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
4882 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
4883 0 : break;
4884 :
4885 : case 30:
4886 :
4887 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4888 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
4889 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
4890 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4891 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
4892 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
4893 0 : break;
4894 :
4895 : case 31:
4896 :
4897 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4898 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
4899 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4900 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
4901 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
4902 0 : break;
4903 :
4904 : case 32:
4905 :
4906 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4907 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
4908 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode));
4909 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4910 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
4911 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
4912 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
4913 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));}
4914 0 : break;
4915 :
4916 : case 33:
4917 :
4918 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4919 0 : (yyval.pParseNode)->append((yyvsp[(1) - (10)].pParseNode));
4920 0 : (yyval.pParseNode)->append((yyvsp[(2) - (10)].pParseNode));
4921 0 : (yyval.pParseNode)->append((yyvsp[(3) - (10)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4922 0 : (yyval.pParseNode)->append((yyvsp[(4) - (10)].pParseNode));
4923 0 : (yyval.pParseNode)->append((yyvsp[(5) - (10)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
4924 0 : (yyval.pParseNode)->append((yyvsp[(6) - (10)].pParseNode));
4925 0 : (yyval.pParseNode)->append((yyvsp[(7) - (10)].pParseNode));
4926 0 : (yyval.pParseNode)->append((yyvsp[(8) - (10)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4927 0 : (yyval.pParseNode)->append((yyvsp[(9) - (10)].pParseNode));
4928 0 : (yyval.pParseNode)->append((yyvsp[(10) - (10)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
4929 0 : break;
4930 :
4931 : case 34:
4932 :
4933 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4934 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
4935 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4936 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
4937 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
4938 0 : break;
4939 :
4940 : case 35:
4941 :
4942 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
4943 0 : break;
4944 :
4945 : case 36:
4946 :
4947 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4948 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
4949 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
4950 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
4951 : }
4952 0 : break;
4953 :
4954 : case 37:
4955 :
4956 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
4957 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
4958 0 : break;
4959 :
4960 : case 38:
4961 :
4962 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
4963 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
4964 0 : break;
4965 :
4966 : case 39:
4967 :
4968 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4969 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
4970 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode));
4971 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
4972 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
4973 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
4974 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
4975 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));}
4976 0 : break;
4977 :
4978 : case 40:
4979 :
4980 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
4981 0 : break;
4982 :
4983 : case 41:
4984 :
4985 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4986 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
4987 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
4988 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
4989 0 : break;
4990 :
4991 : case 42:
4992 :
4993 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
4994 0 : break;
4995 :
4996 : case 43:
4997 :
4998 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
4999 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5000 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5001 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
5002 0 : break;
5003 :
5004 : case 44:
5005 :
5006 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5007 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
5008 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode));
5009 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
5010 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
5011 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
5012 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
5013 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));}
5014 0 : break;
5015 :
5016 : case 45:
5017 :
5018 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5019 0 : break;
5020 :
5021 : case 46:
5022 :
5023 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5024 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5025 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5026 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
5027 0 : break;
5028 :
5029 : case 47:
5030 :
5031 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5032 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5033 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5034 0 : break;
5035 :
5036 : case 49:
5037 :
5038 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5039 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5040 0 : break;
5041 :
5042 : case 50:
5043 :
5044 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5045 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5046 0 : break;
5047 :
5048 : case 52:
5049 :
5050 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5051 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5052 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5053 0 : break;
5054 :
5055 : case 54:
5056 :
5057 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5058 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5059 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5060 0 : break;
5061 :
5062 : case 55:
5063 :
5064 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5065 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5066 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5067 0 : break;
5068 :
5069 : case 57:
5070 :
5071 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5072 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5073 0 : break;
5074 :
5075 : case 58:
5076 :
5077 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5078 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5079 0 : break;
5080 :
5081 : case 61:
5082 :
5083 2 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5084 2 : break;
5085 :
5086 : case 62:
5087 :
5088 2 : {(yyval.pParseNode) = SQL_NEW_RULE;
5089 2 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5090 2 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5091 2 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
5092 2 : break;
5093 :
5094 : case 63:
5095 :
5096 2 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5097 2 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5098 2 : break;
5099 :
5100 : case 64:
5101 :
5102 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5103 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5104 0 : break;
5105 :
5106 : case 65:
5107 :
5108 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5109 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5110 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5111 0 : break;
5112 :
5113 : case 66:
5114 :
5115 2 : {(yyval.pParseNode) = SQL_NEW_RULE;
5116 2 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5117 2 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5118 2 : break;
5119 :
5120 : case 67:
5121 :
5122 2 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5123 2 : break;
5124 :
5125 : case 70:
5126 :
5127 2 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5128 2 : break;
5129 :
5130 : case 80:
5131 :
5132 : {
5133 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5134 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
5135 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5136 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
5137 : }
5138 0 : break;
5139 :
5140 : case 82:
5141 :
5142 : {
5143 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5144 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5145 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5146 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5147 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5148 : }
5149 0 : break;
5150 :
5151 : case 83:
5152 :
5153 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5154 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5155 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5156 0 : break;
5157 :
5158 : case 84:
5159 :
5160 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5161 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5162 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5163 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5164 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));}
5165 0 : break;
5166 :
5167 : case 85:
5168 :
5169 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5170 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5171 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5172 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5173 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));}
5174 0 : break;
5175 :
5176 : case 86:
5177 :
5178 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5179 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
5180 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
5181 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
5182 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
5183 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));}
5184 0 : break;
5185 :
5186 : case 87:
5187 :
5188 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5189 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5190 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5191 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5192 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
5193 : }
5194 0 : break;
5195 :
5196 : case 88:
5197 :
5198 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5199 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5200 0 : break;
5201 :
5202 : case 89:
5203 :
5204 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5205 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5206 0 : break;
5207 :
5208 : case 93:
5209 :
5210 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5211 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5212 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5213 0 : break;
5214 :
5215 : case 94:
5216 :
5217 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5218 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
5219 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode));
5220 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
5221 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
5222 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
5223 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode)); }
5224 0 : break;
5225 :
5226 : case 95:
5227 :
5228 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5229 4 : break;
5230 :
5231 : case 98:
5232 :
5233 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5234 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5235 0 : break;
5236 :
5237 : case 99:
5238 :
5239 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5240 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5241 0 : break;
5242 :
5243 : case 100:
5244 :
5245 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5246 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5247 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5248 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
5249 0 : break;
5250 :
5251 : case 103:
5252 :
5253 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5254 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
5255 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
5256 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
5257 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
5258 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));}
5259 0 : break;
5260 :
5261 : case 104:
5262 :
5263 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5264 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5265 0 : break;
5266 :
5267 : case 105:
5268 :
5269 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5270 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5271 0 : break;
5272 :
5273 : case 107:
5274 :
5275 2 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5276 2 : break;
5277 :
5278 : case 109:
5279 :
5280 : {
5281 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5282 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5283 : }
5284 0 : break;
5285 :
5286 : case 110:
5287 :
5288 : {
5289 4 : (yyval.pParseNode) = SQL_NEW_RULE;
5290 4 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5291 4 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5292 4 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5293 4 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5294 : }
5295 4 : break;
5296 :
5297 : case 111:
5298 :
5299 : {
5300 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5301 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
5302 : }
5303 0 : break;
5304 :
5305 : case 113:
5306 :
5307 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5308 4 : break;
5309 :
5310 : case 115:
5311 :
5312 : {
5313 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5314 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5315 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5316 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5317 : }
5318 0 : break;
5319 :
5320 : case 116:
5321 :
5322 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5323 0 : break;
5324 :
5325 : case 122:
5326 :
5327 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5328 4 : break;
5329 :
5330 : case 124:
5331 :
5332 : {
5333 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5334 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
5335 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
5336 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
5337 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
5338 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
5339 : }
5340 0 : break;
5341 :
5342 : case 127:
5343 :
5344 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5345 4 : break;
5346 :
5347 : case 129:
5348 :
5349 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5350 0 : break;
5351 :
5352 : case 130:
5353 :
5354 : {
5355 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5356 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5357 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5358 : }
5359 0 : break;
5360 :
5361 : case 131:
5362 :
5363 : {
5364 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5365 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5366 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5367 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5368 : }
5369 0 : break;
5370 :
5371 : case 132:
5372 :
5373 : {
5374 4 : (yyval.pParseNode) = SQL_NEW_RULE;
5375 4 : (yyval.pParseNode)->append((yyvsp[(1) - (9)].pParseNode));
5376 4 : (yyval.pParseNode)->append((yyvsp[(2) - (9)].pParseNode));
5377 4 : (yyval.pParseNode)->append((yyvsp[(3) - (9)].pParseNode));
5378 4 : (yyval.pParseNode)->append((yyvsp[(4) - (9)].pParseNode));
5379 4 : (yyval.pParseNode)->append((yyvsp[(5) - (9)].pParseNode));
5380 4 : (yyval.pParseNode)->append((yyvsp[(6) - (9)].pParseNode));
5381 4 : (yyval.pParseNode)->append((yyvsp[(7) - (9)].pParseNode));
5382 4 : (yyval.pParseNode)->append((yyvsp[(8) - (9)].pParseNode));
5383 4 : (yyval.pParseNode)->append((yyvsp[(9) - (9)].pParseNode));
5384 : }
5385 4 : break;
5386 :
5387 : case 133:
5388 :
5389 4 : {(yyval.pParseNode) = SQL_NEW_RULE;
5390 4 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5391 4 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5392 4 : break;
5393 :
5394 : case 134:
5395 :
5396 4 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5397 4 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5398 4 : break;
5399 :
5400 : case 135:
5401 :
5402 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5403 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5404 0 : break;
5405 :
5406 : case 136:
5407 :
5408 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5409 0 : break;
5410 :
5411 : case 138:
5412 :
5413 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5414 0 : break;
5415 :
5416 : case 140:
5417 :
5418 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5419 4 : break;
5420 :
5421 : case 141:
5422 :
5423 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5424 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5425 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5426 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5427 : }
5428 0 : break;
5429 :
5430 : case 142:
5431 :
5432 : {
5433 4 : (yyval.pParseNode) = SQL_NEW_RULE;
5434 4 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5435 4 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5436 : }
5437 4 : break;
5438 :
5439 : case 143:
5440 :
5441 : {
5442 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5443 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5444 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5445 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5446 : }
5447 0 : break;
5448 :
5449 : case 145:
5450 :
5451 : {
5452 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5453 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
5454 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5455 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5456 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
5457 : }
5458 0 : break;
5459 :
5460 : case 146:
5461 :
5462 : {
5463 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5464 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5465 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5466 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
5467 : }
5468 0 : break;
5469 :
5470 : case 147:
5471 :
5472 2 : {(yyval.pParseNode) = SQL_NEW_RULE;
5473 2 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5474 2 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5475 2 : break;
5476 :
5477 : case 148:
5478 :
5479 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5480 4 : break;
5481 :
5482 : case 149:
5483 :
5484 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5485 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5486 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5487 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
5488 0 : break;
5489 :
5490 : case 150:
5491 :
5492 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5493 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5494 0 : break;
5495 :
5496 : case 151:
5497 :
5498 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5499 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5500 0 : break;
5501 :
5502 : case 152:
5503 :
5504 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5505 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5506 0 : break;
5507 :
5508 : case 153:
5509 :
5510 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5511 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
5512 0 : break;
5513 :
5514 : case 154:
5515 :
5516 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5517 4 : break;
5518 :
5519 : case 155:
5520 :
5521 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5522 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5523 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5524 0 : break;
5525 :
5526 : case 161:
5527 :
5528 : { // boolean_primary: rule 2
5529 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5530 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5531 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5532 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
5533 : }
5534 0 : break;
5535 :
5536 : case 162:
5537 :
5538 : {
5539 0 : if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck())// boolean_primary: rule 3
5540 : {
5541 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5542 0 : sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildComparsionRule((yyval.pParseNode),(yyvsp[(1) - (1)].pParseNode));
5543 0 : if(nErg == 1)
5544 : {
5545 0 : OSQLParseNode* pTemp = (yyval.pParseNode);
5546 0 : (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
5547 0 : delete pTemp;
5548 : }
5549 : else
5550 : {
5551 0 : delete (yyval.pParseNode);
5552 0 : if(nErg)
5553 0 : YYERROR;
5554 : else
5555 0 : YYABORT;
5556 : }
5557 : }
5558 : else
5559 0 : YYERROR;
5560 : }
5561 0 : break;
5562 :
5563 : case 163:
5564 :
5565 : { // boolean_primary: rule 2
5566 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5567 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5568 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5569 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
5570 : }
5571 0 : break;
5572 :
5573 : case 165:
5574 :
5575 : {
5576 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5577 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5578 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5579 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5580 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5581 : }
5582 0 : break;
5583 :
5584 : case 167:
5585 :
5586 : { // boolean_factor: rule 1
5587 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5588 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5589 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5590 : }
5591 0 : break;
5592 :
5593 : case 169:
5594 :
5595 : {
5596 0 : (yyval.pParseNode) = SQL_NEW_RULE; // boolean_term: rule 1
5597 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5598 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5599 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5600 : }
5601 0 : break;
5602 :
5603 : case 171:
5604 :
5605 : {
5606 0 : (yyval.pParseNode) = SQL_NEW_RULE; // search_condition
5607 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5608 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5609 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5610 : }
5611 0 : break;
5612 :
5613 : case 180:
5614 :
5615 : {
5616 0 : (yyval.pParseNode) = SQL_NEW_RULE; // comparison_predicate: rule 1
5617 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5618 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5619 : }
5620 0 : break;
5621 :
5622 : case 181:
5623 :
5624 : {
5625 0 : (yyval.pParseNode) = SQL_NEW_RULE; // comparison_predicate: rule 1
5626 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5627 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5628 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5629 : }
5630 0 : break;
5631 :
5632 : case 182:
5633 :
5634 : {
5635 0 : if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // comparison_predicate: rule 2
5636 : {
5637 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5638 0 : sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildPredicateRule((yyval.pParseNode),(yyvsp[(2) - (2)].pParseNode),(yyvsp[(1) - (2)].pParseNode));
5639 0 : if(nErg == 1)
5640 : {
5641 0 : OSQLParseNode* pTemp = (yyval.pParseNode);
5642 0 : (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
5643 0 : delete pTemp;
5644 : }
5645 : else
5646 : {
5647 0 : delete (yyval.pParseNode);
5648 0 : YYABORT;
5649 : }
5650 : }
5651 : else
5652 : {
5653 0 : YYERROR;
5654 : }
5655 : }
5656 0 : break;
5657 :
5658 : case 189:
5659 :
5660 : {
5661 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5662 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5663 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5664 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5665 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5666 : }
5667 0 : break;
5668 :
5669 : case 190:
5670 :
5671 : {
5672 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5673 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5674 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5675 : }
5676 0 : break;
5677 :
5678 : case 191:
5679 :
5680 : {
5681 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // between_predicate: rule 2
5682 : {
5683 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5684 :
5685 0 : sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildPredicateRule((yyval.pParseNode),(yyvsp[(3) - (5)].pParseNode),(yyvsp[(2) - (5)].pParseNode),(yyvsp[(5) - (5)].pParseNode));
5686 0 : if(nErg == 1)
5687 : {
5688 0 : OSQLParseNode* pTemp = (yyval.pParseNode);
5689 0 : (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
5690 0 : OSQLParseNode* pColumnRef = (yyval.pParseNode)->removeAt((sal_uInt32)0);
5691 0 : (yyval.pParseNode)->insert(0,(yyvsp[(1) - (5)].pParseNode));
5692 0 : OSQLParseNode* pBetween_predicate = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::between_predicate));
5693 0 : pBetween_predicate->append(pColumnRef);
5694 0 : pBetween_predicate->append((yyval.pParseNode));
5695 0 : (yyval.pParseNode) = pBetween_predicate;
5696 :
5697 0 : delete pTemp;
5698 0 : delete (yyvsp[(4) - (5)].pParseNode);
5699 : }
5700 : else
5701 : {
5702 0 : delete (yyval.pParseNode);
5703 0 : YYABORT;
5704 : }
5705 : }
5706 : else
5707 : {
5708 0 : (yyval.pParseNode) = SQL_NEW_RULE; // between_predicate: rule 1
5709 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
5710 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
5711 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
5712 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
5713 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
5714 : }
5715 : }
5716 0 : break;
5717 :
5718 : case 192:
5719 :
5720 : {
5721 0 : (yyval.pParseNode) = SQL_NEW_RULE; // between_predicate: rule 1
5722 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5723 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5724 : }
5725 0 : break;
5726 :
5727 : case 194:
5728 :
5729 : {
5730 2 : (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
5731 2 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5732 2 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5733 2 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5734 2 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5735 : }
5736 2 : break;
5737 :
5738 : case 195:
5739 :
5740 : {
5741 0 : (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
5742 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5743 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5744 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5745 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5746 : }
5747 0 : break;
5748 :
5749 : case 196:
5750 :
5751 : {
5752 2 : (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
5753 2 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5754 2 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5755 : }
5756 2 : break;
5757 :
5758 : case 197:
5759 :
5760 : {
5761 0 : (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 3
5762 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5763 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5764 : }
5765 0 : break;
5766 :
5767 : case 198:
5768 :
5769 : {
5770 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // like_predicate: rule 5
5771 : {
5772 0 : OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
5773 0 : pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
5774 :
5775 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5776 0 : (yyval.pParseNode)->append(pColumnRef);
5777 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5778 0 : OSQLParseNode* p2nd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
5779 0 : OSQLParseNode* p3rd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
5780 0 : if ( !xxx_pGLOBAL_SQLPARSER->buildLikeRule((yyvsp[(1) - (1)].pParseNode),p2nd,p3rd) )
5781 : {
5782 0 : delete (yyval.pParseNode);
5783 : YYABORT;
5784 : }
5785 0 : (yyvsp[(1) - (1)].pParseNode)->append(p3rd);
5786 : }
5787 : else
5788 0 : YYERROR;
5789 : }
5790 0 : break;
5791 :
5792 : case 199:
5793 :
5794 : {
5795 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // like_predicate: rule 6
5796 : {
5797 0 : OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
5798 0 : pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
5799 :
5800 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5801 0 : (yyval.pParseNode)->append(pColumnRef);
5802 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5803 0 : OSQLParseNode* p2nd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
5804 0 : OSQLParseNode* p3rd = (yyvsp[(1) - (1)].pParseNode)->removeAt(2);
5805 0 : if ( !xxx_pGLOBAL_SQLPARSER->buildLikeRule((yyvsp[(1) - (1)].pParseNode),p2nd,p3rd) )
5806 : {
5807 0 : delete (yyval.pParseNode);
5808 : YYABORT;
5809 : }
5810 0 : (yyvsp[(1) - (1)].pParseNode)->append(p3rd);
5811 : }
5812 : else
5813 0 : YYERROR;
5814 : }
5815 0 : break;
5816 :
5817 : case 200:
5818 :
5819 2 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5820 2 : break;
5821 :
5822 : case 201:
5823 :
5824 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5825 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5826 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5827 0 : break;
5828 :
5829 : case 202:
5830 :
5831 : {
5832 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5833 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
5834 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5835 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5836 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
5837 : }
5838 0 : break;
5839 :
5840 : case 203:
5841 :
5842 : {
5843 0 : (yyval.pParseNode) = SQL_NEW_RULE; // test_for_null: rule 1
5844 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5845 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5846 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5847 : }
5848 0 : break;
5849 :
5850 : case 204:
5851 :
5852 : {
5853 0 : (yyval.pParseNode) = SQL_NEW_RULE; // test_for_null: rule 1
5854 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5855 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5856 : }
5857 0 : break;
5858 :
5859 : case 205:
5860 :
5861 : {
5862 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())// test_for_null: rule 2
5863 : {
5864 0 : OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
5865 0 : pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
5866 :
5867 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5868 0 : (yyval.pParseNode)->append(pColumnRef);
5869 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5870 : }
5871 : else
5872 0 : YYERROR;
5873 : }
5874 0 : break;
5875 :
5876 : case 206:
5877 :
5878 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5879 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5880 : }
5881 0 : break;
5882 :
5883 : case 207:
5884 :
5885 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5886 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5887 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5888 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
5889 : }
5890 0 : break;
5891 :
5892 : case 208:
5893 :
5894 : {
5895 0 : (yyval.pParseNode) = SQL_NEW_RULE;// in_predicate: rule 1
5896 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5897 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5898 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5899 : }
5900 0 : break;
5901 :
5902 : case 209:
5903 :
5904 : {
5905 0 : (yyval.pParseNode) = SQL_NEW_RULE;// in_predicate: rule 1
5906 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5907 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5908 : }
5909 0 : break;
5910 :
5911 : case 210:
5912 :
5913 : {
5914 0 : if ( xxx_pGLOBAL_SQLPARSER->inPredicateCheck() )// in_predicate: rule 2
5915 : {
5916 0 : OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
5917 0 : pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
5918 :
5919 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5920 0 : (yyval.pParseNode)->append(pColumnRef);
5921 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5922 : }
5923 : else
5924 0 : YYERROR;
5925 : }
5926 0 : break;
5927 :
5928 : case 211:
5929 :
5930 : {
5931 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5932 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5933 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5934 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5935 : }
5936 0 : break;
5937 :
5938 : case 212:
5939 :
5940 : {
5941 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5942 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5943 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5944 : }
5945 0 : break;
5946 :
5947 : case 213:
5948 :
5949 : {
5950 0 : if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
5951 : {
5952 0 : OSQLParseNode* pColumnRef = newNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
5953 0 : pColumnRef->append(newNode(xxx_pGLOBAL_SQLPARSER->getFieldName(),SQL_NODE_NAME));
5954 :
5955 0 : (yyval.pParseNode) = SQL_NEW_RULE;
5956 0 : (yyval.pParseNode)->append(pColumnRef);
5957 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5958 : }
5959 : else
5960 0 : YYERROR;
5961 : }
5962 0 : break;
5963 :
5964 : case 217:
5965 :
5966 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5967 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5968 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5969 0 : break;
5970 :
5971 : case 218:
5972 :
5973 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5974 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5975 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5976 0 : break;
5977 :
5978 : case 219:
5979 :
5980 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
5981 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5982 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5983 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));}
5984 0 : break;
5985 :
5986 : case 220:
5987 :
5988 : {
5989 4 : (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5990 4 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5991 : }
5992 4 : break;
5993 :
5994 : case 221:
5995 :
5996 : {
5997 0 : (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5998 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
5999 : }
6000 0 : break;
6001 :
6002 : case 229:
6003 :
6004 : {
6005 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
6006 : {
6007 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6008 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6009 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6010 0 : xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
6011 : }
6012 : else
6013 0 : YYERROR;
6014 : }
6015 0 : break;
6016 :
6017 : case 230:
6018 :
6019 : {
6020 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
6021 : {
6022 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6023 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6024 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6025 0 : xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
6026 : }
6027 : else
6028 0 : YYERROR;
6029 : }
6030 0 : break;
6031 :
6032 : case 231:
6033 :
6034 : {
6035 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
6036 : {
6037 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6038 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6039 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6040 0 : xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
6041 : }
6042 : else
6043 0 : YYERROR;
6044 : }
6045 0 : break;
6046 :
6047 : case 232:
6048 :
6049 : {
6050 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
6051 : {
6052 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6053 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6054 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6055 0 : xxx_pGLOBAL_SQLPARSER->reduceLiteral((yyval.pParseNode), sal_True);
6056 : }
6057 : else
6058 0 : YYERROR;
6059 : }
6060 0 : break;
6061 :
6062 : case 233:
6063 :
6064 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6065 4 : break;
6066 :
6067 : case 234:
6068 :
6069 : {
6070 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6071 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6072 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6073 : }
6074 0 : break;
6075 :
6076 : case 236:
6077 :
6078 : {
6079 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6080 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
6081 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6082 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
6083 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
6084 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
6085 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6086 : }
6087 0 : break;
6088 :
6089 : case 237:
6090 :
6091 : {
6092 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6093 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6094 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6095 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6096 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6097 : }
6098 0 : break;
6099 :
6100 : case 241:
6101 :
6102 : {
6103 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6104 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6105 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6106 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6107 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6108 : }
6109 0 : break;
6110 :
6111 : case 242:
6112 :
6113 : {
6114 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6115 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6116 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6117 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6118 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6119 : }
6120 0 : break;
6121 :
6122 : case 243:
6123 :
6124 : {
6125 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6126 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6127 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6128 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6129 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6130 : }
6131 0 : break;
6132 :
6133 : case 244:
6134 :
6135 : {
6136 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6137 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6138 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6139 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6140 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6141 : }
6142 0 : break;
6143 :
6144 : case 245:
6145 :
6146 : {
6147 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6148 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6149 : }
6150 0 : break;
6151 :
6152 : case 246:
6153 :
6154 : {
6155 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6156 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6157 : }
6158 0 : break;
6159 :
6160 : case 247:
6161 :
6162 : {
6163 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6164 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6165 : }
6166 0 : break;
6167 :
6168 : case 248:
6169 :
6170 : {
6171 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6172 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6173 : }
6174 0 : break;
6175 :
6176 : case 249:
6177 :
6178 : {
6179 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6180 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6181 : }
6182 0 : break;
6183 :
6184 : case 253:
6185 :
6186 : {
6187 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6188 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6189 : }
6190 0 : break;
6191 :
6192 : case 254:
6193 :
6194 : {
6195 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6196 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6197 : }
6198 0 : break;
6199 :
6200 : case 255:
6201 :
6202 : {
6203 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6204 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
6205 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6206 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
6207 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
6208 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
6209 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6210 : }
6211 0 : break;
6212 :
6213 : case 273:
6214 :
6215 : {
6216 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6217 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("{", SQL_NODE_PUNCTUATION));
6218 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6219 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode("}", SQL_NODE_PUNCTUATION));
6220 : }
6221 0 : break;
6222 :
6223 : case 274:
6224 :
6225 : {
6226 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6227 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6228 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6229 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6230 : }
6231 0 : break;
6232 :
6233 : case 275:
6234 :
6235 : {
6236 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6237 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6238 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6239 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6240 : }
6241 0 : break;
6242 :
6243 : case 276:
6244 :
6245 : {
6246 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6247 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6248 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6249 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6250 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6251 : }
6252 0 : break;
6253 :
6254 : case 277:
6255 :
6256 : {
6257 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6258 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6259 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6260 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6261 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6262 : }
6263 0 : break;
6264 :
6265 : case 278:
6266 :
6267 : {
6268 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6269 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6270 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6271 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6272 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6273 : }
6274 0 : break;
6275 :
6276 : case 279:
6277 :
6278 : {
6279 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6280 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6281 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6282 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6283 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6284 : }
6285 0 : break;
6286 :
6287 : case 280:
6288 :
6289 : {
6290 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6291 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6292 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6293 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6294 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6295 : }
6296 0 : break;
6297 :
6298 : case 281:
6299 :
6300 : {
6301 0 : if ( (yyvsp[(3) - (4)].pParseNode)->count() == 1 || (yyvsp[(3) - (4)].pParseNode)->count() == 2 )
6302 : {
6303 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6304 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6305 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6306 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6307 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6308 : }
6309 : else
6310 0 : YYERROR;
6311 : }
6312 0 : break;
6313 :
6314 : case 282:
6315 :
6316 : {
6317 0 : if ( (yyvsp[(3) - (4)].pParseNode)->count() == 2 || (yyvsp[(3) - (4)].pParseNode)->count() == 3)
6318 : {
6319 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6320 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6321 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6322 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6323 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6324 : }
6325 : else
6326 0 : YYERROR;
6327 : }
6328 0 : break;
6329 :
6330 : case 361:
6331 :
6332 : {
6333 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6334 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6335 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6336 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6337 : }
6338 0 : break;
6339 :
6340 : case 362:
6341 :
6342 : {
6343 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6344 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6345 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6346 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6347 : }
6348 0 : break;
6349 :
6350 : case 363:
6351 :
6352 : {
6353 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6354 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6355 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6356 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6357 : }
6358 0 : break;
6359 :
6360 : case 369:
6361 :
6362 : {
6363 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6364 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6365 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6366 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6367 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6368 : }
6369 0 : break;
6370 :
6371 : case 374:
6372 :
6373 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6374 0 : break;
6375 :
6376 : case 375:
6377 :
6378 : {
6379 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6380 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
6381 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6382 : }
6383 0 : break;
6384 :
6385 : case 376:
6386 :
6387 : {
6388 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6389 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
6390 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6391 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
6392 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6393 : }
6394 0 : break;
6395 :
6396 : case 377:
6397 :
6398 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6399 0 : break;
6400 :
6401 : case 379:
6402 :
6403 : {
6404 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6405 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
6406 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6407 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
6408 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
6409 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6410 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode));
6411 : }
6412 0 : break;
6413 :
6414 : case 387:
6415 :
6416 : {
6417 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6418 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6419 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6420 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6421 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6422 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
6423 : }
6424 0 : break;
6425 :
6426 : case 390:
6427 :
6428 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6429 0 : break;
6430 :
6431 : case 392:
6432 :
6433 : {
6434 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6435 0 : (yyval.pParseNode)->append((yyvsp[(1) - (8)].pParseNode));
6436 0 : (yyval.pParseNode)->append((yyvsp[(2) - (8)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6437 0 : (yyval.pParseNode)->append((yyvsp[(3) - (8)].pParseNode));
6438 0 : (yyval.pParseNode)->append((yyvsp[(4) - (8)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
6439 0 : (yyval.pParseNode)->append((yyvsp[(5) - (8)].pParseNode));
6440 0 : (yyval.pParseNode)->append((yyvsp[(6) - (8)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6441 0 : (yyval.pParseNode)->append((yyvsp[(7) - (8)].pParseNode));
6442 0 : (yyval.pParseNode)->append((yyvsp[(8) - (8)].pParseNode));
6443 : }
6444 0 : break;
6445 :
6446 : case 395:
6447 :
6448 : {
6449 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6450 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6451 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6452 : }
6453 0 : break;
6454 :
6455 : case 396:
6456 :
6457 : {
6458 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6459 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6460 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6461 : }
6462 0 : break;
6463 :
6464 : case 401:
6465 :
6466 4 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6467 4 : break;
6468 :
6469 : case 403:
6470 :
6471 : {
6472 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6473 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6474 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6475 : }
6476 0 : break;
6477 :
6478 : case 404:
6479 :
6480 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6481 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
6482 0 : break;
6483 :
6484 : case 405:
6485 :
6486 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
6487 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
6488 0 : break;
6489 :
6490 : case 406:
6491 :
6492 : {
6493 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6494 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6495 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6496 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6497 : }
6498 0 : break;
6499 :
6500 : case 408:
6501 :
6502 : {
6503 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6504 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6505 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6506 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6507 : }
6508 0 : break;
6509 :
6510 : case 409:
6511 :
6512 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6513 0 : break;
6514 :
6515 : case 411:
6516 :
6517 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6518 0 : break;
6519 :
6520 : case 413:
6521 :
6522 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6523 0 : break;
6524 :
6525 : case 417:
6526 :
6527 : {
6528 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6529 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6530 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6531 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6532 : }
6533 0 : break;
6534 :
6535 : case 418:
6536 :
6537 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6538 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
6539 0 : break;
6540 :
6541 : case 419:
6542 :
6543 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
6544 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
6545 0 : break;
6546 :
6547 : case 420:
6548 :
6549 : {
6550 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6551 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6552 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6553 : }
6554 0 : break;
6555 :
6556 : case 421:
6557 :
6558 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6559 0 : break;
6560 :
6561 : case 423:
6562 :
6563 : {
6564 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6565 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6566 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6567 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6568 : }
6569 0 : break;
6570 :
6571 : case 428:
6572 :
6573 : {
6574 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6575 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6576 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6577 : }
6578 0 : break;
6579 :
6580 : case 430:
6581 :
6582 : {
6583 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6584 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6585 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6586 : }
6587 0 : break;
6588 :
6589 : case 431:
6590 :
6591 : {
6592 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6593 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6594 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6595 : }
6596 0 : break;
6597 :
6598 : case 432:
6599 :
6600 : {
6601 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6602 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6603 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6604 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6605 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6606 : }
6607 0 : break;
6608 :
6609 : case 436:
6610 :
6611 : {
6612 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6613 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6614 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6615 : }
6616 0 : break;
6617 :
6618 : case 438:
6619 :
6620 : {
6621 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6622 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6623 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6624 : }
6625 0 : break;
6626 :
6627 : case 439:
6628 :
6629 : {
6630 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6631 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6632 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6633 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6634 : }
6635 0 : break;
6636 :
6637 : case 440:
6638 :
6639 : {
6640 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6641 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6642 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6643 : }
6644 0 : break;
6645 :
6646 : case 441:
6647 :
6648 : {
6649 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6650 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6651 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6652 : }
6653 0 : break;
6654 :
6655 : case 442:
6656 :
6657 : {
6658 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6659 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
6660 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6661 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6662 : }
6663 0 : break;
6664 :
6665 : case 443:
6666 :
6667 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6668 0 : break;
6669 :
6670 : case 444:
6671 :
6672 : {
6673 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6674 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode("?", SQL_NODE_PUNCTUATION));
6675 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6676 : }
6677 0 : break;
6678 :
6679 : case 445:
6680 :
6681 : {
6682 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6683 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6684 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6685 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6686 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6687 : }
6688 0 : break;
6689 :
6690 : case 446:
6691 :
6692 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6693 0 : break;
6694 :
6695 : case 447:
6696 :
6697 : {
6698 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6699 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6700 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6701 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6702 : }
6703 0 : break;
6704 :
6705 : case 448:
6706 :
6707 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
6708 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
6709 0 : break;
6710 :
6711 : case 449:
6712 :
6713 : {
6714 0 : (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
6715 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
6716 : }
6717 0 : break;
6718 :
6719 : case 450:
6720 :
6721 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6722 0 : break;
6723 :
6724 : case 453:
6725 :
6726 : {
6727 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6728 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6729 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6730 : }
6731 0 : break;
6732 :
6733 : case 454:
6734 :
6735 : {
6736 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6737 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6738 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6739 : }
6740 0 : break;
6741 :
6742 : case 458:
6743 :
6744 : {
6745 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6746 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6747 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6748 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6749 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
6750 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6751 : }
6752 0 : break;
6753 :
6754 : case 459:
6755 :
6756 : {
6757 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6758 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6759 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6760 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
6761 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6762 : }
6763 0 : break;
6764 :
6765 : case 460:
6766 :
6767 : {
6768 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6769 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6770 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6771 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6772 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
6773 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6774 : }
6775 0 : break;
6776 :
6777 : case 479:
6778 :
6779 : {
6780 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6781 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6782 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6783 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6784 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6785 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
6786 : }
6787 0 : break;
6788 :
6789 : case 480:
6790 :
6791 : {
6792 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6793 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
6794 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6795 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
6796 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
6797 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
6798 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6799 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
6800 : }
6801 0 : break;
6802 :
6803 : case 481:
6804 :
6805 : {
6806 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6807 : }
6808 0 : break;
6809 :
6810 : case 482:
6811 :
6812 : {
6813 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6814 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6815 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
6816 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6817 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
6818 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6819 : }
6820 0 : break;
6821 :
6822 : case 484:
6823 :
6824 : {
6825 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6826 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6827 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6828 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6829 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6830 : }
6831 0 : break;
6832 :
6833 : case 488:
6834 :
6835 : {
6836 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6837 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6838 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6839 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6840 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
6841 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6842 : }
6843 0 : break;
6844 :
6845 : case 493:
6846 :
6847 : {
6848 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6849 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6850 : }
6851 0 : break;
6852 :
6853 : case 494:
6854 :
6855 : {
6856 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6857 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6858 : }
6859 0 : break;
6860 :
6861 : case 495:
6862 :
6863 : {
6864 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6865 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6866 : }
6867 0 : break;
6868 :
6869 : case 496:
6870 :
6871 : {
6872 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6873 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6874 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6875 : }
6876 0 : break;
6877 :
6878 : case 499:
6879 :
6880 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6881 0 : break;
6882 :
6883 : case 500:
6884 :
6885 : {
6886 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6887 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
6888 : }
6889 0 : break;
6890 :
6891 : case 502:
6892 :
6893 : {
6894 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6895 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
6896 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
6897 : }
6898 0 : break;
6899 :
6900 : case 503:
6901 :
6902 : {
6903 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6904 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6905 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6906 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6907 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6908 : }
6909 0 : break;
6910 :
6911 : case 504:
6912 :
6913 : {
6914 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6915 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6916 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
6917 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6918 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
6919 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
6920 : }
6921 0 : break;
6922 :
6923 : case 505:
6924 :
6925 : {
6926 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6927 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
6928 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
6929 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
6930 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
6931 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
6932 : }
6933 0 : break;
6934 :
6935 : case 508:
6936 :
6937 : {
6938 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6939 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6940 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6941 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6942 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6943 : }
6944 0 : break;
6945 :
6946 : case 512:
6947 :
6948 : {
6949 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6950 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
6951 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
6952 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
6953 : }
6954 0 : break;
6955 :
6956 : case 514:
6957 :
6958 : {
6959 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6960 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6961 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6962 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6963 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6964 : }
6965 0 : break;
6966 :
6967 : case 517:
6968 :
6969 : {
6970 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6971 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6972 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6973 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6974 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6975 : }
6976 0 : break;
6977 :
6978 : case 518:
6979 :
6980 : {
6981 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6982 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
6983 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
6984 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
6985 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
6986 : }
6987 0 : break;
6988 :
6989 : case 519:
6990 :
6991 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6992 0 : break;
6993 :
6994 : case 526:
6995 :
6996 : {
6997 0 : (yyval.pParseNode) = SQL_NEW_RULE;
6998 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
6999 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7000 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
7001 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
7002 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
7003 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7004 : }
7005 0 : break;
7006 :
7007 : case 533:
7008 :
7009 : {
7010 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7011 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7012 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7013 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7014 : }
7015 0 : break;
7016 :
7017 : case 538:
7018 :
7019 : {
7020 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7021 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode("-", SQL_NODE_PUNCTUATION));
7022 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7023 : }
7024 0 : break;
7025 :
7026 : case 539:
7027 :
7028 : {
7029 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7030 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode("+", SQL_NODE_PUNCTUATION));
7031 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7032 : }
7033 0 : break;
7034 :
7035 : case 541:
7036 :
7037 : {
7038 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7039 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7040 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
7041 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7042 : }
7043 0 : break;
7044 :
7045 : case 542:
7046 :
7047 : {
7048 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7049 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7050 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("/", SQL_NODE_PUNCTUATION));
7051 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7052 : }
7053 0 : break;
7054 :
7055 : case 544:
7056 :
7057 : {
7058 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7059 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7060 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("+", SQL_NODE_PUNCTUATION));
7061 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7062 : }
7063 0 : break;
7064 :
7065 : case 545:
7066 :
7067 : {
7068 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7069 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7070 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("-", SQL_NODE_PUNCTUATION));
7071 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7072 : }
7073 0 : break;
7074 :
7075 : case 546:
7076 :
7077 : {
7078 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7079 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7080 : }
7081 0 : break;
7082 :
7083 : case 547:
7084 :
7085 : {
7086 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7087 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7088 : }
7089 0 : break;
7090 :
7091 : case 548:
7092 :
7093 : {
7094 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7095 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7096 : }
7097 0 : break;
7098 :
7099 : case 549:
7100 :
7101 : {
7102 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7103 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7104 : }
7105 0 : break;
7106 :
7107 : case 550:
7108 :
7109 : {
7110 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7111 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7112 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7113 : }
7114 0 : break;
7115 :
7116 : case 551:
7117 :
7118 : {
7119 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7120 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7121 : }
7122 0 : break;
7123 :
7124 : case 552:
7125 :
7126 : {
7127 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7128 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7129 : }
7130 0 : break;
7131 :
7132 : case 553:
7133 :
7134 : {
7135 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7136 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7137 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7138 : }
7139 0 : break;
7140 :
7141 : case 554:
7142 :
7143 : {
7144 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7145 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7146 : }
7147 0 : break;
7148 :
7149 : case 555:
7150 :
7151 : {
7152 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7153 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7154 : }
7155 0 : break;
7156 :
7157 : case 561:
7158 :
7159 : {
7160 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7161 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7162 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7163 : }
7164 0 : break;
7165 :
7166 : case 563:
7167 :
7168 : {
7169 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7170 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7171 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7172 : }
7173 0 : break;
7174 :
7175 : case 564:
7176 :
7177 : {
7178 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7179 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7180 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7181 : }
7182 0 : break;
7183 :
7184 : case 565:
7185 :
7186 : {
7187 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7188 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7189 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7190 : }
7191 0 : break;
7192 :
7193 : case 566:
7194 :
7195 : {
7196 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7197 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7198 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7199 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7200 : }
7201 0 : break;
7202 :
7203 : case 568:
7204 :
7205 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
7206 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7207 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
7208 0 : break;
7209 :
7210 : case 569:
7211 :
7212 : {
7213 0 : (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
7214 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
7215 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
7216 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
7217 : }
7218 0 : break;
7219 :
7220 : case 570:
7221 :
7222 : {
7223 0 : (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
7224 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
7225 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
7226 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
7227 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
7228 : }
7229 0 : break;
7230 :
7231 : case 571:
7232 :
7233 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
7234 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7235 0 : break;
7236 :
7237 : case 572:
7238 :
7239 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7240 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
7241 0 : break;
7242 :
7243 : case 573:
7244 :
7245 : {
7246 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
7247 : {
7248 0 : (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7249 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
7250 : }
7251 : else
7252 0 : YYERROR;
7253 : }
7254 0 : break;
7255 :
7256 : case 575:
7257 :
7258 : {
7259 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7260 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7261 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7262 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7263 : }
7264 0 : break;
7265 :
7266 : case 576:
7267 :
7268 : {
7269 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7270 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
7271 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
7272 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
7273 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
7274 : }
7275 0 : break;
7276 :
7277 : case 577:
7278 :
7279 : {
7280 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7281 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7282 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7283 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7284 : }
7285 0 : break;
7286 :
7287 : case 578:
7288 :
7289 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
7290 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7291 0 : break;
7292 :
7293 : case 579:
7294 :
7295 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7296 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
7297 0 : break;
7298 :
7299 : case 580:
7300 :
7301 : {
7302 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck())
7303 : {
7304 0 : (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7305 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
7306 : }
7307 : else
7308 0 : YYERROR;
7309 : }
7310 0 : break;
7311 :
7312 : case 583:
7313 :
7314 : {
7315 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7316 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7317 : }
7318 0 : break;
7319 :
7320 : case 587:
7321 :
7322 : {
7323 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7324 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7325 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode("+", SQL_NODE_PUNCTUATION));
7326 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7327 : }
7328 0 : break;
7329 :
7330 : case 588:
7331 :
7332 : {
7333 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7334 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7335 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7336 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7337 : }
7338 0 : break;
7339 :
7340 : case 591:
7341 :
7342 : {
7343 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7344 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7345 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7346 : }
7347 0 : break;
7348 :
7349 : case 593:
7350 :
7351 : {
7352 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7353 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7354 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7355 : }
7356 0 : break;
7357 :
7358 : case 596:
7359 :
7360 : {
7361 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7362 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7363 : }
7364 0 : break;
7365 :
7366 : case 597:
7367 :
7368 : {
7369 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7370 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
7371 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7372 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
7373 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
7374 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
7375 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
7376 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7377 : }
7378 0 : break;
7379 :
7380 : case 598:
7381 :
7382 : {
7383 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7384 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7385 : }
7386 0 : break;
7387 :
7388 : case 599:
7389 :
7390 : {
7391 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7392 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7393 : }
7394 0 : break;
7395 :
7396 : case 600:
7397 :
7398 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7399 0 : break;
7400 :
7401 : case 603:
7402 :
7403 : {
7404 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7405 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7406 : }
7407 0 : break;
7408 :
7409 : case 604:
7410 :
7411 : {
7412 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7413 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7414 : }
7415 0 : break;
7416 :
7417 : case 605:
7418 :
7419 : {
7420 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7421 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
7422 : }
7423 0 : break;
7424 :
7425 : case 606:
7426 :
7427 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7428 0 : break;
7429 :
7430 : case 607:
7431 :
7432 : {
7433 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7434 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7435 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7436 : }
7437 0 : break;
7438 :
7439 : case 608:
7440 :
7441 : {
7442 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7443 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
7444 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7445 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
7446 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode));
7447 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
7448 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode));
7449 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7450 : }
7451 0 : break;
7452 :
7453 : case 609:
7454 :
7455 : {
7456 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7457 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7458 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7459 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7460 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7461 : }
7462 0 : break;
7463 :
7464 : case 612:
7465 :
7466 : {
7467 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7468 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7469 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7470 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7471 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7472 : }
7473 0 : break;
7474 :
7475 : case 613:
7476 :
7477 : {
7478 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7479 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
7480 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7481 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
7482 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
7483 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
7484 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7485 : }
7486 0 : break;
7487 :
7488 : case 614:
7489 :
7490 : {
7491 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7492 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
7493 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7494 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
7495 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
7496 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
7497 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7498 : }
7499 0 : break;
7500 :
7501 : case 615:
7502 :
7503 : {
7504 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7505 0 : (yyval.pParseNode)->append((yyvsp[(1) - (6)].pParseNode));
7506 0 : (yyval.pParseNode)->append((yyvsp[(2) - (6)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7507 0 : (yyval.pParseNode)->append((yyvsp[(3) - (6)].pParseNode));
7508 0 : (yyval.pParseNode)->append((yyvsp[(4) - (6)].pParseNode));
7509 0 : (yyval.pParseNode)->append((yyvsp[(5) - (6)].pParseNode));
7510 0 : (yyval.pParseNode)->append((yyvsp[(6) - (6)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7511 : }
7512 0 : break;
7513 :
7514 : case 616:
7515 :
7516 : {
7517 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7518 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7519 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7520 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7521 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7522 : }
7523 0 : break;
7524 :
7525 : case 617:
7526 :
7527 : {
7528 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7529 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7530 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
7531 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7532 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
7533 : }
7534 0 : break;
7535 :
7536 : case 618:
7537 :
7538 : {
7539 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7540 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7541 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7542 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7543 : }
7544 0 : break;
7545 :
7546 : case 619:
7547 :
7548 : {
7549 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7550 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7551 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7552 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7553 : }
7554 0 : break;
7555 :
7556 : case 620:
7557 :
7558 : {
7559 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7560 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7561 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7562 : }
7563 0 : break;
7564 :
7565 : case 625:
7566 :
7567 : {
7568 4 : (yyval.pParseNode) = SQL_NEW_RULE;
7569 4 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7570 4 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7571 : }
7572 4 : break;
7573 :
7574 : case 629:
7575 :
7576 : {
7577 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7578 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7579 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7580 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7581 : }
7582 0 : break;
7583 :
7584 : case 630:
7585 :
7586 : {
7587 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7588 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7589 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(":", SQL_NODE_PUNCTUATION));
7590 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7591 : }
7592 0 : break;
7593 :
7594 : case 631:
7595 :
7596 : {
7597 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7598 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7599 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7600 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7601 : }
7602 0 : break;
7603 :
7604 : case 632:
7605 :
7606 4 : {(yyval.pParseNode) = SQL_NEW_RULE;
7607 4 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7608 4 : break;
7609 :
7610 : case 633:
7611 :
7612 8 : {(yyval.pParseNode) = SQL_NEW_RULE;
7613 8 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7614 8 : break;
7615 :
7616 : case 634:
7617 :
7618 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
7619 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7620 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7621 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7622 : }
7623 0 : break;
7624 :
7625 : case 635:
7626 :
7627 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
7628 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
7629 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7630 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
7631 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7632 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));}
7633 0 : break;
7634 :
7635 : case 636:
7636 :
7637 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
7638 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
7639 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode)= newNode(".", SQL_NODE_PUNCTUATION));
7640 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
7641 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7642 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
7643 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7644 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
7645 : }
7646 0 : break;
7647 :
7648 : case 637:
7649 :
7650 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
7651 0 : (yyval.pParseNode)->append((yyvsp[(1) - (7)].pParseNode));
7652 0 : (yyval.pParseNode)->append((yyvsp[(2) - (7)].pParseNode)= newNode(":", SQL_NODE_PUNCTUATION));
7653 0 : (yyval.pParseNode)->append((yyvsp[(3) - (7)].pParseNode));
7654 0 : (yyval.pParseNode)->append((yyvsp[(4) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7655 0 : (yyval.pParseNode)->append((yyvsp[(5) - (7)].pParseNode));
7656 0 : (yyval.pParseNode)->append((yyvsp[(6) - (7)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7657 0 : (yyval.pParseNode)->append((yyvsp[(7) - (7)].pParseNode));
7658 : }
7659 0 : break;
7660 :
7661 : case 638:
7662 :
7663 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
7664 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7665 0 : break;
7666 :
7667 : case 639:
7668 :
7669 : {
7670 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7671 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
7672 : }
7673 0 : break;
7674 :
7675 : case 641:
7676 :
7677 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7678 0 : break;
7679 :
7680 : case 642:
7681 :
7682 : {
7683 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7684 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7685 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7686 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7687 : }
7688 0 : break;
7689 :
7690 : case 643:
7691 :
7692 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7693 0 : break;
7694 :
7695 : case 645:
7696 :
7697 : {
7698 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7699 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7700 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7701 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7702 : }
7703 0 : break;
7704 :
7705 : case 646:
7706 :
7707 : {
7708 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7709 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7710 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7711 : }
7712 0 : break;
7713 :
7714 : case 652:
7715 :
7716 : {
7717 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7718 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7719 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7720 : }
7721 0 : break;
7722 :
7723 : case 653:
7724 :
7725 : {
7726 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7727 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7728 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7729 : }
7730 0 : break;
7731 :
7732 : case 654:
7733 :
7734 : {
7735 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7736 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7737 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7738 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7739 : }
7740 0 : break;
7741 :
7742 : case 655:
7743 :
7744 : {
7745 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7746 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7747 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7748 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7749 : }
7750 0 : break;
7751 :
7752 : case 656:
7753 :
7754 : {
7755 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7756 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7757 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7758 : }
7759 0 : break;
7760 :
7761 : case 658:
7762 :
7763 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7764 0 : break;
7765 :
7766 : case 660:
7767 :
7768 : {
7769 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7770 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7771 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7772 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7773 : }
7774 0 : break;
7775 :
7776 : case 661:
7777 :
7778 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7779 0 : break;
7780 :
7781 : case 663:
7782 :
7783 : {
7784 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7785 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
7786 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7787 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
7788 : }
7789 0 : break;
7790 :
7791 : case 664:
7792 :
7793 : {
7794 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7795 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7796 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7797 : }
7798 0 : break;
7799 :
7800 : case 665:
7801 :
7802 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
7803 0 : break;
7804 :
7805 : case 666:
7806 :
7807 : {
7808 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7809 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("K", SQL_NODE_PUNCTUATION));
7810 : }
7811 0 : break;
7812 :
7813 : case 667:
7814 :
7815 : {
7816 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7817 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("M", SQL_NODE_PUNCTUATION));
7818 : }
7819 0 : break;
7820 :
7821 : case 668:
7822 :
7823 : {
7824 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7825 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("G", SQL_NODE_PUNCTUATION));
7826 : }
7827 0 : break;
7828 :
7829 : case 669:
7830 :
7831 : {
7832 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7833 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("T", SQL_NODE_PUNCTUATION));
7834 : }
7835 0 : break;
7836 :
7837 : case 670:
7838 :
7839 : {
7840 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7841 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("P", SQL_NODE_PUNCTUATION));
7842 : }
7843 0 : break;
7844 :
7845 : case 671:
7846 :
7847 : {
7848 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7849 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7850 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
7851 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7852 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
7853 : }
7854 0 : break;
7855 :
7856 : case 672:
7857 :
7858 : {
7859 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7860 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7861 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
7862 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7863 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
7864 : }
7865 0 : break;
7866 :
7867 : case 673:
7868 :
7869 : {
7870 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7871 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7872 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7873 : }
7874 0 : break;
7875 :
7876 : case 674:
7877 :
7878 : {
7879 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7880 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7881 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7882 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7883 : }
7884 0 : break;
7885 :
7886 : case 675:
7887 :
7888 : {
7889 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7890 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7891 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7892 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7893 : }
7894 0 : break;
7895 :
7896 : case 676:
7897 :
7898 : {
7899 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7900 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7901 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7902 : }
7903 0 : break;
7904 :
7905 : case 677:
7906 :
7907 : {
7908 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7909 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7910 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
7911 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7912 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
7913 : }
7914 0 : break;
7915 :
7916 : case 678:
7917 :
7918 : {
7919 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7920 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7921 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
7922 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7923 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
7924 : }
7925 0 : break;
7926 :
7927 : case 679:
7928 :
7929 : {
7930 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7931 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7932 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7933 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7934 : }
7935 0 : break;
7936 :
7937 : case 681:
7938 :
7939 : {
7940 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7941 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
7942 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
7943 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
7944 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
7945 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
7946 : }
7947 0 : break;
7948 :
7949 : case 682:
7950 :
7951 : {
7952 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7953 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
7954 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
7955 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
7956 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
7957 : }
7958 0 : break;
7959 :
7960 : case 683:
7961 :
7962 : {
7963 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7964 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7965 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7966 : }
7967 0 : break;
7968 :
7969 : case 684:
7970 :
7971 : {
7972 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7973 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7974 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7975 : }
7976 0 : break;
7977 :
7978 : case 685:
7979 :
7980 : {
7981 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7982 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7983 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
7984 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7985 : }
7986 0 : break;
7987 :
7988 : case 686:
7989 :
7990 : {
7991 0 : (yyval.pParseNode) = SQL_NEW_RULE;
7992 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7993 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7994 : }
7995 0 : break;
7996 :
7997 : case 688:
7998 :
7999 : {
8000 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8001 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8002 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8003 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8004 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8005 : }
8006 0 : break;
8007 :
8008 : case 689:
8009 :
8010 : {
8011 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8012 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8013 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8014 : }
8015 0 : break;
8016 :
8017 : case 692:
8018 :
8019 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
8020 0 : break;
8021 :
8022 : case 693:
8023 :
8024 : {
8025 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8026 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
8027 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8028 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
8029 : }
8030 0 : break;
8031 :
8032 : case 694:
8033 :
8034 : {
8035 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8036 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
8037 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
8038 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode) = newNode(",", SQL_NODE_PUNCTUATION));
8039 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
8040 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
8041 : }
8042 0 : break;
8043 :
8044 : case 695:
8045 :
8046 : {
8047 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8048 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8049 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8050 : }
8051 0 : break;
8052 :
8053 : case 696:
8054 :
8055 : {
8056 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8057 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8058 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8059 : }
8060 0 : break;
8061 :
8062 : case 697:
8063 :
8064 : {
8065 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8066 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8067 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8068 : }
8069 0 : break;
8070 :
8071 : case 702:
8072 :
8073 : {
8074 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8075 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8076 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
8077 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8078 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
8079 : }
8080 0 : break;
8081 :
8082 : case 706:
8083 :
8084 : {
8085 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8086 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8087 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8088 : }
8089 0 : break;
8090 :
8091 : case 709:
8092 :
8093 : {
8094 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8095 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
8096 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8097 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8098 : }
8099 0 : break;
8100 :
8101 : case 710:
8102 :
8103 : {
8104 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8105 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
8106 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8107 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8108 : }
8109 0 : break;
8110 :
8111 : case 711:
8112 :
8113 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
8114 0 : break;
8115 :
8116 : case 712:
8117 :
8118 : {
8119 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8120 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
8121 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8122 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8123 : }
8124 0 : break;
8125 :
8126 : case 713:
8127 :
8128 : {
8129 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8130 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
8131 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8132 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8133 : }
8134 0 : break;
8135 :
8136 : case 714:
8137 :
8138 : {
8139 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8140 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8141 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8142 : }
8143 0 : break;
8144 :
8145 : case 716:
8146 :
8147 : {
8148 0 : sal_uInt32 nNod = (yyval.pParseNode)->getRuleID();
8149 0 : delete (yyval.pParseNode);
8150 0 : (yyval.pParseNode) = newNode(xxx_pGLOBAL_SQLPARSER->TokenIDToStr(nNod), SQL_NODE_NAME);
8151 : }
8152 0 : break;
8153 :
8154 : case 717:
8155 :
8156 : {
8157 0 : sal_uInt32 nNod = (yyval.pParseNode)->getRuleID();
8158 0 : delete (yyval.pParseNode);
8159 0 : (yyval.pParseNode) = newNode(xxx_pGLOBAL_SQLPARSER->TokenIDToStr(nNod), SQL_NODE_NAME);
8160 : }
8161 0 : break;
8162 :
8163 : case 718:
8164 :
8165 : {
8166 0 : sal_uInt32 nNod = (yyval.pParseNode)->getRuleID();
8167 0 : delete (yyval.pParseNode);
8168 0 : (yyval.pParseNode) = newNode(xxx_pGLOBAL_SQLPARSER->TokenIDToStr(nNod), SQL_NODE_NAME);
8169 : }
8170 0 : break;
8171 :
8172 : case 721:
8173 :
8174 : {
8175 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8176 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8177 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
8178 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8179 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
8180 : }
8181 0 : break;
8182 :
8183 : case 722:
8184 :
8185 : {
8186 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8187 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8188 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
8189 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8190 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
8191 : }
8192 0 : break;
8193 :
8194 : case 723:
8195 :
8196 : {
8197 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8198 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8199 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
8200 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8201 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
8202 : }
8203 0 : break;
8204 :
8205 : case 726:
8206 :
8207 : {
8208 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8209 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
8210 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
8211 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
8212 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode));
8213 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
8214 : }
8215 0 : break;
8216 :
8217 : case 727:
8218 :
8219 : {
8220 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8221 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8222 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8223 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8224 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8225 : }
8226 0 : break;
8227 :
8228 : case 728:
8229 :
8230 : {
8231 0 : (yyval.pParseNode) = SQL_NEW_LISTRULE;
8232 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
8233 : }
8234 0 : break;
8235 :
8236 : case 729:
8237 :
8238 : {
8239 0 : (yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8240 0 : (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);
8241 : }
8242 0 : break;
8243 :
8244 : case 730:
8245 :
8246 : {
8247 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8248 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8249 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8250 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8251 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8252 : }
8253 0 : break;
8254 :
8255 : case 731:
8256 :
8257 0 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
8258 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
8259 0 : break;
8260 :
8261 : case 732:
8262 :
8263 0 : {(yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8264 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);}
8265 0 : break;
8266 :
8267 : case 739:
8268 :
8269 : {
8270 0 : (yyval.pParseNode) = SQL_NEW_LISTRULE;
8271 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
8272 : }
8273 0 : break;
8274 :
8275 : case 740:
8276 :
8277 : {
8278 0 : (yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8279 0 : (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);
8280 : }
8281 0 : break;
8282 :
8283 : case 741:
8284 :
8285 : {
8286 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8287 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8288 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8289 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8290 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8291 : }
8292 0 : break;
8293 :
8294 : case 742:
8295 :
8296 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
8297 0 : break;
8298 :
8299 : case 743:
8300 :
8301 : {
8302 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8303 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8304 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8305 : }
8306 0 : break;
8307 :
8308 : case 747:
8309 :
8310 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
8311 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
8312 0 : break;
8313 :
8314 : case 748:
8315 :
8316 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
8317 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode(":", SQL_NODE_PUNCTUATION));
8318 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
8319 0 : break;
8320 :
8321 : case 749:
8322 :
8323 0 : {(yyval.pParseNode) = SQL_NEW_RULE; // test
8324 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("?", SQL_NODE_PUNCTUATION));}
8325 0 : break;
8326 :
8327 : case 750:
8328 :
8329 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
8330 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("[", SQL_NODE_PUNCTUATION));
8331 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8332 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode("]", SQL_NODE_PUNCTUATION));}
8333 0 : break;
8334 :
8335 : case 751:
8336 :
8337 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
8338 0 : break;
8339 :
8340 : case 752:
8341 :
8342 0 : {(yyval.pParseNode) = SQL_NEW_RULE;
8343 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8344 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8345 : }
8346 0 : break;
8347 :
8348 : case 754:
8349 :
8350 : {
8351 0 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // sql: rule 1
8352 : {
8353 0 : (yyval.pParseNode) = (yyvsp[(1) - (1)].pParseNode);
8354 0 : if ( SQL_ISRULE((yyval.pParseNode),search_condition) )
8355 : {
8356 0 : (yyval.pParseNode)->insert(0,newNode("(", SQL_NODE_PUNCTUATION));
8357 0 : (yyval.pParseNode)->append(newNode(")", SQL_NODE_PUNCTUATION));
8358 : }
8359 : }
8360 : else
8361 0 : YYERROR;
8362 : }
8363 0 : break;
8364 :
8365 : case 756:
8366 :
8367 : {
8368 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8369 0 : (yyval.pParseNode)->append((yyvsp[(1) - (9)].pParseNode));
8370 0 : (yyval.pParseNode)->append((yyvsp[(2) - (9)].pParseNode));
8371 0 : (yyval.pParseNode)->append((yyvsp[(3) - (9)].pParseNode));
8372 0 : (yyval.pParseNode)->append((yyvsp[(4) - (9)].pParseNode));
8373 0 : (yyval.pParseNode)->append((yyvsp[(5) - (9)].pParseNode));
8374 0 : (yyval.pParseNode)->append((yyvsp[(6) - (9)].pParseNode));
8375 0 : (yyval.pParseNode)->append((yyvsp[(7) - (9)].pParseNode));
8376 0 : (yyval.pParseNode)->append((yyvsp[(8) - (9)].pParseNode));
8377 0 : (yyval.pParseNode)->append((yyvsp[(9) - (9)].pParseNode));
8378 : }
8379 0 : break;
8380 :
8381 : case 757:
8382 :
8383 : {
8384 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8385 : }
8386 0 : break;
8387 :
8388 : case 758:
8389 :
8390 : {
8391 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8392 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8393 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8394 : }
8395 0 : break;
8396 :
8397 : case 761:
8398 :
8399 : {
8400 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8401 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8402 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8403 : }
8404 0 : break;
8405 :
8406 : case 764:
8407 :
8408 : {
8409 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8410 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8411 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8412 : }
8413 0 : break;
8414 :
8415 : case 765:
8416 :
8417 : {
8418 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8419 : }
8420 0 : break;
8421 :
8422 : case 766:
8423 :
8424 : {
8425 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8426 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8427 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8428 : }
8429 0 : break;
8430 :
8431 : case 768:
8432 :
8433 : {
8434 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8435 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
8436 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8437 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8438 : }
8439 0 : break;
8440 :
8441 : case 769:
8442 :
8443 : {
8444 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8445 : }
8446 0 : break;
8447 :
8448 : case 770:
8449 :
8450 : {
8451 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8452 0 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
8453 0 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
8454 0 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8455 : }
8456 0 : break;
8457 :
8458 : case 773:
8459 :
8460 : {
8461 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8462 : }
8463 0 : break;
8464 :
8465 : case 774:
8466 :
8467 : {
8468 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8469 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
8470 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8471 : }
8472 0 : break;
8473 :
8474 : case 776:
8475 :
8476 : {
8477 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8478 0 : (yyval.pParseNode)->append((yyvsp[(1) - (5)].pParseNode));
8479 0 : (yyval.pParseNode)->append((yyvsp[(2) - (5)].pParseNode));
8480 0 : (yyval.pParseNode)->append((yyvsp[(3) - (5)].pParseNode));
8481 0 : (yyval.pParseNode)->append((yyvsp[(4) - (5)].pParseNode) = newNode(";", SQL_NODE_PUNCTUATION));
8482 0 : (yyval.pParseNode)->append((yyvsp[(5) - (5)].pParseNode));
8483 : }
8484 0 : break;
8485 :
8486 : case 777:
8487 :
8488 : {
8489 0 : (yyval.pParseNode) = SQL_NEW_LISTRULE;
8490 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
8491 : }
8492 0 : break;
8493 :
8494 : case 778:
8495 :
8496 : {
8497 0 : (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
8498 0 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
8499 : }
8500 0 : break;
8501 :
8502 : case 780:
8503 :
8504 : {
8505 0 : (yyval.pParseNode) = SQL_NEW_LISTRULE;
8506 0 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
8507 : }
8508 0 : break;
8509 :
8510 : case 781:
8511 :
8512 : {
8513 0 : (yyvsp[(1) - (2)].pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
8514 0 : (yyval.pParseNode) = (yyvsp[(1) - (2)].pParseNode);
8515 : }
8516 0 : break;
8517 :
8518 : case 782:
8519 :
8520 : {
8521 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8522 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8523 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8524 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8525 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8526 : }
8527 0 : break;
8528 :
8529 : case 783:
8530 :
8531 : {
8532 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8533 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8534 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8535 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8536 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8537 : }
8538 0 : break;
8539 :
8540 : case 784:
8541 :
8542 : {
8543 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8544 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8545 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8546 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8547 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8548 : }
8549 0 : break;
8550 :
8551 : case 785:
8552 :
8553 : {
8554 0 : (yyval.pParseNode) = SQL_NEW_RULE;
8555 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
8556 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
8557 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
8558 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
8559 : }
8560 0 : break;
8561 :
8562 :
8563 :
8564 108 : default: break;
8565 : }
8566 : /* User semantic actions sometimes alter yychar, and that requires
8567 : that yytoken be updated with the new translation. We take the
8568 : approach of translating immediately before every use of yytoken.
8569 : One alternative is translating here after every semantic action,
8570 : but that translation would be missed if the semantic action invokes
8571 : YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
8572 : if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
8573 : incorrect destructor might then be invoked immediately. In the
8574 : case of YYERROR or YYBACKUP, subsequent parser actions might lead
8575 : to an incorrect destructor call or verbose syntax error message
8576 : before the lookahead is translated. */
8577 : YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
8578 :
8579 210 : YYPOPSTACK (yylen);
8580 210 : yylen = 0;
8581 : YY_STACK_PRINT (yyss, yyssp);
8582 :
8583 210 : *++yyvsp = yyval;
8584 :
8585 : /* Now `shift' the result of the reduction. Determine what state
8586 : that goes to, based on the state we popped back to and the rule
8587 : number reduced by. */
8588 :
8589 210 : yyn = yyr1[yyn];
8590 :
8591 210 : yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
8592 210 : if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8593 34 : yystate = yytable[yystate];
8594 : else
8595 176 : yystate = yydefgoto[yyn - YYNTOKENS];
8596 :
8597 210 : goto yynewstate;
8598 :
8599 :
8600 : /*------------------------------------.
8601 : | yyerrlab -- here on detecting error |
8602 : `------------------------------------*/
8603 : yyerrlab:
8604 : /* Make sure we have latest lookahead translation. See comments at
8605 : user semantic actions for why this is necessary. */
8606 0 : yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8607 :
8608 : /* If not already recovering from an error, report this error. */
8609 0 : if (!yyerrstatus)
8610 : {
8611 0 : ++yynerrs;
8612 : #if ! YYERROR_VERBOSE
8613 : yyerror (YY_("syntax error"));
8614 : #else
8615 : # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
8616 : yyssp, yytoken)
8617 : {
8618 0 : char const *yymsgp = YY_("syntax error");
8619 : int yysyntax_error_status;
8620 0 : yysyntax_error_status = YYSYNTAX_ERROR;
8621 0 : if (yysyntax_error_status == 0)
8622 0 : yymsgp = yymsg;
8623 0 : else if (yysyntax_error_status == 1)
8624 : {
8625 0 : if (yymsg != yymsgbuf)
8626 0 : YYSTACK_FREE (yymsg);
8627 0 : yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
8628 0 : if (!yymsg)
8629 : {
8630 0 : yymsg = yymsgbuf;
8631 0 : yymsg_alloc = sizeof yymsgbuf;
8632 0 : yysyntax_error_status = 2;
8633 : }
8634 : else
8635 : {
8636 0 : yysyntax_error_status = YYSYNTAX_ERROR;
8637 0 : yymsgp = yymsg;
8638 : }
8639 : }
8640 0 : yyerror (yymsgp);
8641 0 : if (yysyntax_error_status == 2)
8642 0 : goto yyexhaustedlab;
8643 : }
8644 : # undef YYSYNTAX_ERROR
8645 : #endif
8646 : }
8647 :
8648 :
8649 :
8650 0 : if (yyerrstatus == 3)
8651 : {
8652 : /* If just tried and failed to reuse lookahead token after an
8653 : error, discard it. */
8654 :
8655 0 : if (yychar <= YYEOF)
8656 : {
8657 : /* Return failure if at end of input. */
8658 0 : if (yychar == YYEOF)
8659 0 : YYABORT;
8660 : }
8661 : else
8662 : {
8663 : yydestruct ("Error: discarding",
8664 0 : yytoken, &yylval);
8665 0 : yychar = YYEMPTY;
8666 : }
8667 : }
8668 :
8669 : /* Else will try to reuse lookahead token after shifting the error
8670 : token. */
8671 0 : goto yyerrlab1;
8672 :
8673 :
8674 : /*---------------------------------------------------.
8675 : | yyerrorlab -- error raised explicitly by YYERROR. |
8676 : `---------------------------------------------------*/
8677 : yyerrorlab:
8678 :
8679 : /* Pacify compilers like GCC when the user code never invokes
8680 : YYERROR and the label yyerrorlab therefore never appears in user
8681 : code. */
8682 : if (/*CONSTCOND*/ 0)
8683 : goto yyerrorlab;
8684 :
8685 : /* Do not reclaim the symbols of the rule which action triggered
8686 : this YYERROR. */
8687 0 : YYPOPSTACK (yylen);
8688 0 : yylen = 0;
8689 : YY_STACK_PRINT (yyss, yyssp);
8690 0 : yystate = *yyssp;
8691 0 : goto yyerrlab1;
8692 :
8693 :
8694 : /*-------------------------------------------------------------.
8695 : | yyerrlab1 -- common code for both syntax error and YYERROR. |
8696 : `-------------------------------------------------------------*/
8697 : yyerrlab1:
8698 0 : yyerrstatus = 3; /* Each real token shifted decrements this. */
8699 :
8700 0 : for (;;)
8701 : {
8702 0 : yyn = yypact[yystate];
8703 0 : if (!yypact_value_is_default (yyn))
8704 : {
8705 0 : yyn += YYTERROR;
8706 0 : if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
8707 : {
8708 0 : yyn = yytable[yyn];
8709 0 : if (0 < yyn)
8710 0 : break;
8711 : }
8712 : }
8713 :
8714 : /* Pop the current state because it cannot handle the error token. */
8715 0 : if (yyssp == yyss)
8716 0 : YYABORT;
8717 :
8718 :
8719 : yydestruct ("Error: popping",
8720 0 : yystos[yystate], yyvsp);
8721 0 : YYPOPSTACK (1);
8722 0 : yystate = *yyssp;
8723 : YY_STACK_PRINT (yyss, yyssp);
8724 : }
8725 :
8726 0 : *++yyvsp = yylval;
8727 :
8728 :
8729 : /* Shift the error token. */
8730 : YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
8731 :
8732 0 : yystate = yyn;
8733 0 : goto yynewstate;
8734 :
8735 :
8736 : /*-------------------------------------.
8737 : | yyacceptlab -- YYACCEPT comes here. |
8738 : `-------------------------------------*/
8739 : yyacceptlab:
8740 4 : yyresult = 0;
8741 4 : goto yyreturn;
8742 :
8743 : /*-----------------------------------.
8744 : | yyabortlab -- YYABORT comes here. |
8745 : `-----------------------------------*/
8746 : yyabortlab:
8747 0 : yyresult = 1;
8748 0 : goto yyreturn;
8749 :
8750 : #if !defined(yyoverflow) || YYERROR_VERBOSE
8751 : /*-------------------------------------------------.
8752 : | yyexhaustedlab -- memory exhaustion comes here. |
8753 : `-------------------------------------------------*/
8754 : yyexhaustedlab:
8755 0 : yyerror (YY_("memory exhausted"));
8756 0 : yyresult = 2;
8757 : /* Fall through. */
8758 : #endif
8759 :
8760 : yyreturn:
8761 4 : if (yychar != YYEMPTY)
8762 : {
8763 : /* Make sure we have latest lookahead translation. See comments at
8764 : user semantic actions for why this is necessary. */
8765 0 : yytoken = YYTRANSLATE (yychar);
8766 : yydestruct ("Cleanup: discarding lookahead",
8767 0 : yytoken, &yylval);
8768 : }
8769 : /* Do not reclaim the symbols of the rule which action triggered
8770 : this YYABORT or YYACCEPT. */
8771 4 : YYPOPSTACK (yylen);
8772 : YY_STACK_PRINT (yyss, yyssp);
8773 16 : while (yyssp != yyss)
8774 : {
8775 : yydestruct ("Cleanup: popping",
8776 8 : yystos[*yyssp], yyvsp);
8777 8 : YYPOPSTACK (1);
8778 : }
8779 : #ifndef yyoverflow
8780 4 : if (yyss != yyssa)
8781 0 : YYSTACK_FREE (yyss);
8782 : #endif
8783 : #if YYERROR_VERBOSE
8784 4 : if (yymsg != yymsgbuf)
8785 0 : YYSTACK_FREE (yymsg);
8786 : #endif
8787 : /* Make sure YYID is used. */
8788 4 : return YYID (yyresult);
8789 : }
8790 :
8791 :
8792 :
8793 :
8794 :
8795 :
8796 : using namespace ::com::sun::star::sdbc;
8797 : using namespace ::com::sun::star::beans;
8798 : using namespace ::com::sun::star::uno;
8799 : using namespace ::com::sun::star::i18n;
8800 : using namespace ::com::sun::star::lang;
8801 : using namespace ::com::sun::star::util;
8802 : using namespace ::osl;
8803 : using namespace ::dbtools;
8804 :
8805 : //============================================================
8806 : //= a helper for static ascii pseudo-unicode strings
8807 : //============================================================
8808 : // string constants
8809 : struct _ConstAsciiString_
8810 : {
8811 : sal_Int32 length;
8812 : sal_Char const* str;
8813 :
8814 0 : operator rtl::OUString () const { return rtl::OUString(str, length, RTL_TEXTENCODING_ASCII_US); }
8815 : operator const sal_Char * () const { return str; }
8816 0 : operator ::rtl::OString() const { return str; }
8817 : };
8818 :
8819 : #define IMPLEMENT_CONSTASCII_STRING( name, string ) \
8820 : _ConstAsciiString_ const name = { sizeof(string)-1, string }
8821 :
8822 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_GENERAL, "Syntax error in SQL expression");
8823 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_VALUE_NO_LIKE, "The value #1 can not be used with LIKE.");
8824 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_FIELD_NO_LIKE, "LIKE can not be used with this field.");
8825 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_COMPARE, "The entered criterion can not be compared with this field.");
8826 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_DATE_COMPARE, "The field can not be compared with a date.");
8827 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_REAL_COMPARE, "The field can not be compared with a floating point number.");
8828 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_INT_COMPARE, "The field can not be compared with a number.");
8829 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_TABLE, "The database does not contain a table named \"#\".");
8830 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_TABLE_OR_QUERY, "The database does contain neither a table nor a query named \"#\".");
8831 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_COLUMN, "The column \"#1\" is unknown in the table \"#2\".");
8832 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_TABLE_EXIST, "The database already contains a table or view with name \"#\".");
8833 : IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_QUERY_EXIST, "The database already contains a query with name \"#\".");
8834 :
8835 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_LIKE, "LIKE");
8836 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_NOT, "NOT");
8837 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_NULL, "NULL");
8838 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_TRUE, "True");
8839 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_FALSE, "False");
8840 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_IS, "IS");
8841 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_BETWEEN, "BETWEEN");
8842 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_OR, "OR");
8843 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_AND, "AND");
8844 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_AVG, "AVG");
8845 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_COUNT, "COUNT");
8846 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_MAX, "MAX");
8847 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_MIN, "MIN");
8848 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_SUM, "SUM");
8849 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_EVERY, "EVERY");
8850 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_ANY, "ANY");
8851 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_SOME, "SOME");
8852 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_STDDEV_POP, "STDDEV_POP");
8853 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_STDDEV_SAMP, "STDDEV_SAMP");
8854 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_VAR_SAMP, "VAR_SAMP");
8855 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_VAR_POP, "VAR_POP");
8856 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_COLLECT, "COLLECT");
8857 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_FUSION, "FUSION");
8858 : IMPLEMENT_CONSTASCII_STRING(KEY_STR_INTERSECTION, "INTERSECTION");
8859 :
8860 : IMPLEMENT_CONSTASCII_STRING(FIELD_STR_NULLDATE, "NullDate");
8861 :
8862 : IMPLEMENT_CONSTASCII_STRING(STR_SQL_TOKEN, "SQL_TOKEN_");
8863 :
8864 : //==========================================================================
8865 : //= OParseContext
8866 : //==========================================================================
8867 : //-----------------------------------------------------------------------------
8868 25 : OParseContext::OParseContext()
8869 : {
8870 25 : }
8871 :
8872 : //-----------------------------------------------------------------------------
8873 25 : OParseContext::~OParseContext()
8874 : {
8875 25 : }
8876 :
8877 : //-----------------------------------------------------------------------------
8878 0 : ::rtl::OUString OParseContext::getErrorMessage(ErrorCode _eCode) const
8879 : {
8880 0 : ::rtl::OUString aMsg;
8881 0 : switch (_eCode)
8882 : {
8883 0 : case ERROR_GENERAL: aMsg = ERROR_STR_GENERAL; break;
8884 0 : case ERROR_VALUE_NO_LIKE: aMsg = ERROR_STR_VALUE_NO_LIKE; break;
8885 0 : case ERROR_FIELD_NO_LIKE: aMsg = ERROR_STR_FIELD_NO_LIKE; break;
8886 0 : case ERROR_INVALID_COMPARE: aMsg = ERROR_STR_INVALID_COMPARE; break;
8887 0 : case ERROR_INVALID_INT_COMPARE: aMsg = ERROR_STR_INVALID_INT_COMPARE; break;
8888 0 : case ERROR_INVALID_DATE_COMPARE: aMsg = ERROR_STR_INVALID_DATE_COMPARE; break;
8889 0 : case ERROR_INVALID_REAL_COMPARE: aMsg = ERROR_STR_INVALID_REAL_COMPARE; break;
8890 0 : case ERROR_INVALID_TABLE: aMsg = ERROR_STR_INVALID_TABLE; break;
8891 0 : case ERROR_INVALID_TABLE_OR_QUERY: aMsg = ERROR_STR_INVALID_TABLE_OR_QUERY; break;
8892 0 : case ERROR_INVALID_COLUMN: aMsg = ERROR_STR_INVALID_COLUMN; break;
8893 0 : case ERROR_INVALID_TABLE_EXIST: aMsg = ERROR_STR_INVALID_TABLE_EXIST; break;
8894 0 : case ERROR_INVALID_QUERY_EXIST: aMsg = ERROR_STR_INVALID_QUERY_EXIST; break;
8895 : default:
8896 : OSL_FAIL( "OParseContext::getErrorMessage: unknown error code!" );
8897 0 : break;
8898 : }
8899 0 : return aMsg;
8900 : }
8901 :
8902 : //-----------------------------------------------------------------------------
8903 0 : ::rtl::OString OParseContext::getIntlKeywordAscii(InternationalKeyCode _eKey) const
8904 : {
8905 0 : ::rtl::OString aKeyword;
8906 0 : switch (_eKey)
8907 : {
8908 0 : case KEY_LIKE: aKeyword = KEY_STR_LIKE; break;
8909 0 : case KEY_NOT: aKeyword = KEY_STR_NOT; break;
8910 0 : case KEY_NULL: aKeyword = KEY_STR_NULL; break;
8911 0 : case KEY_TRUE: aKeyword = KEY_STR_TRUE; break;
8912 0 : case KEY_FALSE: aKeyword = KEY_STR_FALSE; break;
8913 0 : case KEY_IS: aKeyword = KEY_STR_IS; break;
8914 0 : case KEY_BETWEEN: aKeyword = KEY_STR_BETWEEN; break;
8915 0 : case KEY_OR: aKeyword = KEY_STR_OR; break;
8916 0 : case KEY_AND: aKeyword = KEY_STR_AND; break;
8917 0 : case KEY_AVG: aKeyword = KEY_STR_AVG; break;
8918 0 : case KEY_COUNT: aKeyword = KEY_STR_COUNT; break;
8919 0 : case KEY_MAX: aKeyword = KEY_STR_MAX; break;
8920 0 : case KEY_MIN: aKeyword = KEY_STR_MIN; break;
8921 0 : case KEY_SUM: aKeyword = KEY_STR_SUM; break;
8922 0 : case KEY_EVERY: aKeyword = KEY_STR_EVERY; break;
8923 0 : case KEY_ANY: aKeyword = KEY_STR_ANY; break;
8924 0 : case KEY_SOME: aKeyword = KEY_STR_SOME; break;
8925 0 : case KEY_STDDEV_POP: aKeyword = KEY_STR_STDDEV_POP; break;
8926 0 : case KEY_STDDEV_SAMP: aKeyword = KEY_STR_STDDEV_SAMP; break;
8927 0 : case KEY_VAR_SAMP: aKeyword = KEY_STR_VAR_SAMP; break;
8928 0 : case KEY_VAR_POP: aKeyword = KEY_STR_VAR_POP; break;
8929 0 : case KEY_COLLECT: aKeyword = KEY_STR_COLLECT; break;
8930 0 : case KEY_FUSION: aKeyword = KEY_STR_FUSION; break;
8931 0 : case KEY_INTERSECTION:aKeyword = KEY_STR_INTERSECTION; break;
8932 0 : case KEY_NONE: break;
8933 : default:
8934 : OSL_FAIL( "OParseContext::getIntlKeywordAscii: unknown key!" );
8935 0 : break;
8936 : }
8937 0 : return aKeyword;
8938 : }
8939 :
8940 : //-----------------------------------------------------------------------------
8941 0 : IParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::OString& rToken) const
8942 : {
8943 : static IParseContext::InternationalKeyCode Intl_TokenID[] =
8944 : {
8945 : KEY_LIKE, KEY_NOT, KEY_NULL, KEY_TRUE,
8946 : KEY_FALSE, KEY_IS, KEY_BETWEEN, KEY_OR,
8947 : KEY_AND, KEY_AVG, KEY_COUNT, KEY_MAX,
8948 : KEY_MIN, KEY_SUM, KEY_EVERY,KEY_ANY,KEY_SOME,
8949 : KEY_STDDEV_POP,KEY_STDDEV_SAMP,KEY_VAR_SAMP,
8950 : KEY_VAR_POP,KEY_COLLECT,KEY_FUSION,KEY_INTERSECTION
8951 : };
8952 :
8953 0 : sal_uInt32 nCount = SAL_N_ELEMENTS( Intl_TokenID );
8954 0 : for (sal_uInt32 i = 0; i < nCount; i++)
8955 : {
8956 0 : ::rtl::OString aKey = getIntlKeywordAscii(Intl_TokenID[i]);
8957 0 : if (rToken.equalsIgnoreAsciiCase(aKey))
8958 0 : return Intl_TokenID[i];
8959 0 : }
8960 :
8961 0 : return KEY_NONE;
8962 : }
8963 :
8964 : //------------------------------------------------------------------------------
8965 4 : static Locale& impl_getLocaleInstance( )
8966 : {
8967 : static Locale s_aLocale(
8968 : ::rtl::OUString( "en" ),
8969 : ::rtl::OUString( "US" ),
8970 : ::rtl::OUString( )
8971 4 : );
8972 4 : return s_aLocale;
8973 : }
8974 :
8975 : //------------------------------------------------------------------------------
8976 4 : Locale OParseContext::getPreferredLocale( ) const
8977 : {
8978 4 : return getDefaultLocale();
8979 : }
8980 :
8981 : //------------------------------------------------------------------------------
8982 4 : const Locale& OParseContext::getDefaultLocale()
8983 : {
8984 4 : return impl_getLocaleInstance();
8985 : }
8986 :
8987 : //==========================================================================
8988 : //= misc
8989 : //==========================================================================
8990 : // Der (leider globale) yylval fuer die Uebergabe von
8991 : // Werten vom Scanner an den Parser. Die globale Variable
8992 : // wird nur kurzzeitig verwendet, der Parser liest die Variable
8993 : // sofort nach dem Scanner-Aufruf in eine gleichnamige eigene
8994 : // Member-Variable.
8995 :
8996 : const double fMilliSecondsPerDay = 86400000.0;
8997 :
8998 : //------------------------------------------------------------------------------
8999 :
9000 :
9001 : //------------------------------------------------------------------
9002 0 : ::rtl::OUString ConvertLikeToken(const OSQLParseNode* pTokenNode, const OSQLParseNode* pEscapeNode, sal_Bool bInternational)
9003 : {
9004 0 : ::rtl::OUStringBuffer aMatchStr(0);
9005 0 : if (pTokenNode->isToken())
9006 : {
9007 0 : sal_Unicode cEscape = 0;
9008 0 : if (pEscapeNode->count())
9009 0 : cEscape = pEscapeNode->getChild(1)->getTokenValue().toChar();
9010 :
9011 : // Platzhalter austauschen
9012 0 : aMatchStr = pTokenNode->getTokenValue();
9013 0 : const sal_Int32 nLen = aMatchStr.getLength();
9014 0 : ::rtl::OUStringBuffer sSearch,sReplace;
9015 0 : if ( bInternational )
9016 : {
9017 0 : sSearch.appendAscii("%_",2);
9018 0 : sReplace.appendAscii("*?",2);
9019 : }
9020 : else
9021 : {
9022 0 : sSearch.appendAscii("*?",2);
9023 0 : sReplace.appendAscii("%_",2);
9024 : }
9025 :
9026 0 : bool wasEscape = false;
9027 0 : for (sal_Int32 i = 0; i < nLen; i++)
9028 : {
9029 0 : const sal_Unicode c = aMatchStr[i];
9030 : // SQL standard requires the escape to be followed
9031 : // by a meta-character ('%', '_' or itself), else error
9032 : // We are more lenient here and let it escape anything.
9033 : // Especially since some databases (e.g. Microsoft SQL Server)
9034 : // have more meta-characters than the standard, such as e.g. '[' and ']'
9035 0 : if (wasEscape)
9036 : {
9037 0 : wasEscape=false;
9038 0 : continue;
9039 : }
9040 0 : if (c == cEscape)
9041 : {
9042 0 : wasEscape=true;
9043 0 : continue;
9044 : }
9045 0 : int match = -1;
9046 0 : if (c == sSearch[0])
9047 0 : match=0;
9048 0 : else if (c == sSearch[1])
9049 0 : match=1;
9050 :
9051 0 : if (match != -1)
9052 : {
9053 0 : aMatchStr[i] = sReplace[match];
9054 : }
9055 0 : }
9056 : }
9057 0 : return aMatchStr.makeStringAndClear();
9058 : }
9059 :
9060 : //==========================================================================
9061 : //= OSQLParser
9062 : //==========================================================================
9063 :
9064 : sal_uInt32 OSQLParser::s_nRuleIDs[OSQLParseNode::rule_count + 1];
9065 25 : OSQLParser::RuleIDMap OSQLParser::s_aReverseRuleIDLookup;
9066 25 : OParseContext OSQLParser::s_aDefaultContext;
9067 :
9068 : sal_Int32 OSQLParser::s_nRefCount = 0;
9069 : // ::osl::Mutex OSQLParser::s_aMutex;
9070 : OSQLScanner* OSQLParser::s_pScanner = 0;
9071 : OSQLParseNodesGarbageCollector* OSQLParser::s_pGarbageCollector = 0;
9072 25 : ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XLocaleData4> OSQLParser::s_xLocaleData = NULL;
9073 : //-----------------------------------------------------------------------------
9074 8 : void setParser(OSQLParser* _pParser)
9075 : {
9076 8 : xxx_pGLOBAL_SQLPARSER = _pParser;
9077 8 : }
9078 : // -------------------------------------------------------------------------
9079 4 : void OSQLParser::setParseTree(OSQLParseNode * pNewParseTree)
9080 : {
9081 4 : ::osl::MutexGuard aGuard(getMutex());
9082 4 : m_pParseTree = pNewParseTree;
9083 4 : }
9084 : //-----------------------------------------------------------------------------
9085 :
9086 : /** Delete all comments in a query.
9087 :
9088 : See also getComment()/concatComment() implementation for
9089 : OQueryController::translateStatement().
9090 : */
9091 4 : static ::rtl::OUString delComment( const ::rtl::OUString& rQuery )
9092 : {
9093 : // First a quick search if there is any "--" or "//" or "/*", if not then the whole
9094 : // copying loop is pointless.
9095 8 : if (rQuery.indexOfAsciiL( "--", 2, 0) < 0 && rQuery.indexOfAsciiL( "//", 2, 0) < 0 &&
9096 4 : rQuery.indexOfAsciiL( "/*", 2, 0) < 0)
9097 4 : return rQuery;
9098 :
9099 0 : const sal_Unicode* pCopy = rQuery.getStr();
9100 0 : sal_Int32 nQueryLen = rQuery.getLength();
9101 0 : bool bIsText1 = false; // "text"
9102 0 : bool bIsText2 = false; // 'text'
9103 0 : bool bComment2 = false; // /* comment */
9104 0 : bool bComment = false; // -- or // comment
9105 0 : ::rtl::OUStringBuffer aBuf(nQueryLen);
9106 0 : for (sal_Int32 i=0; i < nQueryLen; ++i)
9107 : {
9108 0 : if (bComment2)
9109 : {
9110 0 : if ((i+1) < nQueryLen)
9111 : {
9112 0 : if (pCopy[i]=='*' && pCopy[i+1]=='/')
9113 : {
9114 0 : bComment2 = false;
9115 0 : ++i;
9116 : }
9117 : }
9118 : else
9119 : {
9120 : // comment can't close anymore, actually an error, but..
9121 : }
9122 0 : continue;
9123 : }
9124 0 : if (pCopy[i] == '\n')
9125 0 : bComment = false;
9126 0 : else if (!bComment)
9127 : {
9128 0 : if (pCopy[i] == '\"' && !bIsText2)
9129 0 : bIsText1 = !bIsText1;
9130 0 : else if (pCopy[i] == '\'' && !bIsText1)
9131 0 : bIsText2 = !bIsText2;
9132 0 : if (!bIsText1 && !bIsText2 && (i+1) < nQueryLen)
9133 : {
9134 0 : if ((pCopy[i]=='-' && pCopy[i+1]=='-') || (pCopy[i]=='/' && pCopy[i+1]=='/'))
9135 0 : bComment = true;
9136 0 : else if ((pCopy[i]=='/' && pCopy[i+1]=='*'))
9137 0 : bComment2 = true;
9138 : }
9139 : }
9140 0 : if (!bComment && !bComment2)
9141 0 : aBuf.append( &pCopy[i], 1);
9142 : }
9143 0 : return aBuf.makeStringAndClear();
9144 : }
9145 : //-----------------------------------------------------------------------------
9146 4 : OSQLParseNode* OSQLParser::parseTree(::rtl::OUString& rErrorMessage,
9147 : const ::rtl::OUString& rStatement,
9148 : sal_Bool bInternational)
9149 : {
9150 :
9151 :
9152 : // Guard the parsing
9153 4 : ::osl::MutexGuard aGuard(getMutex());
9154 : // must be reset
9155 4 : setParser(this);
9156 :
9157 : // delete comments before parsing
9158 4 : ::rtl::OUString sTemp = delComment(rStatement);
9159 :
9160 : // defines how to scan
9161 4 : s_pScanner->SetRule(s_pScanner->GetSQLRule()); // initial
9162 4 : s_pScanner->prepareScan(sTemp, m_pContext, bInternational);
9163 :
9164 4 : SQLyylval.pParseNode = NULL;
9165 : // SQLyypvt = NULL;
9166 4 : m_pParseTree = NULL;
9167 4 : m_sErrorMessage = ::rtl::OUString();
9168 :
9169 : // ... und den Parser anwerfen ...
9170 4 : if (SQLyyparse() != 0)
9171 : {
9172 : // only set the error message, if it's not already set
9173 0 : if (!m_sErrorMessage.getLength())
9174 0 : m_sErrorMessage = s_pScanner->getErrorMessage();
9175 0 : if (!m_sErrorMessage.getLength())
9176 0 : m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_GENERAL);
9177 :
9178 0 : rErrorMessage = m_sErrorMessage;
9179 :
9180 : // clear the garbage collector
9181 0 : (*s_pGarbageCollector)->clearAndDelete();
9182 0 : return NULL;
9183 : }
9184 : else
9185 : {
9186 4 : (*s_pGarbageCollector)->clear();
9187 :
9188 : // Das Ergebnis liefern (den Root Parse Node):
9189 :
9190 : // OSL_ENSURE(Sdbyyval.pParseNode != NULL,"OSQLParser: Parser hat keinen ParseNode geliefert");
9191 : // return Sdbyyval.pParseNode;
9192 : // geht nicht wegen Bug in MKS YACC-erzeugtem Code (es wird ein falscher ParseNode
9193 : // geliefert).
9194 :
9195 : // Stattdessen setzt die Parse-Routine jetzt den Member pParseTree
9196 : // - einfach diesen zurueckliefern:
9197 : OSL_ENSURE(m_pParseTree != NULL,"OSQLParser: Parser hat keinen ParseTree geliefert");
9198 4 : return m_pParseTree;
9199 4 : }
9200 : }
9201 : //-----------------------------------------------------------------------------
9202 0 : ::rtl::OString OSQLParser::TokenIDToStr(sal_uInt32 nTokenID, const IParseContext* pContext)
9203 : {
9204 0 : ::rtl::OString aStr;
9205 0 : if (pContext)
9206 : {
9207 0 : IParseContext::InternationalKeyCode eKeyCode = IParseContext::KEY_NONE;
9208 0 : switch( nTokenID )
9209 : {
9210 0 : case SQL_TOKEN_LIKE: eKeyCode = IParseContext::KEY_LIKE; break;
9211 0 : case SQL_TOKEN_NOT: eKeyCode = IParseContext::KEY_NOT; break;
9212 0 : case SQL_TOKEN_NULL: eKeyCode = IParseContext::KEY_NULL; break;
9213 0 : case SQL_TOKEN_TRUE: eKeyCode = IParseContext::KEY_TRUE; break;
9214 0 : case SQL_TOKEN_FALSE: eKeyCode = IParseContext::KEY_FALSE; break;
9215 0 : case SQL_TOKEN_IS: eKeyCode = IParseContext::KEY_IS; break;
9216 0 : case SQL_TOKEN_BETWEEN: eKeyCode = IParseContext::KEY_BETWEEN; break;
9217 0 : case SQL_TOKEN_OR: eKeyCode = IParseContext::KEY_OR; break;
9218 0 : case SQL_TOKEN_AND: eKeyCode = IParseContext::KEY_AND; break;
9219 0 : case SQL_TOKEN_AVG: eKeyCode = IParseContext::KEY_AVG; break;
9220 0 : case SQL_TOKEN_COUNT: eKeyCode = IParseContext::KEY_COUNT; break;
9221 0 : case SQL_TOKEN_MAX: eKeyCode = IParseContext::KEY_MAX; break;
9222 0 : case SQL_TOKEN_MIN: eKeyCode = IParseContext::KEY_MIN; break;
9223 0 : case SQL_TOKEN_SUM: eKeyCode = IParseContext::KEY_SUM; break;
9224 : }
9225 0 : if ( eKeyCode != IParseContext::KEY_NONE )
9226 0 : aStr = pContext->getIntlKeywordAscii(eKeyCode);
9227 : }
9228 :
9229 0 : if (!aStr.getLength())
9230 : {
9231 0 : aStr = yytname[YYTRANSLATE(nTokenID)];
9232 0 : if(!aStr.compareTo("SQL_TOKEN_",10))
9233 0 : aStr = aStr.copy(10);
9234 : }
9235 0 : return aStr;
9236 : }
9237 :
9238 : #if OSL_DEBUG_LEVEL > 1
9239 : ::rtl::OUString OSQLParser::RuleIDToStr(sal_uInt32 nRuleID)
9240 : {
9241 : OSL_ENSURE(nRuleID < SAL_N_ELEMENTS(yytname), "OSQLParser::RuleIDToStr: Invalid nRuleId!");
9242 : return ::rtl::OUString::createFromAscii(yytname[nRuleID]);
9243 : }
9244 : #endif
9245 :
9246 : //-----------------------------------------------------------------------------
9247 198 : sal_uInt32 OSQLParser::StrToRuleID(const ::rtl::OString & rValue)
9248 : {
9249 : // Search for the given name in yytname and return the index
9250 : // (or UNKNOWN_RULE, if not found)
9251 : static sal_uInt32 nLen = SAL_N_ELEMENTS(yytname);
9252 30808 : for (sal_uInt32 i = YYTRANSLATE(SQL_TOKEN_INVALIDSYMBOL); i < (nLen-1); i++)
9253 : {
9254 30794 : if (rValue == yytname[i])
9255 184 : return i;
9256 : }
9257 :
9258 : // Not found
9259 14 : return OSQLParseNode::UNKNOWN_RULE;
9260 : }
9261 :
9262 : //-----------------------------------------------------------------------------
9263 0 : OSQLParseNode::Rule OSQLParser::RuleIDToRule( sal_uInt32 _nRule )
9264 : {
9265 0 : return s_aReverseRuleIDLookup[ _nRule ];
9266 : }
9267 :
9268 : //-----------------------------------------------------------------------------
9269 718 : sal_uInt32 OSQLParser::RuleID(OSQLParseNode::Rule eRule)
9270 : {
9271 718 : return s_nRuleIDs[(sal_uInt16)eRule];
9272 : }
9273 : // -------------------------------------------------------------------------
9274 0 : sal_Int16 OSQLParser::buildNode(OSQLParseNode*& pAppend,OSQLParseNode* pCompare,OSQLParseNode* pLiteral,OSQLParseNode* pLiteral2)
9275 : {
9276 0 : OSQLParseNode* pColumnRef = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
9277 0 : pColumnRef->append(new OSQLInternalNode(m_sFieldName,SQL_NODE_NAME));
9278 0 : OSQLParseNode* pComp = NULL;
9279 0 : if ( SQL_ISTOKEN( pCompare, BETWEEN) && pLiteral2 )
9280 0 : pComp = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::between_predicate_part_2));
9281 : else
9282 0 : pComp = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::comparison_predicate));
9283 :
9284 0 : pComp->append(pColumnRef);
9285 0 : pComp->append(pCompare);
9286 0 : pComp->append(pLiteral);
9287 0 : if ( pLiteral2 )
9288 : {
9289 0 : pComp->append(new OSQLInternalNode(aEmptyString, SQL_NODE_KEYWORD,SQL_TOKEN_AND));
9290 0 : pComp->append(pLiteral2);
9291 : }
9292 0 : pAppend->append(pComp);
9293 0 : return 1;
9294 : }
9295 : //-----------------------------------------------------------------------------
9296 0 : sal_Int16 OSQLParser::buildStringNodes(OSQLParseNode*& pLiteral)
9297 : {
9298 0 : if(!pLiteral)
9299 0 : return 1;
9300 :
9301 0 : if(SQL_ISRULE(pLiteral,set_fct_spec) || SQL_ISRULE(pLiteral,general_set_fct) || SQL_ISRULE(pLiteral,column_ref)
9302 0 : || SQL_ISRULE(pLiteral,subquery))
9303 0 : return 1; // here I have a function that I can't transform into a string
9304 :
9305 0 : if(pLiteral->getNodeType() == SQL_NODE_INTNUM || pLiteral->getNodeType() == SQL_NODE_APPROXNUM || pLiteral->getNodeType() == SQL_NODE_ACCESS_DATE)
9306 : {
9307 0 : OSQLParseNode* pParent = pLiteral->getParent();
9308 :
9309 0 : OSQLParseNode* pNewNode = new OSQLInternalNode(pLiteral->getTokenValue(), SQL_NODE_STRING);
9310 0 : pParent->replace(pLiteral, pNewNode);
9311 0 : delete pLiteral;
9312 0 : pLiteral = NULL;
9313 0 : return 1;
9314 : }
9315 :
9316 0 : for(sal_uInt32 i=0;i<pLiteral->count();++i)
9317 : {
9318 0 : OSQLParseNode* pChild = pLiteral->getChild(i);
9319 0 : buildStringNodes(pChild);
9320 : }
9321 0 : if(SQL_ISRULE(pLiteral,term) || SQL_ISRULE(pLiteral,value_exp_primary))
9322 : {
9323 0 : m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_COMPARE);
9324 0 : return 0;
9325 : }
9326 0 : return 1;
9327 : }
9328 : //-----------------------------------------------------------------------------
9329 0 : sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral)
9330 : {
9331 0 : OSQLParseNode* pComp = new OSQLInternalNode(::rtl::OUString("="), SQL_NODE_EQUAL);
9332 0 : return buildPredicateRule(pAppend,pLiteral,pComp);
9333 : }
9334 :
9335 :
9336 : //-----------------------------------------------------------------------------
9337 0 : void OSQLParser::reduceLiteral(OSQLParseNode*& pLiteral, sal_Bool bAppendBlank)
9338 : {
9339 : OSL_ENSURE(pLiteral->isRule(), "This is no ::com::sun::star::chaos::Rule");
9340 : OSL_ENSURE(pLiteral->count() == 2, "OSQLParser::ReduceLiteral() Invalid count");
9341 0 : OSQLParseNode* pTemp = pLiteral;
9342 0 : ::rtl::OUStringBuffer aValue(pLiteral->getChild(0)->getTokenValue());
9343 0 : if (bAppendBlank)
9344 : {
9345 0 : aValue.appendAscii(" ");
9346 : }
9347 :
9348 0 : aValue.append(pLiteral->getChild(1)->getTokenValue());
9349 :
9350 0 : pLiteral = new OSQLInternalNode(aValue.makeStringAndClear(),SQL_NODE_STRING);
9351 0 : delete pTemp;
9352 0 : }
9353 :
9354 : // -------------------------------------------------------------------------
9355 0 : void OSQLParser::error(const sal_Char *fmt)
9356 : {
9357 0 : if(!m_sErrorMessage.getLength())
9358 : {
9359 0 : ::rtl::OUString sStr(fmt,strlen(fmt),RTL_TEXTENCODING_UTF8);
9360 0 : ::rtl::OUString sSQL_TOKEN("SQL_TOKEN_");
9361 :
9362 0 : sal_Int32 nPos1 = sStr.indexOf(sSQL_TOKEN);
9363 0 : if(nPos1 != -1)
9364 : {
9365 0 : ::rtl::OUString sFirst = sStr.copy(0,nPos1);
9366 0 : sal_Int32 nPos2 = sStr.indexOf(sSQL_TOKEN,nPos1+1);
9367 0 : if(nPos2 != -1)
9368 : {
9369 0 : ::rtl::OUString sSecond = sStr.copy(nPos1+sSQL_TOKEN.getLength(),nPos2-nPos1-sSQL_TOKEN.getLength());
9370 0 : sFirst += sSecond;
9371 0 : sFirst += sStr.copy(nPos2+sSQL_TOKEN.getLength());
9372 : }
9373 : else
9374 0 : sFirst += sStr.copy(nPos1+sSQL_TOKEN.getLength());
9375 :
9376 0 : m_sErrorMessage = sFirst;
9377 : }
9378 : else
9379 0 : m_sErrorMessage = sStr;
9380 :
9381 0 : ::rtl::OUString aError = s_pScanner->getErrorMessage();
9382 0 : if(aError.getLength())
9383 : {
9384 0 : m_sErrorMessage += ::rtl::OUString(", ");
9385 0 : m_sErrorMessage += aError;
9386 0 : }
9387 : }
9388 0 : }
9389 : // -------------------------------------------------------------------------
9390 34 : int OSQLParser::SQLlex()
9391 : {
9392 34 : return s_pScanner->SQLlex();
9393 75 : }
9394 :
9395 : #if defined __SUNPRO_CC
9396 : #pragma enable_warn
9397 : #elif defined _MSC_VER
9398 : #pragma warning(pop)
9399 : #endif
9400 :
|