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