1 /* A Bison parser, made by GNU Bison 3.3.2. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 /* Undocumented macros, especially those whose name start with YY_, 35 are private implementation details. Do not rely on them. */ 36 37 #ifndef YY_BASE_YY_PREPROC_H_INCLUDED 38 # define YY_BASE_YY_PREPROC_H_INCLUDED 39 /* Debug traces. */ 40 #ifndef YYDEBUG 41 # define YYDEBUG 0 42 #endif 43 #if YYDEBUG 44 extern int base_yydebug; 45 #endif 46 47 /* Token type. */ 48 #ifndef YYTOKENTYPE 49 # define YYTOKENTYPE 50 enum yytokentype 51 { 52 SQL_ALLOCATE = 258, 53 SQL_AUTOCOMMIT = 259, 54 SQL_BOOL = 260, 55 SQL_BREAK = 261, 56 SQL_CARDINALITY = 262, 57 SQL_CONNECT = 263, 58 SQL_COUNT = 264, 59 SQL_DATETIME_INTERVAL_CODE = 265, 60 SQL_DATETIME_INTERVAL_PRECISION = 266, 61 SQL_DESCRIBE = 267, 62 SQL_DESCRIPTOR = 268, 63 SQL_DISCONNECT = 269, 64 SQL_FOUND = 270, 65 SQL_FREE = 271, 66 SQL_GET = 272, 67 SQL_GO = 273, 68 SQL_GOTO = 274, 69 SQL_IDENTIFIED = 275, 70 SQL_INDICATOR = 276, 71 SQL_KEY_MEMBER = 277, 72 SQL_LENGTH = 278, 73 SQL_LONG = 279, 74 SQL_NULLABLE = 280, 75 SQL_OCTET_LENGTH = 281, 76 SQL_OPEN = 282, 77 SQL_OUTPUT = 283, 78 SQL_REFERENCE = 284, 79 SQL_RETURNED_LENGTH = 285, 80 SQL_RETURNED_OCTET_LENGTH = 286, 81 SQL_SCALE = 287, 82 SQL_SECTION = 288, 83 SQL_SHORT = 289, 84 SQL_SIGNED = 290, 85 SQL_SQLERROR = 291, 86 SQL_SQLPRINT = 292, 87 SQL_SQLWARNING = 293, 88 SQL_START = 294, 89 SQL_STOP = 295, 90 SQL_STRUCT = 296, 91 SQL_UNSIGNED = 297, 92 SQL_VAR = 298, 93 SQL_WHENEVER = 299, 94 S_ADD = 300, 95 S_AND = 301, 96 S_ANYTHING = 302, 97 S_AUTO = 303, 98 S_CONST = 304, 99 S_DEC = 305, 100 S_DIV = 306, 101 S_DOTPOINT = 307, 102 S_EQUAL = 308, 103 S_EXTERN = 309, 104 S_INC = 310, 105 S_LSHIFT = 311, 106 S_MEMPOINT = 312, 107 S_MEMBER = 313, 108 S_MOD = 314, 109 S_MUL = 315, 110 S_NEQUAL = 316, 111 S_OR = 317, 112 S_REGISTER = 318, 113 S_RSHIFT = 319, 114 S_STATIC = 320, 115 S_SUB = 321, 116 S_VOLATILE = 322, 117 S_TYPEDEF = 323, 118 CSTRING = 324, 119 CVARIABLE = 325, 120 CPP_LINE = 326, 121 IP = 327, 122 DOLCONST = 328, 123 ECONST = 329, 124 NCONST = 330, 125 UCONST = 331, 126 UIDENT = 332, 127 IDENT = 333, 128 FCONST = 334, 129 SCONST = 335, 130 BCONST = 336, 131 XCONST = 337, 132 Op = 338, 133 ICONST = 339, 134 PARAM = 340, 135 TYPECAST = 341, 136 DOT_DOT = 342, 137 COLON_EQUALS = 343, 138 EQUALS_GREATER = 344, 139 LESS_EQUALS = 345, 140 GREATER_EQUALS = 346, 141 NOT_EQUALS = 347, 142 ABORT_P = 348, 143 ABSOLUTE_P = 349, 144 ACCESS = 350, 145 ACTION = 351, 146 ADD_P = 352, 147 ADMIN = 353, 148 AFTER = 354, 149 AGGREGATE = 355, 150 ALL = 356, 151 ALSO = 357, 152 ALTER = 358, 153 ALWAYS = 359, 154 ANALYSE = 360, 155 ANALYZE = 361, 156 AND = 362, 157 ANY = 363, 158 ARRAY = 364, 159 AS = 365, 160 ASC = 366, 161 ASSERTION = 367, 162 ASSIGNMENT = 368, 163 ASYMMETRIC = 369, 164 AT = 370, 165 ATTACH = 371, 166 ATTRIBUTE = 372, 167 AUTHORIZATION = 373, 168 BACKWARD = 374, 169 BEFORE = 375, 170 BEGIN_P = 376, 171 BETWEEN = 377, 172 BIGINT = 378, 173 BINARY = 379, 174 BIT = 380, 175 BOOLEAN_P = 381, 176 BOTH = 382, 177 BY = 383, 178 CACHE = 384, 179 CALL = 385, 180 CALLED = 386, 181 CASCADE = 387, 182 CASCADED = 388, 183 CASE = 389, 184 CAST = 390, 185 CATALOG_P = 391, 186 CHAIN = 392, 187 CHAR_P = 393, 188 CHARACTER = 394, 189 CHARACTERISTICS = 395, 190 CHECK = 396, 191 CHECKPOINT = 397, 192 CLASS = 398, 193 CLOSE = 399, 194 CLUSTER = 400, 195 COALESCE = 401, 196 COLLATE = 402, 197 COLLATION = 403, 198 COLUMN = 404, 199 COLUMNS = 405, 200 COMMENT = 406, 201 COMMENTS = 407, 202 COMMIT = 408, 203 COMMITTED = 409, 204 CONCURRENTLY = 410, 205 CONFIGURATION = 411, 206 CONFLICT = 412, 207 CONNECTION = 413, 208 CONSTRAINT = 414, 209 CONSTRAINTS = 415, 210 CONTENT_P = 416, 211 CONTINUE_P = 417, 212 CONVERSION_P = 418, 213 COPY = 419, 214 COST = 420, 215 CREATE = 421, 216 CROSS = 422, 217 CSV = 423, 218 CUBE = 424, 219 CURRENT_P = 425, 220 CURRENT_CATALOG = 426, 221 CURRENT_DATE = 427, 222 CURRENT_ROLE = 428, 223 CURRENT_SCHEMA = 429, 224 CURRENT_TIME = 430, 225 CURRENT_TIMESTAMP = 431, 226 CURRENT_USER = 432, 227 CURSOR = 433, 228 CYCLE = 434, 229 DATA_P = 435, 230 DATABASE = 436, 231 DAY_P = 437, 232 DEALLOCATE = 438, 233 DEC = 439, 234 DECIMAL_P = 440, 235 DECLARE = 441, 236 DEFAULT = 442, 237 DEFAULTS = 443, 238 DEFERRABLE = 444, 239 DEFERRED = 445, 240 DEFINER = 446, 241 DELETE_P = 447, 242 DELIMITER = 448, 243 DELIMITERS = 449, 244 DEPENDS = 450, 245 DESC = 451, 246 DETACH = 452, 247 DICTIONARY = 453, 248 DISABLE_P = 454, 249 DISCARD = 455, 250 DISTINCT = 456, 251 DO = 457, 252 DOCUMENT_P = 458, 253 DOMAIN_P = 459, 254 DOUBLE_P = 460, 255 DROP = 461, 256 EACH = 462, 257 ELSE = 463, 258 ENABLE_P = 464, 259 ENCODING = 465, 260 ENCRYPTED = 466, 261 END_P = 467, 262 ENUM_P = 468, 263 ESCAPE = 469, 264 EVENT = 470, 265 EXCEPT = 471, 266 EXCLUDE = 472, 267 EXCLUDING = 473, 268 EXCLUSIVE = 474, 269 EXECUTE = 475, 270 EXISTS = 476, 271 EXPLAIN = 477, 272 EXTENSION = 478, 273 EXTERNAL = 479, 274 EXTRACT = 480, 275 FALSE_P = 481, 276 FAMILY = 482, 277 FETCH = 483, 278 FILTER = 484, 279 FIRST_P = 485, 280 FLOAT_P = 486, 281 FOLLOWING = 487, 282 FOR = 488, 283 FORCE = 489, 284 FOREIGN = 490, 285 FORWARD = 491, 286 FREEZE = 492, 287 FROM = 493, 288 FULL = 494, 289 FUNCTION = 495, 290 FUNCTIONS = 496, 291 GENERATED = 497, 292 GLOBAL = 498, 293 GRANT = 499, 294 GRANTED = 500, 295 GREATEST = 501, 296 GROUP_P = 502, 297 GROUPING = 503, 298 GROUPS = 504, 299 HANDLER = 505, 300 HAVING = 506, 301 HEADER_P = 507, 302 HOLD = 508, 303 HOUR_P = 509, 304 IDENTITY_P = 510, 305 IF_P = 511, 306 ILIKE = 512, 307 IMMEDIATE = 513, 308 IMMUTABLE = 514, 309 IMPLICIT_P = 515, 310 IMPORT_P = 516, 311 IN_P = 517, 312 INCLUDE = 518, 313 INCLUDING = 519, 314 INCREMENT = 520, 315 INDEX = 521, 316 INDEXES = 522, 317 INHERIT = 523, 318 INHERITS = 524, 319 INITIALLY = 525, 320 INLINE_P = 526, 321 INNER_P = 527, 322 INOUT = 528, 323 INPUT_P = 529, 324 INSENSITIVE = 530, 325 INSERT = 531, 326 INSTEAD = 532, 327 INT_P = 533, 328 INTEGER = 534, 329 INTERSECT = 535, 330 INTERVAL = 536, 331 INTO = 537, 332 INVOKER = 538, 333 IS = 539, 334 ISNULL = 540, 335 ISOLATION = 541, 336 JOIN = 542, 337 KEY = 543, 338 LABEL = 544, 339 LANGUAGE = 545, 340 LARGE_P = 546, 341 LAST_P = 547, 342 LATERAL_P = 548, 343 LEADING = 549, 344 LEAKPROOF = 550, 345 LEAST = 551, 346 LEFT = 552, 347 LEVEL = 553, 348 LIKE = 554, 349 LIMIT = 555, 350 LISTEN = 556, 351 LOAD = 557, 352 LOCAL = 558, 353 LOCALTIME = 559, 354 LOCALTIMESTAMP = 560, 355 LOCATION = 561, 356 LOCK_P = 562, 357 LOCKED = 563, 358 LOGGED = 564, 359 MAPPING = 565, 360 MATCH = 566, 361 MATERIALIZED = 567, 362 MAXVALUE = 568, 363 METHOD = 569, 364 MINUTE_P = 570, 365 MINVALUE = 571, 366 MODE = 572, 367 MONTH_P = 573, 368 MOVE = 574, 369 NAME_P = 575, 370 NAMES = 576, 371 NATIONAL = 577, 372 NATURAL = 578, 373 NCHAR = 579, 374 NEW = 580, 375 NEXT = 581, 376 NO = 582, 377 NONE = 583, 378 NOT = 584, 379 NOTHING = 585, 380 NOTIFY = 586, 381 NOTNULL = 587, 382 NOWAIT = 588, 383 NULL_P = 589, 384 NULLIF = 590, 385 NULLS_P = 591, 386 NUMERIC = 592, 387 OBJECT_P = 593, 388 OF = 594, 389 OFF = 595, 390 OFFSET = 596, 391 OIDS = 597, 392 OLD = 598, 393 ON = 599, 394 ONLY = 600, 395 OPERATOR = 601, 396 OPTION = 602, 397 OPTIONS = 603, 398 OR = 604, 399 ORDER = 605, 400 ORDINALITY = 606, 401 OTHERS = 607, 402 OUT_P = 608, 403 OUTER_P = 609, 404 OVER = 610, 405 OVERLAPS = 611, 406 OVERLAY = 612, 407 OVERRIDING = 613, 408 OWNED = 614, 409 OWNER = 615, 410 PARALLEL = 616, 411 PARSER = 617, 412 PARTIAL = 618, 413 PARTITION = 619, 414 PASSING = 620, 415 PASSWORD = 621, 416 PLACING = 622, 417 PLANS = 623, 418 POLICY = 624, 419 POSITION = 625, 420 PRECEDING = 626, 421 PRECISION = 627, 422 PRESERVE = 628, 423 PREPARE = 629, 424 PREPARED = 630, 425 PRIMARY = 631, 426 PRIOR = 632, 427 PRIVILEGES = 633, 428 PROCEDURAL = 634, 429 PROCEDURE = 635, 430 PROCEDURES = 636, 431 PROGRAM = 637, 432 PUBLICATION = 638, 433 QUOTE = 639, 434 RANGE = 640, 435 READ = 641, 436 REAL = 642, 437 REASSIGN = 643, 438 RECHECK = 644, 439 RECURSIVE = 645, 440 REF = 646, 441 REFERENCES = 647, 442 REFERENCING = 648, 443 REFRESH = 649, 444 REINDEX = 650, 445 RELATIVE_P = 651, 446 RELEASE = 652, 447 RENAME = 653, 448 REPEATABLE = 654, 449 REPLACE = 655, 450 REPLICA = 656, 451 RESET = 657, 452 RESTART = 658, 453 RESTRICT = 659, 454 RETURNING = 660, 455 RETURNS = 661, 456 REVOKE = 662, 457 RIGHT = 663, 458 ROLE = 664, 459 ROLLBACK = 665, 460 ROLLUP = 666, 461 ROUTINE = 667, 462 ROUTINES = 668, 463 ROW = 669, 464 ROWS = 670, 465 RULE = 671, 466 SAVEPOINT = 672, 467 SCHEMA = 673, 468 SCHEMAS = 674, 469 SCROLL = 675, 470 SEARCH = 676, 471 SECOND_P = 677, 472 SECURITY = 678, 473 SELECT = 679, 474 SEQUENCE = 680, 475 SEQUENCES = 681, 476 SERIALIZABLE = 682, 477 SERVER = 683, 478 SESSION = 684, 479 SESSION_USER = 685, 480 SET = 686, 481 SETS = 687, 482 SETOF = 688, 483 SHARE = 689, 484 SHOW = 690, 485 SIMILAR = 691, 486 SIMPLE = 692, 487 SKIP = 693, 488 SMALLINT = 694, 489 SNAPSHOT = 695, 490 SOME = 696, 491 SQL_P = 697, 492 STABLE = 698, 493 STANDALONE_P = 699, 494 START = 700, 495 STATEMENT = 701, 496 STATISTICS = 702, 497 STDIN = 703, 498 STDOUT = 704, 499 STORAGE = 705, 500 STRICT_P = 706, 501 STRIP_P = 707, 502 SUBSCRIPTION = 708, 503 SUBSTRING = 709, 504 SYMMETRIC = 710, 505 SYSID = 711, 506 SYSTEM_P = 712, 507 TABLE = 713, 508 TABLES = 714, 509 TABLESAMPLE = 715, 510 TABLESPACE = 716, 511 TEMP = 717, 512 TEMPLATE = 718, 513 TEMPORARY = 719, 514 TEXT_P = 720, 515 THEN = 721, 516 TIES = 722, 517 TIME = 723, 518 TIMESTAMP = 724, 519 TO = 725, 520 TRAILING = 726, 521 TRANSACTION = 727, 522 TRANSFORM = 728, 523 TREAT = 729, 524 TRIGGER = 730, 525 TRIM = 731, 526 TRUE_P = 732, 527 TRUNCATE = 733, 528 TRUSTED = 734, 529 TYPE_P = 735, 530 TYPES_P = 736, 531 UNBOUNDED = 737, 532 UNCOMMITTED = 738, 533 UNENCRYPTED = 739, 534 UNION = 740, 535 UNIQUE = 741, 536 UNKNOWN = 742, 537 UNLISTEN = 743, 538 UNLOGGED = 744, 539 UNTIL = 745, 540 UPDATE = 746, 541 USER = 747, 542 USING = 748, 543 VACUUM = 749, 544 VALID = 750, 545 VALIDATE = 751, 546 VALIDATOR = 752, 547 VALUE_P = 753, 548 VALUES = 754, 549 VARCHAR = 755, 550 VARIADIC = 756, 551 VARYING = 757, 552 VERBOSE = 758, 553 VERSION_P = 759, 554 VIEW = 760, 555 VIEWS = 761, 556 VOLATILE = 762, 557 WHEN = 763, 558 WHERE = 764, 559 WHITESPACE_P = 765, 560 WINDOW = 766, 561 WITH = 767, 562 WITHIN = 768, 563 WITHOUT = 769, 564 WORK = 770, 565 WRAPPER = 771, 566 WRITE = 772, 567 XML_P = 773, 568 XMLATTRIBUTES = 774, 569 XMLCONCAT = 775, 570 XMLELEMENT = 776, 571 XMLEXISTS = 777, 572 XMLFOREST = 778, 573 XMLNAMESPACES = 779, 574 XMLPARSE = 780, 575 XMLPI = 781, 576 XMLROOT = 782, 577 XMLSERIALIZE = 783, 578 XMLTABLE = 784, 579 YEAR_P = 785, 580 YES_P = 786, 581 ZONE = 787, 582 NOT_LA = 788, 583 NULLS_LA = 789, 584 WITH_LA = 790, 585 POSTFIXOP = 791, 586 UMINUS = 792 587 }; 588 #endif 589 590 /* Value type. */ 591 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 592 593 union YYSTYPE 594 { 595 #line 581 "preproc.y" /* yacc.c:1921 */ 596 597 double dval; 598 char *str; 599 int ival; 600 struct when action; 601 struct index index; 602 int tagname; 603 struct this_type type; 604 enum ECPGttype type_enum; 605 enum ECPGdtype dtype_enum; 606 struct fetch_desc descriptor; 607 struct su_symbol struct_union; 608 struct prep prep; 609 610 #line 611 "preproc.h" /* yacc.c:1921 */ 611 }; 612 613 typedef union YYSTYPE YYSTYPE; 614 # define YYSTYPE_IS_TRIVIAL 1 615 # define YYSTYPE_IS_DECLARED 1 616 #endif 617 618 /* Location type. */ 619 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 620 typedef struct YYLTYPE YYLTYPE; 621 struct YYLTYPE 622 { 623 int first_line; 624 int first_column; 625 int last_line; 626 int last_column; 627 }; 628 # define YYLTYPE_IS_DECLARED 1 629 # define YYLTYPE_IS_TRIVIAL 1 630 #endif 631 632 633 extern YYSTYPE base_yylval; 634 extern YYLTYPE base_yylloc; 635 int base_yyparse (void); 636 637 #endif /* !YY_BASE_YY_PREPROC_H_INCLUDED */ 638