Branch data 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 : 56 : static ::rtl::OUString aEmptyString;
167 : :
168 : 2522 : static connectivity::OSQLInternalNode* newNode(const sal_Char* pNewValue,
169 : : const connectivity::SQLNodeType eNodeType,
170 : : const sal_uInt32 nNodeID = 0)
171 : : {
172 [ + - ]: 2522 : 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 : 15480 : static connectivity::OSQLInternalNode* newNode(const ::rtl::OUString& _NewValue,
183 : : const connectivity::SQLNodeType eNodeType,
184 : : const sal_uInt32 nNodeID = 0)
185 : : {
186 [ + - ]: 15480 : 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 : 1118 : 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 [ - + ]: 1118 : if (!yymsg)
4459 : 0 : yymsg = "Deleting";
4460 : : YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
4461 : :
4462 : : switch (yytype)
4463 : : {
4464 : :
4465 : : default:
4466 : 1118 : break;
4467 : : }
4468 : 1118 : }
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 : 560 : 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 : 560 : char *yymsg = yymsgbuf;
4558 : 560 : 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 : 560 : int yylen = 0;
4566 : :
4567 : 560 : yytoken = 0;
4568 : 560 : yyss = yyssa;
4569 : 560 : yyvs = yyvsa;
4570 : 560 : yystacksize = YYINITDEPTH;
4571 : :
4572 : : YYDPRINTF ((stderr, "Starting parse\n"));
4573 : :
4574 : 560 : yystate = 0;
4575 : 560 : yyerrstatus = 0;
4576 : 560 : yynerrs = 0;
4577 : 560 : 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 : 560 : yyssp = yyss;
4584 : 560 : yyvsp = yyvs;
4585 : :
4586 : 560 : 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 : 70888 : yyssp++;
4595 : :
4596 : : yysetstate:
4597 : 71448 : *yyssp = yystate;
4598 : :
4599 [ - + ]: 71448 : 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 [ + + ]: 71448 : if (yystate == YYFINAL)
4663 : 558 : YYACCEPT;
4664 : :
4665 : 70890 : 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 : 70890 : yyn = yypact[yystate];
4677 [ + + ]: 70890 : if (yypact_value_is_default (yyn))
4678 : 33036 : 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 [ + + ]: 37854 : if (yychar == YYEMPTY)
4684 : : {
4685 : : YYDPRINTF ((stderr, "Reading a token: "));
4686 [ + - ]: 11662 : yychar = YYLEX;
4687 : : }
4688 : :
4689 [ + + ]: 37854 : if (yychar <= YYEOF)
4690 : : {
4691 : 7244 : yychar = yytoken = YYEOF;
4692 : : YYDPRINTF ((stderr, "Now at end of input.\n"));
4693 : : }
4694 : : else
4695 : : {
4696 [ + - ]: 30610 : 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 : 37854 : yyn += yytoken;
4703 [ + + ][ + - ]: 37854 : if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
[ + + ]
4704 : : goto yydefault;
4705 : 13242 : yyn = yytable[yyn];
4706 [ + + ]: 13242 : if (yyn <= 0)
4707 : : {
4708 : : if (yytable_value_is_error (yyn))
4709 : : goto yyerrlab;
4710 : 1582 : yyn = -yyn;
4711 : 1582 : goto yyreduce;
4712 : : }
4713 : :
4714 : : /* Count tokens shifted since error; after three, turn off error
4715 : : status. */
4716 [ - + ]: 11660 : 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 : 11660 : yychar = YYEMPTY;
4724 : :
4725 : 11660 : yystate = yyn;
4726 : 11660 : *++yyvsp = yylval;
4727 : :
4728 : 11660 : goto yynewstate;
4729 : :
4730 : :
4731 : : /*-----------------------------------------------------------.
4732 : : | yydefault -- do the default action for the current state. |
4733 : : `-----------------------------------------------------------*/
4734 : : yydefault:
4735 : 57648 : yyn = yydefact[yystate];
4736 [ - + ]: 57648 : if (yyn == 0)
4737 : 0 : goto yyerrlab;
4738 : 57648 : 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 : 59230 : 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 : 59230 : yyval = yyvsp[1-yylen];
4757 : :
4758 : :
4759 : : YY_REDUCE_PRINT (yyn);
4760 [ + - - - : 59230 : switch (yyn)
- - - - -
- - - - -
- - - - -
- - - + -
- - - - -
- - - - -
- - - - -
- - - + +
+ - - + +
+ - - - -
- - - - -
- - + - -
- - - - +
- + + + -
- + - + -
- - + + +
- + - + +
+ - - - +
+ + + - -
- + + + +
- - - + +
- + - - +
- - - - -
- - - - -
- + + - -
- - - - -
- - - - -
+ + - - -
- + - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- + - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - + - -
- + + + -
- - + - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
+ - - - -
+ - - - -
- - - - -
- - - - -
- - - - -
- - + ]
4761 : : {
4762 : : case 2:
4763 : :
4764 [ + - ]: 558 : { xxx_pGLOBAL_SQLPARSER->setParseTree( (yyvsp[(1) - (1)].pParseNode) ); }
4765 : 558 : 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 [ + - ]: 116 : {(yyval.pParseNode) = SQL_NEW_RULE;}
4943 : 116 : 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 [ + - ]: 460 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5084 : 460 : break;
5085 : :
5086 : : case 62:
5087 : :
5088 [ + - ]: 26 : {(yyval.pParseNode) = SQL_NEW_RULE;
5089 [ + - ]: 26 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5090 [ + - ]: 26 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5091 [ + - ]: 26 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
5092 : 26 : break;
5093 : :
5094 : : case 63:
5095 : :
5096 [ + - ]: 26 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5097 [ + - ]: 26 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5098 : 26 : 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 [ + - ]: 26 : {(yyval.pParseNode) = SQL_NEW_RULE;
5116 [ + - ]: 26 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5117 [ + - ]: 26 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5118 : 26 : break;
5119 : :
5120 : : case 67:
5121 : :
5122 [ + - ]: 26 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5123 : 26 : break;
5124 : :
5125 : : case 70:
5126 : :
5127 [ + - ]: 122 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5128 : 122 : 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 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5229 : 486 : 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 [ + - ]: 198 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5276 : 198 : 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 [ + - ]: 486 : (yyval.pParseNode) = SQL_NEW_RULE;
5290 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5291 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5292 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5293 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5294 : : }
5295 : 486 : break;
5296 : :
5297 : : case 111:
5298 : :
5299 : : {
5300 [ + - ]: 278 : (yyval.pParseNode) = SQL_NEW_RULE;
5301 [ + - ][ + - ]: 278 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode) = newNode("*", SQL_NODE_PUNCTUATION));
5302 : : }
5303 : 278 : break;
5304 : :
5305 : : case 113:
5306 : :
5307 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5308 : 486 : 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 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5328 : 486 : 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 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5345 : 486 : 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 [ + - ]: 486 : (yyval.pParseNode) = SQL_NEW_RULE;
5375 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(1) - (9)].pParseNode));
5376 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(2) - (9)].pParseNode));
5377 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(3) - (9)].pParseNode));
5378 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(4) - (9)].pParseNode));
5379 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(5) - (9)].pParseNode));
5380 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(6) - (9)].pParseNode));
5381 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(7) - (9)].pParseNode));
5382 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(8) - (9)].pParseNode));
5383 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(9) - (9)].pParseNode));
5384 : : }
5385 : 486 : break;
5386 : :
5387 : : case 133:
5388 : :
5389 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;
5390 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5391 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5392 : 486 : break;
5393 : :
5394 : : case 134:
5395 : :
5396 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5397 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5398 : 486 : 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 [ + - ]: 116 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5409 : 116 : break;
5410 : :
5411 : : case 138:
5412 : :
5413 [ # # ]: 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5414 : 0 : break;
5415 : :
5416 : : case 140:
5417 : :
5418 [ + - ]: 370 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5419 : 370 : break;
5420 : :
5421 : : case 141:
5422 : :
5423 [ + - ]: 116 : {(yyval.pParseNode) = SQL_NEW_RULE;
5424 [ + - ]: 116 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5425 [ + - ]: 116 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5426 [ + - ]: 116 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5427 : : }
5428 : 116 : break;
5429 : :
5430 : : case 142:
5431 : :
5432 : : {
5433 [ + - ]: 486 : (yyval.pParseNode) = SQL_NEW_RULE;
5434 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5435 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5436 : : }
5437 : 486 : 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 [ + - ]: 288 : {(yyval.pParseNode) = SQL_NEW_RULE;
5473 [ + - ]: 288 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5474 [ + - ]: 288 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5475 : 288 : break;
5476 : :
5477 : : case 148:
5478 : :
5479 [ + - ]: 426 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5480 : 426 : break;
5481 : :
5482 : : case 149:
5483 : :
5484 [ + - ]: 60 : {(yyval.pParseNode) = SQL_NEW_RULE;
5485 [ + - ]: 60 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5486 [ + - ]: 60 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5487 [ + - ]: 60 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));}
5488 : 60 : break;
5489 : :
5490 : : case 150:
5491 : :
5492 [ + - ]: 60 : {(yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5493 [ + - ]: 60 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
5494 : 60 : 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 [ + - ]: 446 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5517 : 446 : break;
5518 : :
5519 : : case 155:
5520 : :
5521 [ + - ]: 40 : {(yyval.pParseNode) = SQL_NEW_RULE;
5522 [ + - ]: 40 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5523 [ + - ]: 40 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
5524 : 40 : break;
5525 : :
5526 : : case 161:
5527 : :
5528 : : { // boolean_primary: rule 2
5529 [ + - ]: 1026 : (yyval.pParseNode) = SQL_NEW_RULE;
5530 [ + - ][ + - ]: 1026 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode) = newNode("(", SQL_NODE_PUNCTUATION));
5531 [ + - ]: 1026 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5532 [ + - ][ + - ]: 1026 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode) = newNode(")", SQL_NODE_PUNCTUATION));
5533 : : }
5534 : 1026 : break;
5535 : :
5536 : : case 162:
5537 : :
5538 : : {
5539 [ + - ]: 72 : if(xxx_pGLOBAL_SQLPARSER->inPredicateCheck())// boolean_primary: rule 3
5540 : : {
5541 [ + - ]: 72 : (yyval.pParseNode) = SQL_NEW_RULE;
5542 [ + - ]: 72 : sal_Int16 nErg = xxx_pGLOBAL_SQLPARSER->buildComparsionRule((yyval.pParseNode),(yyvsp[(1) - (1)].pParseNode));
5543 [ + - ]: 72 : if(nErg == 1)
5544 : : {
5545 : 72 : OSQLParseNode* pTemp = (yyval.pParseNode);
5546 [ + - ]: 72 : (yyval.pParseNode) = pTemp->removeAt((sal_uInt32)0);
5547 [ + - ][ + - ]: 72 : 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 : 72 : 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 [ + - ]: 588 : (yyval.pParseNode) = SQL_NEW_RULE; // boolean_term: rule 1
5597 [ + - ]: 588 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5598 [ + - ]: 588 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5599 [ + - ]: 588 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5600 : : }
5601 : 588 : break;
5602 : :
5603 : : case 171:
5604 : :
5605 : : {
5606 [ + - ]: 548 : (yyval.pParseNode) = SQL_NEW_RULE; // search_condition
5607 [ + - ]: 548 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5608 [ + - ]: 548 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5609 [ + - ]: 548 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5610 : : }
5611 : 548 : 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 [ + - ]: 1346 : (yyval.pParseNode) = SQL_NEW_RULE; // comparison_predicate: rule 1
5626 [ + - ]: 1346 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5627 [ + - ]: 1346 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5628 [ + - ]: 1346 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5629 : : }
5630 : 1346 : 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 [ + - ]: 2 : (yyval.pParseNode) = SQL_NEW_RULE;
5673 [ + - ]: 2 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5674 [ + - ]: 2 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5675 : : }
5676 : 2 : 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 [ # # ]: 0 : (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
5731 [ # # ]: 0 : (yyval.pParseNode)->append((yyvsp[(1) - (4)].pParseNode));
5732 [ # # ]: 0 : (yyval.pParseNode)->append((yyvsp[(2) - (4)].pParseNode));
5733 [ # # ]: 0 : (yyval.pParseNode)->append((yyvsp[(3) - (4)].pParseNode));
5734 [ # # ]: 0 : (yyval.pParseNode)->append((yyvsp[(4) - (4)].pParseNode));
5735 : : }
5736 : 0 : 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 [ # # ]: 0 : (yyval.pParseNode) = SQL_NEW_RULE; // like_predicate: rule 1
5753 [ # # ]: 0 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5754 [ # # ]: 0 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5755 : : }
5756 : 0 : 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 [ # # ]: 0 : {(yyval.pParseNode) = SQL_NEW_RULE;}
5820 : 0 : 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 [ + - ]: 120 : (yyval.pParseNode) = SQL_NEW_RULE; // test_for_null: rule 1
5844 [ + - ]: 120 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
5845 [ + - ]: 120 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode));
5846 [ + - ]: 120 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5847 : : }
5848 : 120 : break;
5849 : :
5850 : : case 204:
5851 : :
5852 : : {
5853 [ + - ]: 120 : (yyval.pParseNode) = SQL_NEW_RULE; // test_for_null: rule 1
5854 [ + - ]: 120 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
5855 [ + - ]: 120 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
5856 : : }
5857 : 120 : 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 [ + - ]: 208 : (yyval.pParseNode) = SQL_NEW_COMMALISTRULE;
5990 [ + - ]: 208 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));
5991 : : }
5992 : 208 : break;
5993 : :
5994 : : case 221:
5995 : :
5996 : : {
5997 [ + - ]: 232 : (yyvsp[(1) - (3)].pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
5998 : 232 : (yyval.pParseNode) = (yyvsp[(1) - (3)].pParseNode);
5999 : : }
6000 : 232 : 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 [ + - ]: 440 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6065 : 440 : 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 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;}
6467 : 486 : 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 [ + - ]: 440 : (yyval.pParseNode) = SQL_NEW_RULE;
7569 [ + - ]: 440 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode));
7570 [ + - ]: 440 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));
7571 : : }
7572 : 440 : 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 [ + - ]: 486 : {(yyval.pParseNode) = SQL_NEW_RULE;
7607 [ + - ]: 486 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7608 : 486 : break;
7609 : :
7610 : : case 633:
7611 : :
7612 [ + - ]: 1690 : {(yyval.pParseNode) = SQL_NEW_RULE;
7613 [ + - ]: 1690 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7614 : 1690 : break;
7615 : :
7616 : : case 634:
7617 : :
7618 [ + - ]: 142 : {(yyval.pParseNode) = SQL_NEW_RULE;
7619 [ + - ]: 142 : (yyval.pParseNode)->append((yyvsp[(1) - (3)].pParseNode));
7620 [ + - ][ + - ]: 142 : (yyval.pParseNode)->append((yyvsp[(2) - (3)].pParseNode) = newNode(".", SQL_NODE_PUNCTUATION));
7621 [ + - ]: 142 : (yyval.pParseNode)->append((yyvsp[(3) - (3)].pParseNode));
7622 : : }
7623 : 142 : 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 [ + - ]: 142 : {(yyval.pParseNode) = SQL_NEW_RULE;
7664 [ + - ]: 142 : (yyval.pParseNode)->append((yyvsp[(1) - (1)].pParseNode));}
7665 : 142 : 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 [ + - ]: 50 : {(yyval.pParseNode) = SQL_NEW_RULE;
8317 [ + - ][ + - ]: 50 : (yyval.pParseNode)->append((yyvsp[(1) - (2)].pParseNode) = newNode(":", SQL_NODE_PUNCTUATION));
8318 [ + - ]: 50 : (yyval.pParseNode)->append((yyvsp[(2) - (2)].pParseNode));}
8319 : 50 : 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 [ + + ]: 74 : if (xxx_pGLOBAL_SQLPARSER->inPredicateCheck()) // sql: rule 1
8352 : : {
8353 : 72 : (yyval.pParseNode) = (yyvsp[(1) - (1)].pParseNode);
8354 [ + - ][ + - ]: 72 : 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 : 2 : YYERROR;
8362 : : }
8363 : 72 : 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 : 42886 : 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 : 59228 : YYPOPSTACK (yylen);
8580 : 59228 : yylen = 0;
8581 : : YY_STACK_PRINT (yyss, yyssp);
8582 : :
8583 : 59228 : *++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 : 59228 : yyn = yyr1[yyn];
8590 : :
8591 : 59228 : yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
8592 [ + + ][ + - ]: 59228 : if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
[ + + ]
8593 : 11784 : yystate = yytable[yystate];
8594 : : else
8595 : 47444 : yystate = yydefgoto[yyn - YYNTOKENS];
8596 : :
8597 : 59228 : 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 : 2 : YYPOPSTACK (yylen);
8688 : 2 : yylen = 0;
8689 : : YY_STACK_PRINT (yyss, yyssp);
8690 : 2 : yystate = *yyssp;
8691 : 2 : goto yyerrlab1;
8692 : :
8693 : :
8694 : : /*-------------------------------------------------------------.
8695 : : | yyerrlab1 -- common code for both syntax error and YYERROR. |
8696 : : `-------------------------------------------------------------*/
8697 : : yyerrlab1:
8698 : 2 : yyerrstatus = 3; /* Each real token shifted decrements this. */
8699 : :
8700 : 0 : for (;;)
8701 : : {
8702 : 2 : yyn = yypact[yystate];
8703 [ + - ]: 2 : if (!yypact_value_is_default (yyn))
8704 : : {
8705 : 2 : yyn += YYTERROR;
8706 [ + - ][ + - ]: 2 : 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 [ + - ]: 2 : if (yyssp == yyss)
8716 : 2 : 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 : 558 : yyresult = 0;
8741 : 558 : goto yyreturn;
8742 : :
8743 : : /*-----------------------------------.
8744 : : | yyabortlab -- YYABORT comes here. |
8745 : : `-----------------------------------*/
8746 : : yyabortlab:
8747 : 2 : yyresult = 1;
8748 : 2 : 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 [ + + ]: 560 : 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 [ + - ]: 2 : yytoken = YYTRANSLATE (yychar);
8766 : : yydestruct ("Cleanup: discarding lookahead",
8767 : 2 : yytoken, &yylval);
8768 : : }
8769 : : /* Do not reclaim the symbols of the rule which action triggered
8770 : : this YYABORT or YYACCEPT. */
8771 : 560 : YYPOPSTACK (yylen);
8772 : : YY_STACK_PRINT (yyss, yyssp);
8773 [ + + ]: 1676 : while (yyssp != yyss)
8774 : : {
8775 : : yydestruct ("Cleanup: popping",
8776 : 1116 : yystos[*yyssp], yyvsp);
8777 : 1116 : YYPOPSTACK (1);
8778 : : }
8779 : : #ifndef yyoverflow
8780 [ - + ]: 560 : if (yyss != yyssa)
8781 : 0 : YYSTACK_FREE (yyss);
8782 : : #endif
8783 : : #if YYERROR_VERBOSE
8784 [ - + ]: 560 : if (yymsg != yymsgbuf)
8785 : 0 : YYSTACK_FREE (yymsg);
8786 : : #endif
8787 : : /* Make sure YYID is used. */
8788 : 560 : 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 : 92 : operator rtl::OUString () const { return rtl::OUString(str, length, RTL_TEXTENCODING_ASCII_US); }
8815 : : operator const sal_Char * () const { return str; }
8816 : 1728 : 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 : 56 : OParseContext::OParseContext()
8869 : : {
8870 : 56 : }
8871 : :
8872 : : //-----------------------------------------------------------------------------
8873 : 56 : OParseContext::~OParseContext()
8874 : : {
8875 [ - + ]: 56 : }
8876 : :
8877 : : //-----------------------------------------------------------------------------
8878 : 92 : ::rtl::OUString OParseContext::getErrorMessage(ErrorCode _eCode) const
8879 : : {
8880 : 92 : ::rtl::OUString aMsg;
8881 [ + - - - : 92 : switch (_eCode)
- - - + -
- - - - ]
8882 : : {
8883 [ + - ]: 4 : 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 [ + - ]: 88 : 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 : 92 : return aMsg;
8900 : : }
8901 : :
8902 : : //-----------------------------------------------------------------------------
8903 : 1728 : ::rtl::OString OParseContext::getIntlKeywordAscii(InternationalKeyCode _eKey) const
8904 : : {
8905 : 1728 : ::rtl::OString aKeyword;
8906 [ + + + + : 1728 : switch (_eKey)
+ + + + +
+ + + + +
+ + + + +
+ + + + +
- - ]
8907 : : {
8908 [ + - ]: 72 : case KEY_LIKE: aKeyword = KEY_STR_LIKE; break;
8909 [ + - ]: 72 : case KEY_NOT: aKeyword = KEY_STR_NOT; break;
8910 [ + - ]: 72 : case KEY_NULL: aKeyword = KEY_STR_NULL; break;
8911 [ + - ]: 72 : case KEY_TRUE: aKeyword = KEY_STR_TRUE; break;
8912 [ + - ]: 72 : case KEY_FALSE: aKeyword = KEY_STR_FALSE; break;
8913 [ + - ]: 72 : case KEY_IS: aKeyword = KEY_STR_IS; break;
8914 [ + - ]: 72 : case KEY_BETWEEN: aKeyword = KEY_STR_BETWEEN; break;
8915 [ + - ]: 72 : case KEY_OR: aKeyword = KEY_STR_OR; break;
8916 [ + - ]: 72 : case KEY_AND: aKeyword = KEY_STR_AND; break;
8917 [ + - ]: 72 : case KEY_AVG: aKeyword = KEY_STR_AVG; break;
8918 [ + - ]: 72 : case KEY_COUNT: aKeyword = KEY_STR_COUNT; break;
8919 [ + - ]: 72 : case KEY_MAX: aKeyword = KEY_STR_MAX; break;
8920 [ + - ]: 72 : case KEY_MIN: aKeyword = KEY_STR_MIN; break;
8921 [ + - ]: 72 : case KEY_SUM: aKeyword = KEY_STR_SUM; break;
8922 [ + - ]: 72 : case KEY_EVERY: aKeyword = KEY_STR_EVERY; break;
8923 [ + - ]: 72 : case KEY_ANY: aKeyword = KEY_STR_ANY; break;
8924 [ + - ]: 72 : case KEY_SOME: aKeyword = KEY_STR_SOME; break;
8925 [ + - ]: 72 : case KEY_STDDEV_POP: aKeyword = KEY_STR_STDDEV_POP; break;
8926 [ + - ]: 72 : case KEY_STDDEV_SAMP: aKeyword = KEY_STR_STDDEV_SAMP; break;
8927 [ + - ]: 72 : case KEY_VAR_SAMP: aKeyword = KEY_STR_VAR_SAMP; break;
8928 [ + - ]: 72 : case KEY_VAR_POP: aKeyword = KEY_STR_VAR_POP; break;
8929 [ + - ]: 72 : case KEY_COLLECT: aKeyword = KEY_STR_COLLECT; break;
8930 [ + - ]: 72 : case KEY_FUSION: aKeyword = KEY_STR_FUSION; break;
8931 [ + - ]: 72 : 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 : 1728 : return aKeyword;
8938 : : }
8939 : :
8940 : : //-----------------------------------------------------------------------------
8941 : 72 : 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 : 72 : sal_uInt32 nCount = SAL_N_ELEMENTS( Intl_TokenID );
8954 [ + + ]: 1800 : for (sal_uInt32 i = 0; i < nCount; i++)
8955 : : {
8956 [ + - ]: 1728 : ::rtl::OString aKey = getIntlKeywordAscii(Intl_TokenID[i]);
8957 [ - + ]: 1728 : if (rToken.equalsIgnoreAsciiCase(aKey))
8958 : 1728 : return Intl_TokenID[i];
8959 [ + - ]: 1728 : }
8960 : :
8961 : 72 : return KEY_NONE;
8962 : : }
8963 : :
8964 : : //------------------------------------------------------------------------------
8965 : 3422 : static Locale& impl_getLocaleInstance( )
8966 : : {
8967 : : static Locale s_aLocale(
8968 : : ::rtl::OUString( "en" ),
8969 : : ::rtl::OUString( "US" ),
8970 : : ::rtl::OUString( )
8971 [ + + ][ + - ]: 3422 : );
8972 : 3422 : return s_aLocale;
8973 : : }
8974 : :
8975 : : //------------------------------------------------------------------------------
8976 : 360 : Locale OParseContext::getPreferredLocale( ) const
8977 : : {
8978 : 360 : return getDefaultLocale();
8979 : : }
8980 : :
8981 : : //------------------------------------------------------------------------------
8982 : 3422 : const Locale& OParseContext::getDefaultLocale()
8983 : : {
8984 : 3422 : 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 : 56 : OSQLParser::RuleIDMap OSQLParser::s_aReverseRuleIDLookup;
9066 : 56 : 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 : 56 : ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XLocaleData> OSQLParser::s_xLocaleData = NULL;
9073 : : //-----------------------------------------------------------------------------
9074 : 776 : void setParser(OSQLParser* _pParser)
9075 : : {
9076 : 776 : xxx_pGLOBAL_SQLPARSER = _pParser;
9077 : 776 : }
9078 : : // -------------------------------------------------------------------------
9079 : 558 : void OSQLParser::setParseTree(OSQLParseNode * pNewParseTree)
9080 : : {
9081 [ + - ][ + - ]: 558 : ::osl::MutexGuard aGuard(getMutex());
9082 [ + - ]: 558 : m_pParseTree = pNewParseTree;
9083 : 558 : }
9084 : : //-----------------------------------------------------------------------------
9085 : :
9086 : : /** Delete all comments in a query.
9087 : :
9088 : : See also getComment()/concatComment() implementation for
9089 : : OQueryController::translateStatement().
9090 : : */
9091 : 488 : 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 [ + - ]: 976 : if (rQuery.indexOfAsciiL( "--", 2, 0) < 0 && rQuery.indexOfAsciiL( "//", 2, 0) < 0 &&
[ + - + - ]
[ + - ]
9096 : 488 : rQuery.indexOfAsciiL( "/*", 2, 0) < 0)
9097 : 488 : 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 [ # # ]: 488 : return aBuf.makeStringAndClear();
9144 : : }
9145 : : //-----------------------------------------------------------------------------
9146 : 488 : OSQLParseNode* OSQLParser::parseTree(::rtl::OUString& rErrorMessage,
9147 : : const ::rtl::OUString& rStatement,
9148 : : sal_Bool bInternational)
9149 : : {
9150 : :
9151 : :
9152 : : // Guard the parsing
9153 [ + - ][ + - ]: 488 : ::osl::MutexGuard aGuard(getMutex());
9154 : : // must be reset
9155 : 488 : setParser(this);
9156 : :
9157 : : // delete comments before parsing
9158 [ + - ]: 488 : ::rtl::OUString sTemp = delComment(rStatement);
9159 : :
9160 : : // defines how to scan
9161 [ + - ]: 488 : s_pScanner->SetRule(s_pScanner->GetSQLRule()); // initial
9162 [ + - ]: 488 : s_pScanner->prepareScan(sTemp, m_pContext, bInternational);
9163 : :
9164 : 488 : SQLyylval.pParseNode = NULL;
9165 : : // SQLyypvt = NULL;
9166 : 488 : m_pParseTree = NULL;
9167 : 488 : m_sErrorMessage = ::rtl::OUString();
9168 : :
9169 : : // ... und den Parser anwerfen ...
9170 [ + + ][ + - ]: 488 : if (SQLyyparse() != 0)
9171 : : {
9172 : : // only set the error message, if it's not already set
9173 [ + - ]: 2 : if (!m_sErrorMessage.getLength())
9174 : 2 : m_sErrorMessage = s_pScanner->getErrorMessage();
9175 [ + - ]: 2 : if (!m_sErrorMessage.getLength())
9176 [ + - ]: 2 : m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_GENERAL);
9177 : :
9178 : 2 : rErrorMessage = m_sErrorMessage;
9179 : :
9180 : : // clear the garbage collector
9181 [ + - ][ + - ]: 2 : (*s_pGarbageCollector)->clearAndDelete();
9182 : 2 : return NULL;
9183 : : }
9184 : : else
9185 : : {
9186 [ + - ][ + - ]: 486 : (*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 : 486 : return m_pParseTree;
9199 [ + - ]: 488 : }
9200 : : }
9201 : : //-----------------------------------------------------------------------------
9202 : 2330 : ::rtl::OString OSQLParser::TokenIDToStr(sal_uInt32 nTokenID, const IParseContext* pContext)
9203 : : {
9204 : 2330 : ::rtl::OString aStr;
9205 [ - + ]: 2330 : 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 [ + - ]: 2330 : if (!aStr.getLength())
9230 : : {
9231 [ + - ]: 2330 : aStr = yytname[YYTRANSLATE(nTokenID)];
9232 [ + - ]: 2330 : if(!aStr.compareTo("SQL_TOKEN_",10))
9233 : 2330 : aStr = aStr.copy(10);
9234 : : }
9235 : 2330 : 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 : 5148 : 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 [ + + ]: 801008 : for (sal_uInt32 i = YYTRANSLATE(SQL_TOKEN_INVALIDSYMBOL); i < (nLen-1); i++)
9253 : : {
9254 [ + + ]: 800644 : if (rValue == yytname[i])
9255 : 4784 : return i;
9256 : : }
9257 : :
9258 : : // Not found
9259 : 5148 : return OSQLParseNode::UNKNOWN_RULE;
9260 : : }
9261 : :
9262 : : //-----------------------------------------------------------------------------
9263 : 13216 : OSQLParseNode::Rule OSQLParser::RuleIDToRule( sal_uInt32 _nRule )
9264 : : {
9265 : 13216 : return s_aReverseRuleIDLookup[ _nRule ];
9266 : : }
9267 : :
9268 : : //-----------------------------------------------------------------------------
9269 : 107496 : sal_uInt32 OSQLParser::RuleID(OSQLParseNode::Rule eRule)
9270 : : {
9271 : 107496 : return s_nRuleIDs[(sal_uInt16)eRule];
9272 : : }
9273 : : // -------------------------------------------------------------------------
9274 : 72 : sal_Int16 OSQLParser::buildNode(OSQLParseNode*& pAppend,OSQLParseNode* pCompare,OSQLParseNode* pLiteral,OSQLParseNode* pLiteral2)
9275 : : {
9276 [ + - ]: 72 : OSQLParseNode* pColumnRef = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::column_ref));
9277 [ + - ]: 72 : pColumnRef->append(new OSQLInternalNode(m_sFieldName,SQL_NODE_NAME));
9278 : 72 : OSQLParseNode* pComp = NULL;
9279 [ - + ][ # # ]: 72 : 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 [ + - ]: 72 : pComp = new OSQLInternalNode(aEmptyString, SQL_NODE_RULE,OSQLParser::RuleID(OSQLParseNode::comparison_predicate));
9283 : :
9284 : 72 : pComp->append(pColumnRef);
9285 : 72 : pComp->append(pCompare);
9286 : 72 : pComp->append(pLiteral);
9287 [ - + ]: 72 : if ( pLiteral2 )
9288 : : {
9289 [ # # ]: 0 : pComp->append(new OSQLInternalNode(aEmptyString, SQL_NODE_KEYWORD,SQL_TOKEN_AND));
9290 : 0 : pComp->append(pLiteral2);
9291 : : }
9292 : 72 : pAppend->append(pComp);
9293 : 72 : 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 : 72 : sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral)
9330 : : {
9331 [ + - ][ + - ]: 72 : OSQLParseNode* pComp = new OSQLInternalNode(::rtl::OUString("="), SQL_NODE_EQUAL);
9332 [ + - ]: 72 : 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 : 11662 : int OSQLParser::SQLlex()
9391 : : {
9392 : 11662 : return s_pScanner->SQLlex();
9393 [ + - ][ + - ]: 168 : }
9394 : :
9395 : : #if defined __SUNPRO_CC
9396 : : #pragma enable_warn
9397 : : #elif defined _MSC_VER
9398 : : #pragma warning(pop)
9399 : : #endif
9400 : :
|