1 /* A Bison parser, made by GNU Bison 2.3. */ 2 3 /* Skeleton interface for Bison's Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6 Free Software Foundation, 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, version 2.0, 10 as published by the Free Software Foundation. 11 12 This program is also distributed with certain software (including 13 but not limited to OpenSSL) that is licensed under separate terms, 14 as designated in a particular file or component or in included license 15 documentation. The authors of MySQL hereby grant you an additional 16 permission to link the program and your derivative works with the 17 separately licensed software that they have included with MySQL. 18 19 This program is distributed in the hope that it will be useful, 20 but WITHOUT ANY WARRANTY; without even the implied warranty of 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 GNU General Public License, version 2.0, for more details. 23 24 You should have received a copy of the GNU General Public License 25 along with this program; if not, write to the Free Software 26 Foundation, Inc., 51 Franklin Street, Fifth Floor, 27 Boston, MA 02110-1301, USA. */ 28 29 /* As a special exception, you may create a larger work that contains 30 part or all of the Bison parser skeleton and distribute that work 31 under terms of your choice, so long as that work isn't itself a 32 parser generator using the skeleton or a modified version thereof 33 as a parser skeleton. Alternatively, if you modify or redistribute 34 the parser skeleton itself, you may (at your option) remove this 35 special exception, which will cause the skeleton and the resulting 36 Bison output files to be licensed under the GNU General Public 37 License without this special exception. 38 39 This special exception was added by the Free Software Foundation in 40 version 2.2 of Bison. */ 41 42 /* Tokens. */ 43 #ifndef YYTOKENTYPE 44 # define YYTOKENTYPE 45 /* Put the tokens into the symbol table, so that GDB and other debuggers 46 know about them. */ 47 enum yytokentype { 48 PARS_INT_LIT = 258, 49 PARS_FLOAT_LIT = 259, 50 PARS_STR_LIT = 260, 51 PARS_FIXBINARY_LIT = 261, 52 PARS_BLOB_LIT = 262, 53 PARS_NULL_LIT = 263, 54 PARS_ID_TOKEN = 264, 55 PARS_AND_TOKEN = 265, 56 PARS_OR_TOKEN = 266, 57 PARS_NOT_TOKEN = 267, 58 PARS_GE_TOKEN = 268, 59 PARS_LE_TOKEN = 269, 60 PARS_NE_TOKEN = 270, 61 PARS_PROCEDURE_TOKEN = 271, 62 PARS_IN_TOKEN = 272, 63 PARS_OUT_TOKEN = 273, 64 PARS_BINARY_TOKEN = 274, 65 PARS_BLOB_TOKEN = 275, 66 PARS_INT_TOKEN = 276, 67 PARS_INTEGER_TOKEN = 277, 68 PARS_FLOAT_TOKEN = 278, 69 PARS_CHAR_TOKEN = 279, 70 PARS_IS_TOKEN = 280, 71 PARS_BEGIN_TOKEN = 281, 72 PARS_END_TOKEN = 282, 73 PARS_IF_TOKEN = 283, 74 PARS_THEN_TOKEN = 284, 75 PARS_ELSE_TOKEN = 285, 76 PARS_ELSIF_TOKEN = 286, 77 PARS_LOOP_TOKEN = 287, 78 PARS_WHILE_TOKEN = 288, 79 PARS_RETURN_TOKEN = 289, 80 PARS_SELECT_TOKEN = 290, 81 PARS_SUM_TOKEN = 291, 82 PARS_COUNT_TOKEN = 292, 83 PARS_DISTINCT_TOKEN = 293, 84 PARS_FROM_TOKEN = 294, 85 PARS_WHERE_TOKEN = 295, 86 PARS_FOR_TOKEN = 296, 87 PARS_DDOT_TOKEN = 297, 88 PARS_READ_TOKEN = 298, 89 PARS_ORDER_TOKEN = 299, 90 PARS_BY_TOKEN = 300, 91 PARS_ASC_TOKEN = 301, 92 PARS_DESC_TOKEN = 302, 93 PARS_INSERT_TOKEN = 303, 94 PARS_INTO_TOKEN = 304, 95 PARS_VALUES_TOKEN = 305, 96 PARS_UPDATE_TOKEN = 306, 97 PARS_SET_TOKEN = 307, 98 PARS_DELETE_TOKEN = 308, 99 PARS_CURRENT_TOKEN = 309, 100 PARS_OF_TOKEN = 310, 101 PARS_CREATE_TOKEN = 311, 102 PARS_TABLE_TOKEN = 312, 103 PARS_INDEX_TOKEN = 313, 104 PARS_UNIQUE_TOKEN = 314, 105 PARS_CLUSTERED_TOKEN = 315, 106 PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316, 107 PARS_ON_TOKEN = 317, 108 PARS_ASSIGN_TOKEN = 318, 109 PARS_DECLARE_TOKEN = 319, 110 PARS_CURSOR_TOKEN = 320, 111 PARS_SQL_TOKEN = 321, 112 PARS_OPEN_TOKEN = 322, 113 PARS_FETCH_TOKEN = 323, 114 PARS_CLOSE_TOKEN = 324, 115 PARS_NOTFOUND_TOKEN = 325, 116 PARS_TO_CHAR_TOKEN = 326, 117 PARS_TO_NUMBER_TOKEN = 327, 118 PARS_TO_BINARY_TOKEN = 328, 119 PARS_BINARY_TO_NUMBER_TOKEN = 329, 120 PARS_SUBSTR_TOKEN = 330, 121 PARS_REPLSTR_TOKEN = 331, 122 PARS_CONCAT_TOKEN = 332, 123 PARS_INSTR_TOKEN = 333, 124 PARS_LENGTH_TOKEN = 334, 125 PARS_SYSDATE_TOKEN = 335, 126 PARS_PRINTF_TOKEN = 336, 127 PARS_ASSERT_TOKEN = 337, 128 PARS_RND_TOKEN = 338, 129 PARS_RND_STR_TOKEN = 339, 130 PARS_ROW_PRINTF_TOKEN = 340, 131 PARS_COMMIT_TOKEN = 341, 132 PARS_ROLLBACK_TOKEN = 342, 133 PARS_WORK_TOKEN = 343, 134 PARS_UNSIGNED_TOKEN = 344, 135 PARS_EXIT_TOKEN = 345, 136 PARS_FUNCTION_TOKEN = 346, 137 PARS_LOCK_TOKEN = 347, 138 PARS_SHARE_TOKEN = 348, 139 PARS_MODE_TOKEN = 349, 140 PARS_LIKE_TOKEN = 350, 141 PARS_LIKE_TOKEN_EXACT = 351, 142 PARS_LIKE_TOKEN_PREFIX = 352, 143 PARS_LIKE_TOKEN_SUFFIX = 353, 144 PARS_LIKE_TOKEN_SUBSTR = 354, 145 PARS_TABLE_NAME_TOKEN = 355, 146 PARS_COMPACT_TOKEN = 356, 147 PARS_BLOCK_SIZE_TOKEN = 357, 148 PARS_BIGINT_TOKEN = 358, 149 NEG = 359 150 }; 151 #endif 152 /* Tokens. */ 153 #define PARS_INT_LIT 258 154 #define PARS_FLOAT_LIT 259 155 #define PARS_STR_LIT 260 156 #define PARS_FIXBINARY_LIT 261 157 #define PARS_BLOB_LIT 262 158 #define PARS_NULL_LIT 263 159 #define PARS_ID_TOKEN 264 160 #define PARS_AND_TOKEN 265 161 #define PARS_OR_TOKEN 266 162 #define PARS_NOT_TOKEN 267 163 #define PARS_GE_TOKEN 268 164 #define PARS_LE_TOKEN 269 165 #define PARS_NE_TOKEN 270 166 #define PARS_PROCEDURE_TOKEN 271 167 #define PARS_IN_TOKEN 272 168 #define PARS_OUT_TOKEN 273 169 #define PARS_BINARY_TOKEN 274 170 #define PARS_BLOB_TOKEN 275 171 #define PARS_INT_TOKEN 276 172 #define PARS_INTEGER_TOKEN 277 173 #define PARS_FLOAT_TOKEN 278 174 #define PARS_CHAR_TOKEN 279 175 #define PARS_IS_TOKEN 280 176 #define PARS_BEGIN_TOKEN 281 177 #define PARS_END_TOKEN 282 178 #define PARS_IF_TOKEN 283 179 #define PARS_THEN_TOKEN 284 180 #define PARS_ELSE_TOKEN 285 181 #define PARS_ELSIF_TOKEN 286 182 #define PARS_LOOP_TOKEN 287 183 #define PARS_WHILE_TOKEN 288 184 #define PARS_RETURN_TOKEN 289 185 #define PARS_SELECT_TOKEN 290 186 #define PARS_SUM_TOKEN 291 187 #define PARS_COUNT_TOKEN 292 188 #define PARS_DISTINCT_TOKEN 293 189 #define PARS_FROM_TOKEN 294 190 #define PARS_WHERE_TOKEN 295 191 #define PARS_FOR_TOKEN 296 192 #define PARS_DDOT_TOKEN 297 193 #define PARS_READ_TOKEN 298 194 #define PARS_ORDER_TOKEN 299 195 #define PARS_BY_TOKEN 300 196 #define PARS_ASC_TOKEN 301 197 #define PARS_DESC_TOKEN 302 198 #define PARS_INSERT_TOKEN 303 199 #define PARS_INTO_TOKEN 304 200 #define PARS_VALUES_TOKEN 305 201 #define PARS_UPDATE_TOKEN 306 202 #define PARS_SET_TOKEN 307 203 #define PARS_DELETE_TOKEN 308 204 #define PARS_CURRENT_TOKEN 309 205 #define PARS_OF_TOKEN 310 206 #define PARS_CREATE_TOKEN 311 207 #define PARS_TABLE_TOKEN 312 208 #define PARS_INDEX_TOKEN 313 209 #define PARS_UNIQUE_TOKEN 314 210 #define PARS_CLUSTERED_TOKEN 315 211 #define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316 212 #define PARS_ON_TOKEN 317 213 #define PARS_ASSIGN_TOKEN 318 214 #define PARS_DECLARE_TOKEN 319 215 #define PARS_CURSOR_TOKEN 320 216 #define PARS_SQL_TOKEN 321 217 #define PARS_OPEN_TOKEN 322 218 #define PARS_FETCH_TOKEN 323 219 #define PARS_CLOSE_TOKEN 324 220 #define PARS_NOTFOUND_TOKEN 325 221 #define PARS_TO_CHAR_TOKEN 326 222 #define PARS_TO_NUMBER_TOKEN 327 223 #define PARS_TO_BINARY_TOKEN 328 224 #define PARS_BINARY_TO_NUMBER_TOKEN 329 225 #define PARS_SUBSTR_TOKEN 330 226 #define PARS_REPLSTR_TOKEN 331 227 #define PARS_CONCAT_TOKEN 332 228 #define PARS_INSTR_TOKEN 333 229 #define PARS_LENGTH_TOKEN 334 230 #define PARS_SYSDATE_TOKEN 335 231 #define PARS_PRINTF_TOKEN 336 232 #define PARS_ASSERT_TOKEN 337 233 #define PARS_RND_TOKEN 338 234 #define PARS_RND_STR_TOKEN 339 235 #define PARS_ROW_PRINTF_TOKEN 340 236 #define PARS_COMMIT_TOKEN 341 237 #define PARS_ROLLBACK_TOKEN 342 238 #define PARS_WORK_TOKEN 343 239 #define PARS_UNSIGNED_TOKEN 344 240 #define PARS_EXIT_TOKEN 345 241 #define PARS_FUNCTION_TOKEN 346 242 #define PARS_LOCK_TOKEN 347 243 #define PARS_SHARE_TOKEN 348 244 #define PARS_MODE_TOKEN 349 245 #define PARS_LIKE_TOKEN 350 246 #define PARS_LIKE_TOKEN_EXACT 351 247 #define PARS_LIKE_TOKEN_PREFIX 352 248 #define PARS_LIKE_TOKEN_SUFFIX 353 249 #define PARS_LIKE_TOKEN_SUBSTR 354 250 #define PARS_TABLE_NAME_TOKEN 355 251 #define PARS_COMPACT_TOKEN 356 252 #define PARS_BLOCK_SIZE_TOKEN 357 253 #define PARS_BIGINT_TOKEN 358 254 #define NEG 359 255 256 257 258 259 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 260 typedef int YYSTYPE; 261 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 262 # define YYSTYPE_IS_DECLARED 1 263 # define YYSTYPE_IS_TRIVIAL 1 264 #endif 265 266 extern YYSTYPE yylval; 267 268