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_CALL = 262, 57 SQL_CARDINALITY = 263, 58 SQL_CONNECT = 264, 59 SQL_COUNT = 265, 60 SQL_DATETIME_INTERVAL_CODE = 266, 61 SQL_DATETIME_INTERVAL_PRECISION = 267, 62 SQL_DESCRIBE = 268, 63 SQL_DESCRIPTOR = 269, 64 SQL_DISCONNECT = 270, 65 SQL_FOUND = 271, 66 SQL_FREE = 272, 67 SQL_GET = 273, 68 SQL_GO = 274, 69 SQL_GOTO = 275, 70 SQL_IDENTIFIED = 276, 71 SQL_INDICATOR = 277, 72 SQL_KEY_MEMBER = 278, 73 SQL_LENGTH = 279, 74 SQL_LONG = 280, 75 SQL_NULLABLE = 281, 76 SQL_OCTET_LENGTH = 282, 77 SQL_OPEN = 283, 78 SQL_OUTPUT = 284, 79 SQL_REFERENCE = 285, 80 SQL_RETURNED_LENGTH = 286, 81 SQL_RETURNED_OCTET_LENGTH = 287, 82 SQL_SCALE = 288, 83 SQL_SECTION = 289, 84 SQL_SHORT = 290, 85 SQL_SIGNED = 291, 86 SQL_SQLERROR = 292, 87 SQL_SQLPRINT = 293, 88 SQL_SQLWARNING = 294, 89 SQL_START = 295, 90 SQL_STOP = 296, 91 SQL_STRUCT = 297, 92 SQL_UNSIGNED = 298, 93 SQL_VAR = 299, 94 SQL_WHENEVER = 300, 95 S_ADD = 301, 96 S_AND = 302, 97 S_ANYTHING = 303, 98 S_AUTO = 304, 99 S_CONST = 305, 100 S_DEC = 306, 101 S_DIV = 307, 102 S_DOTPOINT = 308, 103 S_EQUAL = 309, 104 S_EXTERN = 310, 105 S_INC = 311, 106 S_LSHIFT = 312, 107 S_MEMPOINT = 313, 108 S_MEMBER = 314, 109 S_MOD = 315, 110 S_MUL = 316, 111 S_NEQUAL = 317, 112 S_OR = 318, 113 S_REGISTER = 319, 114 S_RSHIFT = 320, 115 S_STATIC = 321, 116 S_SUB = 322, 117 S_VOLATILE = 323, 118 S_TYPEDEF = 324, 119 CSTRING = 325, 120 CVARIABLE = 326, 121 CPP_LINE = 327, 122 IP = 328, 123 DOLCONST = 329, 124 ECONST = 330, 125 NCONST = 331, 126 UCONST = 332, 127 UIDENT = 333, 128 IDENT = 334, 129 FCONST = 335, 130 SCONST = 336, 131 BCONST = 337, 132 XCONST = 338, 133 Op = 339, 134 ICONST = 340, 135 PARAM = 341, 136 TYPECAST = 342, 137 DOT_DOT = 343, 138 COLON_EQUALS = 344, 139 EQUALS_GREATER = 345, 140 LESS_EQUALS = 346, 141 GREATER_EQUALS = 347, 142 NOT_EQUALS = 348, 143 ABORT_P = 349, 144 ABSOLUTE_P = 350, 145 ACCESS = 351, 146 ACTION = 352, 147 ADD_P = 353, 148 ADMIN = 354, 149 AFTER = 355, 150 AGGREGATE = 356, 151 ALL = 357, 152 ALSO = 358, 153 ALTER = 359, 154 ALWAYS = 360, 155 ANALYSE = 361, 156 ANALYZE = 362, 157 AND = 363, 158 ANY = 364, 159 ARRAY = 365, 160 AS = 366, 161 ASC = 367, 162 ASSERTION = 368, 163 ASSIGNMENT = 369, 164 ASYMMETRIC = 370, 165 AT = 371, 166 ATTACH = 372, 167 ATTRIBUTE = 373, 168 AUTHORIZATION = 374, 169 BACKWARD = 375, 170 BEFORE = 376, 171 BEGIN_P = 377, 172 BETWEEN = 378, 173 BIGINT = 379, 174 BINARY = 380, 175 BIT = 381, 176 BOOLEAN_P = 382, 177 BOTH = 383, 178 BY = 384, 179 CACHE = 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 HANDLER = 504, 299 HAVING = 505, 300 HEADER_P = 506, 301 HOLD = 507, 302 HOUR_P = 508, 303 IDENTITY_P = 509, 304 IF_P = 510, 305 ILIKE = 511, 306 IMMEDIATE = 512, 307 IMMUTABLE = 513, 308 IMPLICIT_P = 514, 309 IMPORT_P = 515, 310 IN_P = 516, 311 INCLUDING = 517, 312 INCREMENT = 518, 313 INDEX = 519, 314 INDEXES = 520, 315 INHERIT = 521, 316 INHERITS = 522, 317 INITIALLY = 523, 318 INLINE_P = 524, 319 INNER_P = 525, 320 INOUT = 526, 321 INPUT_P = 527, 322 INSENSITIVE = 528, 323 INSERT = 529, 324 INSTEAD = 530, 325 INT_P = 531, 326 INTEGER = 532, 327 INTERSECT = 533, 328 INTERVAL = 534, 329 INTO = 535, 330 INVOKER = 536, 331 IS = 537, 332 ISNULL = 538, 333 ISOLATION = 539, 334 JOIN = 540, 335 KEY = 541, 336 LABEL = 542, 337 LANGUAGE = 543, 338 LARGE_P = 544, 339 LAST_P = 545, 340 LATERAL_P = 546, 341 LEADING = 547, 342 LEAKPROOF = 548, 343 LEAST = 549, 344 LEFT = 550, 345 LEVEL = 551, 346 LIKE = 552, 347 LIMIT = 553, 348 LISTEN = 554, 349 LOAD = 555, 350 LOCAL = 556, 351 LOCALTIME = 557, 352 LOCALTIMESTAMP = 558, 353 LOCATION = 559, 354 LOCK_P = 560, 355 LOCKED = 561, 356 LOGGED = 562, 357 MAPPING = 563, 358 MATCH = 564, 359 MATERIALIZED = 565, 360 MAXVALUE = 566, 361 METHOD = 567, 362 MINUTE_P = 568, 363 MINVALUE = 569, 364 MODE = 570, 365 MONTH_P = 571, 366 MOVE = 572, 367 NAME_P = 573, 368 NAMES = 574, 369 NATIONAL = 575, 370 NATURAL = 576, 371 NCHAR = 577, 372 NEW = 578, 373 NEXT = 579, 374 NO = 580, 375 NONE = 581, 376 NOT = 582, 377 NOTHING = 583, 378 NOTIFY = 584, 379 NOTNULL = 585, 380 NOWAIT = 586, 381 NULL_P = 587, 382 NULLIF = 588, 383 NULLS_P = 589, 384 NUMERIC = 590, 385 OBJECT_P = 591, 386 OF = 592, 387 OFF = 593, 388 OFFSET = 594, 389 OIDS = 595, 390 OLD = 596, 391 ON = 597, 392 ONLY = 598, 393 OPERATOR = 599, 394 OPTION = 600, 395 OPTIONS = 601, 396 OR = 602, 397 ORDER = 603, 398 ORDINALITY = 604, 399 OUT_P = 605, 400 OUTER_P = 606, 401 OVER = 607, 402 OVERLAPS = 608, 403 OVERLAY = 609, 404 OVERRIDING = 610, 405 OWNED = 611, 406 OWNER = 612, 407 PARALLEL = 613, 408 PARSER = 614, 409 PARTIAL = 615, 410 PARTITION = 616, 411 PASSING = 617, 412 PASSWORD = 618, 413 PLACING = 619, 414 PLANS = 620, 415 POLICY = 621, 416 POSITION = 622, 417 PRECEDING = 623, 418 PRECISION = 624, 419 PRESERVE = 625, 420 PREPARE = 626, 421 PREPARED = 627, 422 PRIMARY = 628, 423 PRIOR = 629, 424 PRIVILEGES = 630, 425 PROCEDURAL = 631, 426 PROCEDURE = 632, 427 PROGRAM = 633, 428 PUBLICATION = 634, 429 QUOTE = 635, 430 RANGE = 636, 431 READ = 637, 432 REAL = 638, 433 REASSIGN = 639, 434 RECHECK = 640, 435 RECURSIVE = 641, 436 REF = 642, 437 REFERENCES = 643, 438 REFERENCING = 644, 439 REFRESH = 645, 440 REINDEX = 646, 441 RELATIVE_P = 647, 442 RELEASE = 648, 443 RENAME = 649, 444 REPEATABLE = 650, 445 REPLACE = 651, 446 REPLICA = 652, 447 RESET = 653, 448 RESTART = 654, 449 RESTRICT = 655, 450 RETURNING = 656, 451 RETURNS = 657, 452 REVOKE = 658, 453 RIGHT = 659, 454 ROLE = 660, 455 ROLLBACK = 661, 456 ROLLUP = 662, 457 ROW = 663, 458 ROWS = 664, 459 RULE = 665, 460 SAVEPOINT = 666, 461 SCHEMA = 667, 462 SCHEMAS = 668, 463 SCROLL = 669, 464 SEARCH = 670, 465 SECOND_P = 671, 466 SECURITY = 672, 467 SELECT = 673, 468 SEQUENCE = 674, 469 SEQUENCES = 675, 470 SERIALIZABLE = 676, 471 SERVER = 677, 472 SESSION = 678, 473 SESSION_USER = 679, 474 SET = 680, 475 SETS = 681, 476 SETOF = 682, 477 SHARE = 683, 478 SHOW = 684, 479 SIMILAR = 685, 480 SIMPLE = 686, 481 SKIP = 687, 482 SMALLINT = 688, 483 SNAPSHOT = 689, 484 SOME = 690, 485 SQL_P = 691, 486 STABLE = 692, 487 STANDALONE_P = 693, 488 START = 694, 489 STATEMENT = 695, 490 STATISTICS = 696, 491 STDIN = 697, 492 STDOUT = 698, 493 STORAGE = 699, 494 STRICT_P = 700, 495 STRIP_P = 701, 496 SUBSCRIPTION = 702, 497 SUBSTRING = 703, 498 SYMMETRIC = 704, 499 SYSID = 705, 500 SYSTEM_P = 706, 501 TABLE = 707, 502 TABLES = 708, 503 TABLESAMPLE = 709, 504 TABLESPACE = 710, 505 TEMP = 711, 506 TEMPLATE = 712, 507 TEMPORARY = 713, 508 TEXT_P = 714, 509 THEN = 715, 510 TIME = 716, 511 TIMESTAMP = 717, 512 TO = 718, 513 TRAILING = 719, 514 TRANSACTION = 720, 515 TRANSFORM = 721, 516 TREAT = 722, 517 TRIGGER = 723, 518 TRIM = 724, 519 TRUE_P = 725, 520 TRUNCATE = 726, 521 TRUSTED = 727, 522 TYPE_P = 728, 523 TYPES_P = 729, 524 UNBOUNDED = 730, 525 UNCOMMITTED = 731, 526 UNENCRYPTED = 732, 527 UNION = 733, 528 UNIQUE = 734, 529 UNKNOWN = 735, 530 UNLISTEN = 736, 531 UNLOGGED = 737, 532 UNTIL = 738, 533 UPDATE = 739, 534 USER = 740, 535 USING = 741, 536 VACUUM = 742, 537 VALID = 743, 538 VALIDATE = 744, 539 VALIDATOR = 745, 540 VALUE_P = 746, 541 VALUES = 747, 542 VARCHAR = 748, 543 VARIADIC = 749, 544 VARYING = 750, 545 VERBOSE = 751, 546 VERSION_P = 752, 547 VIEW = 753, 548 VIEWS = 754, 549 VOLATILE = 755, 550 WHEN = 756, 551 WHERE = 757, 552 WHITESPACE_P = 758, 553 WINDOW = 759, 554 WITH = 760, 555 WITHIN = 761, 556 WITHOUT = 762, 557 WORK = 763, 558 WRAPPER = 764, 559 WRITE = 765, 560 XML_P = 766, 561 XMLATTRIBUTES = 767, 562 XMLCONCAT = 768, 563 XMLELEMENT = 769, 564 XMLEXISTS = 770, 565 XMLFOREST = 771, 566 XMLNAMESPACES = 772, 567 XMLPARSE = 773, 568 XMLPI = 774, 569 XMLROOT = 775, 570 XMLSERIALIZE = 776, 571 XMLTABLE = 777, 572 YEAR_P = 778, 573 YES_P = 779, 574 ZONE = 780, 575 NOT_LA = 781, 576 NULLS_LA = 782, 577 WITH_LA = 783, 578 POSTFIXOP = 784, 579 UMINUS = 785 580 }; 581 #endif 582 583 /* Value type. */ 584 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 585 586 union YYSTYPE 587 { 588 #line 581 "preproc.y" /* yacc.c:1921 */ 589 590 double dval; 591 char *str; 592 int ival; 593 struct when action; 594 struct index index; 595 int tagname; 596 struct this_type type; 597 enum ECPGttype type_enum; 598 enum ECPGdtype dtype_enum; 599 struct fetch_desc descriptor; 600 struct su_symbol struct_union; 601 struct prep prep; 602 603 #line 604 "preproc.h" /* yacc.c:1921 */ 604 }; 605 606 typedef union YYSTYPE YYSTYPE; 607 # define YYSTYPE_IS_TRIVIAL 1 608 # define YYSTYPE_IS_DECLARED 1 609 #endif 610 611 /* Location type. */ 612 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 613 typedef struct YYLTYPE YYLTYPE; 614 struct YYLTYPE 615 { 616 int first_line; 617 int first_column; 618 int last_line; 619 int last_column; 620 }; 621 # define YYLTYPE_IS_DECLARED 1 622 # define YYLTYPE_IS_TRIVIAL 1 623 #endif 624 625 626 extern YYSTYPE base_yylval; 627 extern YYLTYPE base_yylloc; 628 int base_yyparse (void); 629 630 #endif /* !YY_BASE_YY_PREPROC_H_INCLUDED */ 631