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 ASSERTION = 364, 159 ASSIGNMENT = 365, 160 ASYMMETRIC = 366, 161 AT = 367, 162 ATTACH = 368, 163 ATTRIBUTE = 369, 164 AUTHORIZATION = 370, 165 BACKWARD = 371, 166 BEFORE = 372, 167 BEGIN_P = 373, 168 BETWEEN = 374, 169 BIGINT = 375, 170 BINARY = 376, 171 BIT = 377, 172 BOOLEAN_P = 378, 173 BOTH = 379, 174 BY = 380, 175 CACHE = 381, 176 CALL = 382, 177 CALLED = 383, 178 CASCADE = 384, 179 CASCADED = 385, 180 CASE = 386, 181 CAST = 387, 182 CATALOG_P = 388, 183 CHAIN = 389, 184 CHAR_P = 390, 185 CHARACTER = 391, 186 CHARACTERISTICS = 392, 187 CHECK = 393, 188 CHECKPOINT = 394, 189 CLASS = 395, 190 CLOSE = 396, 191 CLUSTER = 397, 192 COALESCE = 398, 193 COLLATE = 399, 194 COLLATION = 400, 195 COLUMN = 401, 196 COLUMNS = 402, 197 COMMENT = 403, 198 COMMENTS = 404, 199 COMMIT = 405, 200 COMMITTED = 406, 201 CONCURRENTLY = 407, 202 CONFIGURATION = 408, 203 CONFLICT = 409, 204 CONNECTION = 410, 205 CONSTRAINT = 411, 206 CONSTRAINTS = 412, 207 CONTENT_P = 413, 208 CONTINUE_P = 414, 209 CONVERSION_P = 415, 210 COPY = 416, 211 COST = 417, 212 CREATE = 418, 213 CROSS = 419, 214 CSV = 420, 215 CUBE = 421, 216 CURRENT_P = 422, 217 CURRENT_CATALOG = 423, 218 CURRENT_DATE = 424, 219 CURRENT_ROLE = 425, 220 CURRENT_SCHEMA = 426, 221 CURRENT_TIME = 427, 222 CURRENT_TIMESTAMP = 428, 223 CURRENT_USER = 429, 224 CURSOR = 430, 225 CYCLE = 431, 226 DATA_P = 432, 227 DATABASE = 433, 228 DAY_P = 434, 229 DEALLOCATE = 435, 230 DEC = 436, 231 DECIMAL_P = 437, 232 DECLARE = 438, 233 DEFAULT = 439, 234 DEFAULTS = 440, 235 DEFERRABLE = 441, 236 DEFERRED = 442, 237 DEFINER = 443, 238 DELETE_P = 444, 239 DELIMITER = 445, 240 DELIMITERS = 446, 241 DEPENDS = 447, 242 DESC = 448, 243 DETACH = 449, 244 DICTIONARY = 450, 245 DISABLE_P = 451, 246 DISCARD = 452, 247 DISTINCT = 453, 248 DO = 454, 249 DOCUMENT_P = 455, 250 DOMAIN_P = 456, 251 DOUBLE_P = 457, 252 DROP = 458, 253 EACH = 459, 254 ELSE = 460, 255 ENABLE_P = 461, 256 ENCODING = 462, 257 ENCRYPTED = 463, 258 END_P = 464, 259 ENUM_P = 465, 260 ESCAPE = 466, 261 EVENT = 467, 262 EXCEPT = 468, 263 EXCLUDE = 469, 264 EXCLUDING = 470, 265 EXCLUSIVE = 471, 266 EXECUTE = 472, 267 EXISTS = 473, 268 EXPLAIN = 474, 269 EXPRESSION = 475, 270 EXTENSION = 476, 271 EXTERNAL = 477, 272 EXTRACT = 478, 273 FALSE_P = 479, 274 FAMILY = 480, 275 FETCH = 481, 276 FILTER = 482, 277 FIRST_P = 483, 278 FLOAT_P = 484, 279 FOLLOWING = 485, 280 FOR = 486, 281 FORCE = 487, 282 FOREIGN = 488, 283 FORWARD = 489, 284 FREEZE = 490, 285 FROM = 491, 286 FULL = 492, 287 FUNCTION = 493, 288 FUNCTIONS = 494, 289 GENERATED = 495, 290 GLOBAL = 496, 291 GRANT = 497, 292 GRANTED = 498, 293 GREATEST = 499, 294 GROUP_P = 500, 295 GROUPING = 501, 296 GROUPS = 502, 297 HANDLER = 503, 298 HAVING = 504, 299 HEADER_P = 505, 300 HOLD = 506, 301 HOUR_P = 507, 302 IDENTITY_P = 508, 303 IF_P = 509, 304 ILIKE = 510, 305 IMMEDIATE = 511, 306 IMMUTABLE = 512, 307 IMPLICIT_P = 513, 308 IMPORT_P = 514, 309 IN_P = 515, 310 INCLUDE = 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 NFC = 580, 375 NFD = 581, 376 NFKC = 582, 377 NFKD = 583, 378 NO = 584, 379 NONE = 585, 380 NORMALIZE = 586, 381 NORMALIZED = 587, 382 NOT = 588, 383 NOTHING = 589, 384 NOTIFY = 590, 385 NOTNULL = 591, 386 NOWAIT = 592, 387 NULL_P = 593, 388 NULLIF = 594, 389 NULLS_P = 595, 390 NUMERIC = 596, 391 OBJECT_P = 597, 392 OF = 598, 393 OFF = 599, 394 OFFSET = 600, 395 OIDS = 601, 396 OLD = 602, 397 ON = 603, 398 ONLY = 604, 399 OPERATOR = 605, 400 OPTION = 606, 401 OPTIONS = 607, 402 OR = 608, 403 ORDER = 609, 404 ORDINALITY = 610, 405 OTHERS = 611, 406 OUT_P = 612, 407 OUTER_P = 613, 408 OVER = 614, 409 OVERLAPS = 615, 410 OVERLAY = 616, 411 OVERRIDING = 617, 412 OWNED = 618, 413 OWNER = 619, 414 PARALLEL = 620, 415 PARSER = 621, 416 PARTIAL = 622, 417 PARTITION = 623, 418 PASSING = 624, 419 PASSWORD = 625, 420 PLACING = 626, 421 PLANS = 627, 422 POLICY = 628, 423 POSITION = 629, 424 PRECEDING = 630, 425 PRECISION = 631, 426 PRESERVE = 632, 427 PREPARE = 633, 428 PREPARED = 634, 429 PRIMARY = 635, 430 PRIOR = 636, 431 PRIVILEGES = 637, 432 PROCEDURAL = 638, 433 PROCEDURE = 639, 434 PROCEDURES = 640, 435 PROGRAM = 641, 436 PUBLICATION = 642, 437 QUOTE = 643, 438 RANGE = 644, 439 READ = 645, 440 REAL = 646, 441 REASSIGN = 647, 442 RECHECK = 648, 443 RECURSIVE = 649, 444 REF = 650, 445 REFERENCES = 651, 446 REFERENCING = 652, 447 REFRESH = 653, 448 REINDEX = 654, 449 RELATIVE_P = 655, 450 RELEASE = 656, 451 RENAME = 657, 452 REPEATABLE = 658, 453 REPLACE = 659, 454 REPLICA = 660, 455 RESET = 661, 456 RESTART = 662, 457 RESTRICT = 663, 458 RETURNING = 664, 459 RETURNS = 665, 460 REVOKE = 666, 461 RIGHT = 667, 462 ROLE = 668, 463 ROLLBACK = 669, 464 ROLLUP = 670, 465 ROUTINE = 671, 466 ROUTINES = 672, 467 ROW = 673, 468 ROWS = 674, 469 RULE = 675, 470 SAVEPOINT = 676, 471 SCHEMA = 677, 472 SCHEMAS = 678, 473 SCROLL = 679, 474 SEARCH = 680, 475 SECOND_P = 681, 476 SECURITY = 682, 477 SELECT = 683, 478 SEQUENCE = 684, 479 SEQUENCES = 685, 480 SERIALIZABLE = 686, 481 SERVER = 687, 482 SESSION = 688, 483 SESSION_USER = 689, 484 SET = 690, 485 SETS = 691, 486 SETOF = 692, 487 SHARE = 693, 488 SHOW = 694, 489 SIMILAR = 695, 490 SIMPLE = 696, 491 SKIP = 697, 492 SMALLINT = 698, 493 SNAPSHOT = 699, 494 SOME = 700, 495 SQL_P = 701, 496 STABLE = 702, 497 STANDALONE_P = 703, 498 START = 704, 499 STATEMENT = 705, 500 STATISTICS = 706, 501 STDIN = 707, 502 STDOUT = 708, 503 STORAGE = 709, 504 STORED = 710, 505 STRICT_P = 711, 506 STRIP_P = 712, 507 SUBSCRIPTION = 713, 508 SUBSTRING = 714, 509 SUPPORT = 715, 510 SYMMETRIC = 716, 511 SYSID = 717, 512 SYSTEM_P = 718, 513 TABLE = 719, 514 TABLES = 720, 515 TABLESAMPLE = 721, 516 TABLESPACE = 722, 517 TEMP = 723, 518 TEMPLATE = 724, 519 TEMPORARY = 725, 520 TEXT_P = 726, 521 THEN = 727, 522 TIES = 728, 523 TIME = 729, 524 TIMESTAMP = 730, 525 TO = 731, 526 TRAILING = 732, 527 TRANSACTION = 733, 528 TRANSFORM = 734, 529 TREAT = 735, 530 TRIGGER = 736, 531 TRIM = 737, 532 TRUE_P = 738, 533 TRUNCATE = 739, 534 TRUSTED = 740, 535 TYPE_P = 741, 536 TYPES_P = 742, 537 UESCAPE = 743, 538 UNBOUNDED = 744, 539 UNCOMMITTED = 745, 540 UNENCRYPTED = 746, 541 UNION = 747, 542 UNIQUE = 748, 543 UNKNOWN = 749, 544 UNLISTEN = 750, 545 UNLOGGED = 751, 546 UNTIL = 752, 547 UPDATE = 753, 548 USER = 754, 549 USING = 755, 550 VACUUM = 756, 551 VALID = 757, 552 VALIDATE = 758, 553 VALIDATOR = 759, 554 VALUE_P = 760, 555 VALUES = 761, 556 VARCHAR = 762, 557 VARIADIC = 763, 558 VARYING = 764, 559 VERBOSE = 765, 560 VERSION_P = 766, 561 VIEW = 767, 562 VIEWS = 768, 563 VOLATILE = 769, 564 WHEN = 770, 565 WHERE = 771, 566 WHITESPACE_P = 772, 567 WINDOW = 773, 568 WITH = 774, 569 WITHIN = 775, 570 WITHOUT = 776, 571 WORK = 777, 572 WRAPPER = 778, 573 WRITE = 779, 574 XML_P = 780, 575 XMLATTRIBUTES = 781, 576 XMLCONCAT = 782, 577 XMLELEMENT = 783, 578 XMLEXISTS = 784, 579 XMLFOREST = 785, 580 XMLNAMESPACES = 786, 581 XMLPARSE = 787, 582 XMLPI = 788, 583 XMLROOT = 789, 584 XMLSERIALIZE = 790, 585 XMLTABLE = 791, 586 YEAR_P = 792, 587 YES_P = 793, 588 ZONE = 794, 589 NOT_LA = 795, 590 NULLS_LA = 796, 591 WITH_LA = 797, 592 POSTFIXOP = 798, 593 UMINUS = 799 594 }; 595 #endif 596 597 /* Value type. */ 598 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 599 600 union YYSTYPE 601 { 602 #line 586 "preproc.y" /* yacc.c:1921 */ 603 604 double dval; 605 char *str; 606 int ival; 607 struct when action; 608 struct index index; 609 int tagname; 610 struct this_type type; 611 enum ECPGttype type_enum; 612 enum ECPGdtype dtype_enum; 613 struct fetch_desc descriptor; 614 struct su_symbol struct_union; 615 struct prep prep; 616 struct exec exec; 617 618 #line 619 "preproc.h" /* yacc.c:1921 */ 619 }; 620 621 typedef union YYSTYPE YYSTYPE; 622 # define YYSTYPE_IS_TRIVIAL 1 623 # define YYSTYPE_IS_DECLARED 1 624 #endif 625 626 /* Location type. */ 627 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 628 typedef struct YYLTYPE YYLTYPE; 629 struct YYLTYPE 630 { 631 int first_line; 632 int first_column; 633 int last_line; 634 int last_column; 635 }; 636 # define YYLTYPE_IS_DECLARED 1 637 # define YYLTYPE_IS_TRIVIAL 1 638 #endif 639 640 641 extern YYSTYPE base_yylval; 642 extern YYLTYPE base_yylloc; 643 int base_yyparse (void); 644 645 #endif /* !YY_BASE_YY_PREPROC_H_INCLUDED */ 646