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 IDENT = 328, 123 UIDENT = 329, 124 FCONST = 330, 125 SCONST = 331, 126 USCONST = 332, 127 BCONST = 333, 128 XCONST = 334, 129 Op = 335, 130 ICONST = 336, 131 PARAM = 337, 132 TYPECAST = 338, 133 DOT_DOT = 339, 134 COLON_EQUALS = 340, 135 EQUALS_GREATER = 341, 136 LESS_EQUALS = 342, 137 GREATER_EQUALS = 343, 138 NOT_EQUALS = 344, 139 ABORT_P = 345, 140 ABSOLUTE_P = 346, 141 ACCESS = 347, 142 ACTION = 348, 143 ADD_P = 349, 144 ADMIN = 350, 145 AFTER = 351, 146 AGGREGATE = 352, 147 ALL = 353, 148 ALSO = 354, 149 ALTER = 355, 150 ALWAYS = 356, 151 ANALYSE = 357, 152 ANALYZE = 358, 153 AND = 359, 154 ANY = 360, 155 ARRAY = 361, 156 AS = 362, 157 ASC = 363, 158 ASENSITIVE = 364, 159 ASSERTION = 365, 160 ASSIGNMENT = 366, 161 ASYMMETRIC = 367, 162 ATOMIC = 368, 163 AT = 369, 164 ATTACH = 370, 165 ATTRIBUTE = 371, 166 AUTHORIZATION = 372, 167 BACKWARD = 373, 168 BEFORE = 374, 169 BEGIN_P = 375, 170 BETWEEN = 376, 171 BIGINT = 377, 172 BINARY = 378, 173 BIT = 379, 174 BOOLEAN_P = 380, 175 BOTH = 381, 176 BREADTH = 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 COMPRESSION = 410, 205 CONCURRENTLY = 411, 206 CONFIGURATION = 412, 207 CONFLICT = 413, 208 CONNECTION = 414, 209 CONSTRAINT = 415, 210 CONSTRAINTS = 416, 211 CONTENT_P = 417, 212 CONTINUE_P = 418, 213 CONVERSION_P = 419, 214 COPY = 420, 215 COST = 421, 216 CREATE = 422, 217 CROSS = 423, 218 CSV = 424, 219 CUBE = 425, 220 CURRENT_P = 426, 221 CURRENT_CATALOG = 427, 222 CURRENT_DATE = 428, 223 CURRENT_ROLE = 429, 224 CURRENT_SCHEMA = 430, 225 CURRENT_TIME = 431, 226 CURRENT_TIMESTAMP = 432, 227 CURRENT_USER = 433, 228 CURSOR = 434, 229 CYCLE = 435, 230 DATA_P = 436, 231 DATABASE = 437, 232 DAY_P = 438, 233 DEALLOCATE = 439, 234 DEC = 440, 235 DECIMAL_P = 441, 236 DECLARE = 442, 237 DEFAULT = 443, 238 DEFAULTS = 444, 239 DEFERRABLE = 445, 240 DEFERRED = 446, 241 DEFINER = 447, 242 DELETE_P = 448, 243 DELIMITER = 449, 244 DELIMITERS = 450, 245 DEPENDS = 451, 246 DEPTH = 452, 247 DESC = 453, 248 DETACH = 454, 249 DICTIONARY = 455, 250 DISABLE_P = 456, 251 DISCARD = 457, 252 DISTINCT = 458, 253 DO = 459, 254 DOCUMENT_P = 460, 255 DOMAIN_P = 461, 256 DOUBLE_P = 462, 257 DROP = 463, 258 EACH = 464, 259 ELSE = 465, 260 ENABLE_P = 466, 261 ENCODING = 467, 262 ENCRYPTED = 468, 263 END_P = 469, 264 ENUM_P = 470, 265 ESCAPE = 471, 266 EVENT = 472, 267 EXCEPT = 473, 268 EXCLUDE = 474, 269 EXCLUDING = 475, 270 EXCLUSIVE = 476, 271 EXECUTE = 477, 272 EXISTS = 478, 273 EXPLAIN = 479, 274 EXPRESSION = 480, 275 EXTENSION = 481, 276 EXTERNAL = 482, 277 EXTRACT = 483, 278 FALSE_P = 484, 279 FAMILY = 485, 280 FETCH = 486, 281 FILTER = 487, 282 FINALIZE = 488, 283 FIRST_P = 489, 284 FLOAT_P = 490, 285 FOLLOWING = 491, 286 FOR = 492, 287 FORCE = 493, 288 FOREIGN = 494, 289 FORWARD = 495, 290 FREEZE = 496, 291 FROM = 497, 292 FULL = 498, 293 FUNCTION = 499, 294 FUNCTIONS = 500, 295 GENERATED = 501, 296 GLOBAL = 502, 297 GRANT = 503, 298 GRANTED = 504, 299 GREATEST = 505, 300 GROUP_P = 506, 301 GROUPING = 507, 302 GROUPS = 508, 303 HANDLER = 509, 304 HAVING = 510, 305 HEADER_P = 511, 306 HOLD = 512, 307 HOUR_P = 513, 308 IDENTITY_P = 514, 309 IF_P = 515, 310 ILIKE = 516, 311 IMMEDIATE = 517, 312 IMMUTABLE = 518, 313 IMPLICIT_P = 519, 314 IMPORT_P = 520, 315 IN_P = 521, 316 INCLUDE = 522, 317 INCLUDING = 523, 318 INCREMENT = 524, 319 INDEX = 525, 320 INDEXES = 526, 321 INHERIT = 527, 322 INHERITS = 528, 323 INITIALLY = 529, 324 INLINE_P = 530, 325 INNER_P = 531, 326 INOUT = 532, 327 INPUT_P = 533, 328 INSENSITIVE = 534, 329 INSERT = 535, 330 INSTEAD = 536, 331 INT_P = 537, 332 INTEGER = 538, 333 INTERSECT = 539, 334 INTERVAL = 540, 335 INTO = 541, 336 INVOKER = 542, 337 IS = 543, 338 ISNULL = 544, 339 ISOLATION = 545, 340 JOIN = 546, 341 KEY = 547, 342 LABEL = 548, 343 LANGUAGE = 549, 344 LARGE_P = 550, 345 LAST_P = 551, 346 LATERAL_P = 552, 347 LEADING = 553, 348 LEAKPROOF = 554, 349 LEAST = 555, 350 LEFT = 556, 351 LEVEL = 557, 352 LIKE = 558, 353 LIMIT = 559, 354 LISTEN = 560, 355 LOAD = 561, 356 LOCAL = 562, 357 LOCALTIME = 563, 358 LOCALTIMESTAMP = 564, 359 LOCATION = 565, 360 LOCK_P = 566, 361 LOCKED = 567, 362 LOGGED = 568, 363 MAPPING = 569, 364 MATCH = 570, 365 MATERIALIZED = 571, 366 MAXVALUE = 572, 367 METHOD = 573, 368 MINUTE_P = 574, 369 MINVALUE = 575, 370 MODE = 576, 371 MONTH_P = 577, 372 MOVE = 578, 373 NAME_P = 579, 374 NAMES = 580, 375 NATIONAL = 581, 376 NATURAL = 582, 377 NCHAR = 583, 378 NEW = 584, 379 NEXT = 585, 380 NFC = 586, 381 NFD = 587, 382 NFKC = 588, 383 NFKD = 589, 384 NO = 590, 385 NONE = 591, 386 NORMALIZE = 592, 387 NORMALIZED = 593, 388 NOT = 594, 389 NOTHING = 595, 390 NOTIFY = 596, 391 NOTNULL = 597, 392 NOWAIT = 598, 393 NULL_P = 599, 394 NULLIF = 600, 395 NULLS_P = 601, 396 NUMERIC = 602, 397 OBJECT_P = 603, 398 OF = 604, 399 OFF = 605, 400 OFFSET = 606, 401 OIDS = 607, 402 OLD = 608, 403 ON = 609, 404 ONLY = 610, 405 OPERATOR = 611, 406 OPTION = 612, 407 OPTIONS = 613, 408 OR = 614, 409 ORDER = 615, 410 ORDINALITY = 616, 411 OTHERS = 617, 412 OUT_P = 618, 413 OUTER_P = 619, 414 OVER = 620, 415 OVERLAPS = 621, 416 OVERLAY = 622, 417 OVERRIDING = 623, 418 OWNED = 624, 419 OWNER = 625, 420 PARALLEL = 626, 421 PARSER = 627, 422 PARTIAL = 628, 423 PARTITION = 629, 424 PASSING = 630, 425 PASSWORD = 631, 426 PLACING = 632, 427 PLANS = 633, 428 POLICY = 634, 429 POSITION = 635, 430 PRECEDING = 636, 431 PRECISION = 637, 432 PRESERVE = 638, 433 PREPARE = 639, 434 PREPARED = 640, 435 PRIMARY = 641, 436 PRIOR = 642, 437 PRIVILEGES = 643, 438 PROCEDURAL = 644, 439 PROCEDURE = 645, 440 PROCEDURES = 646, 441 PROGRAM = 647, 442 PUBLICATION = 648, 443 QUOTE = 649, 444 RANGE = 650, 445 READ = 651, 446 REAL = 652, 447 REASSIGN = 653, 448 RECHECK = 654, 449 RECURSIVE = 655, 450 REF = 656, 451 REFERENCES = 657, 452 REFERENCING = 658, 453 REFRESH = 659, 454 REINDEX = 660, 455 RELATIVE_P = 661, 456 RELEASE = 662, 457 RENAME = 663, 458 REPEATABLE = 664, 459 REPLACE = 665, 460 REPLICA = 666, 461 RESET = 667, 462 RESTART = 668, 463 RESTRICT = 669, 464 RETURN = 670, 465 RETURNING = 671, 466 RETURNS = 672, 467 REVOKE = 673, 468 RIGHT = 674, 469 ROLE = 675, 470 ROLLBACK = 676, 471 ROLLUP = 677, 472 ROUTINE = 678, 473 ROUTINES = 679, 474 ROW = 680, 475 ROWS = 681, 476 RULE = 682, 477 SAVEPOINT = 683, 478 SCHEMA = 684, 479 SCHEMAS = 685, 480 SCROLL = 686, 481 SEARCH = 687, 482 SECOND_P = 688, 483 SECURITY = 689, 484 SELECT = 690, 485 SEQUENCE = 691, 486 SEQUENCES = 692, 487 SERIALIZABLE = 693, 488 SERVER = 694, 489 SESSION = 695, 490 SESSION_USER = 696, 491 SET = 697, 492 SETS = 698, 493 SETOF = 699, 494 SHARE = 700, 495 SHOW = 701, 496 SIMILAR = 702, 497 SIMPLE = 703, 498 SKIP = 704, 499 SMALLINT = 705, 500 SNAPSHOT = 706, 501 SOME = 707, 502 SQL_P = 708, 503 STABLE = 709, 504 STANDALONE_P = 710, 505 START = 711, 506 STATEMENT = 712, 507 STATISTICS = 713, 508 STDIN = 714, 509 STDOUT = 715, 510 STORAGE = 716, 511 STORED = 717, 512 STRICT_P = 718, 513 STRIP_P = 719, 514 SUBSCRIPTION = 720, 515 SUBSTRING = 721, 516 SUPPORT = 722, 517 SYMMETRIC = 723, 518 SYSID = 724, 519 SYSTEM_P = 725, 520 TABLE = 726, 521 TABLES = 727, 522 TABLESAMPLE = 728, 523 TABLESPACE = 729, 524 TEMP = 730, 525 TEMPLATE = 731, 526 TEMPORARY = 732, 527 TEXT_P = 733, 528 THEN = 734, 529 TIES = 735, 530 TIME = 736, 531 TIMESTAMP = 737, 532 TO = 738, 533 TRAILING = 739, 534 TRANSACTION = 740, 535 TRANSFORM = 741, 536 TREAT = 742, 537 TRIGGER = 743, 538 TRIM = 744, 539 TRUE_P = 745, 540 TRUNCATE = 746, 541 TRUSTED = 747, 542 TYPE_P = 748, 543 TYPES_P = 749, 544 UESCAPE = 750, 545 UNBOUNDED = 751, 546 UNCOMMITTED = 752, 547 UNENCRYPTED = 753, 548 UNION = 754, 549 UNIQUE = 755, 550 UNKNOWN = 756, 551 UNLISTEN = 757, 552 UNLOGGED = 758, 553 UNTIL = 759, 554 UPDATE = 760, 555 USER = 761, 556 USING = 762, 557 VACUUM = 763, 558 VALID = 764, 559 VALIDATE = 765, 560 VALIDATOR = 766, 561 VALUE_P = 767, 562 VALUES = 768, 563 VARCHAR = 769, 564 VARIADIC = 770, 565 VARYING = 771, 566 VERBOSE = 772, 567 VERSION_P = 773, 568 VIEW = 774, 569 VIEWS = 775, 570 VOLATILE = 776, 571 WHEN = 777, 572 WHERE = 778, 573 WHITESPACE_P = 779, 574 WINDOW = 780, 575 WITH = 781, 576 WITHIN = 782, 577 WITHOUT = 783, 578 WORK = 784, 579 WRAPPER = 785, 580 WRITE = 786, 581 XML_P = 787, 582 XMLATTRIBUTES = 788, 583 XMLCONCAT = 789, 584 XMLELEMENT = 790, 585 XMLEXISTS = 791, 586 XMLFOREST = 792, 587 XMLNAMESPACES = 793, 588 XMLPARSE = 794, 589 XMLPI = 795, 590 XMLROOT = 796, 591 XMLSERIALIZE = 797, 592 XMLTABLE = 798, 593 YEAR_P = 799, 594 YES_P = 800, 595 ZONE = 801, 596 NOT_LA = 802, 597 NULLS_LA = 803, 598 WITH_LA = 804, 599 MODE_TYPE_NAME = 805, 600 MODE_PLPGSQL_EXPR = 806, 601 MODE_PLPGSQL_ASSIGN1 = 807, 602 MODE_PLPGSQL_ASSIGN2 = 808, 603 MODE_PLPGSQL_ASSIGN3 = 809, 604 UMINUS = 810 605 }; 606 #endif 607 608 /* Value type. */ 609 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 610 611 union YYSTYPE 612 { 613 #line 612 "preproc.y" /* yacc.c:1921 */ 614 615 double dval; 616 char *str; 617 int ival; 618 struct when action; 619 struct index index; 620 int tagname; 621 struct this_type type; 622 enum ECPGttype type_enum; 623 enum ECPGdtype dtype_enum; 624 struct fetch_desc descriptor; 625 struct su_symbol struct_union; 626 struct prep prep; 627 struct exec exec; 628 struct describe describe; 629 630 #line 631 "preproc.h" /* yacc.c:1921 */ 631 }; 632 633 typedef union YYSTYPE YYSTYPE; 634 # define YYSTYPE_IS_TRIVIAL 1 635 # define YYSTYPE_IS_DECLARED 1 636 #endif 637 638 /* Location type. */ 639 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 640 typedef struct YYLTYPE YYLTYPE; 641 struct YYLTYPE 642 { 643 int first_line; 644 int first_column; 645 int last_line; 646 int last_column; 647 }; 648 # define YYLTYPE_IS_DECLARED 1 649 # define YYLTYPE_IS_TRIVIAL 1 650 #endif 651 652 653 extern YYSTYPE base_yylval; 654 extern YYLTYPE base_yylloc; 655 int base_yyparse (void); 656 657 #endif /* !YY_BASE_YY_PREPROC_H_INCLUDED */ 658