Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
727354ae
Commit
727354ae
authored
Apr 01, 2006
by
osku
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add support for bound literals in the SQL parser.
parent
d643d731
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1859 additions
and
1670 deletions
+1859
-1670
include/pars0grm.h
include/pars0grm.h
+176
-172
include/pars0pars.h
include/pars0pars.h
+26
-5
include/pars0sym.h
include/pars0sym.h
+10
-0
include/pars0types.h
include/pars0types.h
+1
-0
pars/lexyy.c
pars/lexyy.c
+463
-445
pars/pars0grm.c
pars/pars0grm.c
+900
-876
pars/pars0grm.h
pars/pars0grm.h
+176
-172
pars/pars0grm.y
pars/pars0grm.y
+4
-0
pars/pars0lex.l
pars/pars0lex.l
+11
-0
pars/pars0pars.c
pars/pars0pars.c
+26
-0
pars/pars0sym.c
pars/pars0sym.c
+66
-0
No files found.
include/pars0grm.h
View file @
727354ae
...
...
@@ -32,183 +32,187 @@
PARS_INT_LIT
=
258
,
PARS_FLOAT_LIT
=
259
,
PARS_STR_LIT
=
260
,
PARS_NULL_LIT
=
261
,
PARS_ID_TOKEN
=
262
,
PARS_AND_TOKEN
=
263
,
PARS_OR_TOKEN
=
264
,
PARS_NOT_TOKEN
=
265
,
PARS_GE_TOKEN
=
266
,
PARS_LE_TOKEN
=
267
,
PARS_NE_TOKEN
=
268
,
PARS_PROCEDURE_TOKEN
=
269
,
PARS_IN_TOKEN
=
270
,
PARS_OUT_TOKEN
=
271
,
PARS_BINARY_TOKEN
=
272
,
PARS_BLOB_TOKEN
=
273
,
PARS_INT_TOKEN
=
274
,
PARS_INTEGER_TOKEN
=
275
,
PARS_FLOAT_TOKEN
=
276
,
PARS_CHAR_TOKEN
=
277
,
PARS_IS_TOKEN
=
278
,
PARS_BEGIN_TOKEN
=
279
,
PARS_END_TOKEN
=
280
,
PARS_IF_TOKEN
=
281
,
PARS_THEN_TOKEN
=
282
,
PARS_ELSE_TOKEN
=
283
,
PARS_ELSIF_TOKEN
=
284
,
PARS_LOOP_TOKEN
=
285
,
PARS_WHILE_TOKEN
=
286
,
PARS_RETURN_TOKEN
=
287
,
PARS_SELECT_TOKEN
=
288
,
PARS_SUM_TOKEN
=
289
,
PARS_COUNT_TOKEN
=
290
,
PARS_DISTINCT_TOKEN
=
291
,
PARS_FROM_TOKEN
=
292
,
PARS_WHERE_TOKEN
=
293
,
PARS_FOR_TOKEN
=
294
,
PARS_DDOT_TOKEN
=
295
,
PARS_CONSISTENT_TOKEN
=
296
,
PARS_READ_TOKEN
=
297
,
PARS_ORDER_TOKEN
=
298
,
PARS_BY_TOKEN
=
299
,
PARS_ASC_TOKEN
=
300
,
PARS_DESC_TOKEN
=
301
,
PARS_INSERT_TOKEN
=
302
,
PARS_INTO_TOKEN
=
303
,
PARS_VALUES_TOKEN
=
304
,
PARS_UPDATE_TOKEN
=
305
,
PARS_SET_TOKEN
=
306
,
PARS_DELETE_TOKEN
=
307
,
PARS_CURRENT_TOKEN
=
308
,
PARS_OF_TOKEN
=
309
,
PARS_CREATE_TOKEN
=
310
,
PARS_TABLE_TOKEN
=
311
,
PARS_INDEX_TOKEN
=
312
,
PARS_UNIQUE_TOKEN
=
313
,
PARS_CLUSTERED_TOKEN
=
314
,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
=
315
,
PARS_ON_TOKEN
=
316
,
PARS_ASSIGN_TOKEN
=
317
,
PARS_DECLARE_TOKEN
=
318
,
PARS_CURSOR_TOKEN
=
319
,
PARS_SQL_TOKEN
=
320
,
PARS_OPEN_TOKEN
=
321
,
PARS_FETCH_TOKEN
=
322
,
PARS_CLOSE_TOKEN
=
323
,
PARS_NOTFOUND_TOKEN
=
324
,
PARS_TO_CHAR_TOKEN
=
325
,
PARS_TO_NUMBER_TOKEN
=
326
,
PARS_TO_BINARY_TOKEN
=
327
,
PARS_BINARY_TO_NUMBER_TOKEN
=
328
,
PARS_SUBSTR_TOKEN
=
329
,
PARS_REPLSTR_TOKEN
=
330
,
PARS_CONCAT_TOKEN
=
331
,
PARS_INSTR_TOKEN
=
332
,
PARS_LENGTH_TOKEN
=
333
,
PARS_SYSDATE_TOKEN
=
334
,
PARS_PRINTF_TOKEN
=
335
,
PARS_ASSERT_TOKEN
=
336
,
PARS_RND_TOKEN
=
337
,
PARS_RND_STR_TOKEN
=
338
,
PARS_ROW_PRINTF_TOKEN
=
339
,
PARS_COMMIT_TOKEN
=
340
,
PARS_ROLLBACK_TOKEN
=
341
,
PARS_WORK_TOKEN
=
342
,
PARS_UNSIGNED_TOKEN
=
343
,
PARS_EXIT_TOKEN
=
344
,
PARS_FUNCTION_TOKEN
=
345
,
NEG
=
346
PARS_FIXBINARY_LIT
=
261
,
PARS_BLOB_LIT
=
262
,
PARS_NULL_LIT
=
263
,
PARS_ID_TOKEN
=
264
,
PARS_AND_TOKEN
=
265
,
PARS_OR_TOKEN
=
266
,
PARS_NOT_TOKEN
=
267
,
PARS_GE_TOKEN
=
268
,
PARS_LE_TOKEN
=
269
,
PARS_NE_TOKEN
=
270
,
PARS_PROCEDURE_TOKEN
=
271
,
PARS_IN_TOKEN
=
272
,
PARS_OUT_TOKEN
=
273
,
PARS_BINARY_TOKEN
=
274
,
PARS_BLOB_TOKEN
=
275
,
PARS_INT_TOKEN
=
276
,
PARS_INTEGER_TOKEN
=
277
,
PARS_FLOAT_TOKEN
=
278
,
PARS_CHAR_TOKEN
=
279
,
PARS_IS_TOKEN
=
280
,
PARS_BEGIN_TOKEN
=
281
,
PARS_END_TOKEN
=
282
,
PARS_IF_TOKEN
=
283
,
PARS_THEN_TOKEN
=
284
,
PARS_ELSE_TOKEN
=
285
,
PARS_ELSIF_TOKEN
=
286
,
PARS_LOOP_TOKEN
=
287
,
PARS_WHILE_TOKEN
=
288
,
PARS_RETURN_TOKEN
=
289
,
PARS_SELECT_TOKEN
=
290
,
PARS_SUM_TOKEN
=
291
,
PARS_COUNT_TOKEN
=
292
,
PARS_DISTINCT_TOKEN
=
293
,
PARS_FROM_TOKEN
=
294
,
PARS_WHERE_TOKEN
=
295
,
PARS_FOR_TOKEN
=
296
,
PARS_DDOT_TOKEN
=
297
,
PARS_CONSISTENT_TOKEN
=
298
,
PARS_READ_TOKEN
=
299
,
PARS_ORDER_TOKEN
=
300
,
PARS_BY_TOKEN
=
301
,
PARS_ASC_TOKEN
=
302
,
PARS_DESC_TOKEN
=
303
,
PARS_INSERT_TOKEN
=
304
,
PARS_INTO_TOKEN
=
305
,
PARS_VALUES_TOKEN
=
306
,
PARS_UPDATE_TOKEN
=
307
,
PARS_SET_TOKEN
=
308
,
PARS_DELETE_TOKEN
=
309
,
PARS_CURRENT_TOKEN
=
310
,
PARS_OF_TOKEN
=
311
,
PARS_CREATE_TOKEN
=
312
,
PARS_TABLE_TOKEN
=
313
,
PARS_INDEX_TOKEN
=
314
,
PARS_UNIQUE_TOKEN
=
315
,
PARS_CLUSTERED_TOKEN
=
316
,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
=
317
,
PARS_ON_TOKEN
=
318
,
PARS_ASSIGN_TOKEN
=
319
,
PARS_DECLARE_TOKEN
=
320
,
PARS_CURSOR_TOKEN
=
321
,
PARS_SQL_TOKEN
=
322
,
PARS_OPEN_TOKEN
=
323
,
PARS_FETCH_TOKEN
=
324
,
PARS_CLOSE_TOKEN
=
325
,
PARS_NOTFOUND_TOKEN
=
326
,
PARS_TO_CHAR_TOKEN
=
327
,
PARS_TO_NUMBER_TOKEN
=
328
,
PARS_TO_BINARY_TOKEN
=
329
,
PARS_BINARY_TO_NUMBER_TOKEN
=
330
,
PARS_SUBSTR_TOKEN
=
331
,
PARS_REPLSTR_TOKEN
=
332
,
PARS_CONCAT_TOKEN
=
333
,
PARS_INSTR_TOKEN
=
334
,
PARS_LENGTH_TOKEN
=
335
,
PARS_SYSDATE_TOKEN
=
336
,
PARS_PRINTF_TOKEN
=
337
,
PARS_ASSERT_TOKEN
=
338
,
PARS_RND_TOKEN
=
339
,
PARS_RND_STR_TOKEN
=
340
,
PARS_ROW_PRINTF_TOKEN
=
341
,
PARS_COMMIT_TOKEN
=
342
,
PARS_ROLLBACK_TOKEN
=
343
,
PARS_WORK_TOKEN
=
344
,
PARS_UNSIGNED_TOKEN
=
345
,
PARS_EXIT_TOKEN
=
346
,
PARS_FUNCTION_TOKEN
=
347
,
NEG
=
348
};
#endif
#define PARS_INT_LIT 258
#define PARS_FLOAT_LIT 259
#define PARS_STR_LIT 260
#define PARS_NULL_LIT 261
#define PARS_ID_TOKEN 262
#define PARS_AND_TOKEN 263
#define PARS_OR_TOKEN 264
#define PARS_NOT_TOKEN 265
#define PARS_GE_TOKEN 266
#define PARS_LE_TOKEN 267
#define PARS_NE_TOKEN 268
#define PARS_PROCEDURE_TOKEN 269
#define PARS_IN_TOKEN 270
#define PARS_OUT_TOKEN 271
#define PARS_BINARY_TOKEN 272
#define PARS_BLOB_TOKEN 273
#define PARS_INT_TOKEN 274
#define PARS_INTEGER_TOKEN 275
#define PARS_FLOAT_TOKEN 276
#define PARS_CHAR_TOKEN 277
#define PARS_IS_TOKEN 278
#define PARS_BEGIN_TOKEN 279
#define PARS_END_TOKEN 280
#define PARS_IF_TOKEN 281
#define PARS_THEN_TOKEN 282
#define PARS_ELSE_TOKEN 283
#define PARS_ELSIF_TOKEN 284
#define PARS_LOOP_TOKEN 285
#define PARS_WHILE_TOKEN 286
#define PARS_RETURN_TOKEN 287
#define PARS_SELECT_TOKEN 288
#define PARS_SUM_TOKEN 289
#define PARS_COUNT_TOKEN 290
#define PARS_DISTINCT_TOKEN 291
#define PARS_FROM_TOKEN 292
#define PARS_WHERE_TOKEN 293
#define PARS_FOR_TOKEN 294
#define PARS_DDOT_TOKEN 295
#define PARS_CONSISTENT_TOKEN 296
#define PARS_READ_TOKEN 297
#define PARS_ORDER_TOKEN 298
#define PARS_BY_TOKEN 299
#define PARS_ASC_TOKEN 300
#define PARS_DESC_TOKEN 301
#define PARS_INSERT_TOKEN 302
#define PARS_INTO_TOKEN 303
#define PARS_VALUES_TOKEN 304
#define PARS_UPDATE_TOKEN 305
#define PARS_SET_TOKEN 306
#define PARS_DELETE_TOKEN 307
#define PARS_CURRENT_TOKEN 308
#define PARS_OF_TOKEN 309
#define PARS_CREATE_TOKEN 310
#define PARS_TABLE_TOKEN 311
#define PARS_INDEX_TOKEN 312
#define PARS_UNIQUE_TOKEN 313
#define PARS_CLUSTERED_TOKEN 314
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 315
#define PARS_ON_TOKEN 316
#define PARS_ASSIGN_TOKEN 317
#define PARS_DECLARE_TOKEN 318
#define PARS_CURSOR_TOKEN 319
#define PARS_SQL_TOKEN 320
#define PARS_OPEN_TOKEN 321
#define PARS_FETCH_TOKEN 322
#define PARS_CLOSE_TOKEN 323
#define PARS_NOTFOUND_TOKEN 324
#define PARS_TO_CHAR_TOKEN 325
#define PARS_TO_NUMBER_TOKEN 326
#define PARS_TO_BINARY_TOKEN 327
#define PARS_BINARY_TO_NUMBER_TOKEN 328
#define PARS_SUBSTR_TOKEN 329
#define PARS_REPLSTR_TOKEN 330
#define PARS_CONCAT_TOKEN 331
#define PARS_INSTR_TOKEN 332
#define PARS_LENGTH_TOKEN 333
#define PARS_SYSDATE_TOKEN 334
#define PARS_PRINTF_TOKEN 335
#define PARS_ASSERT_TOKEN 336
#define PARS_RND_TOKEN 337
#define PARS_RND_STR_TOKEN 338
#define PARS_ROW_PRINTF_TOKEN 339
#define PARS_COMMIT_TOKEN 340
#define PARS_ROLLBACK_TOKEN 341
#define PARS_WORK_TOKEN 342
#define PARS_UNSIGNED_TOKEN 343
#define PARS_EXIT_TOKEN 344
#define PARS_FUNCTION_TOKEN 345
#define NEG 346
#define PARS_FIXBINARY_LIT 261
#define PARS_BLOB_LIT 262
#define PARS_NULL_LIT 263
#define PARS_ID_TOKEN 264
#define PARS_AND_TOKEN 265
#define PARS_OR_TOKEN 266
#define PARS_NOT_TOKEN 267
#define PARS_GE_TOKEN 268
#define PARS_LE_TOKEN 269
#define PARS_NE_TOKEN 270
#define PARS_PROCEDURE_TOKEN 271
#define PARS_IN_TOKEN 272
#define PARS_OUT_TOKEN 273
#define PARS_BINARY_TOKEN 274
#define PARS_BLOB_TOKEN 275
#define PARS_INT_TOKEN 276
#define PARS_INTEGER_TOKEN 277
#define PARS_FLOAT_TOKEN 278
#define PARS_CHAR_TOKEN 279
#define PARS_IS_TOKEN 280
#define PARS_BEGIN_TOKEN 281
#define PARS_END_TOKEN 282
#define PARS_IF_TOKEN 283
#define PARS_THEN_TOKEN 284
#define PARS_ELSE_TOKEN 285
#define PARS_ELSIF_TOKEN 286
#define PARS_LOOP_TOKEN 287
#define PARS_WHILE_TOKEN 288
#define PARS_RETURN_TOKEN 289
#define PARS_SELECT_TOKEN 290
#define PARS_SUM_TOKEN 291
#define PARS_COUNT_TOKEN 292
#define PARS_DISTINCT_TOKEN 293
#define PARS_FROM_TOKEN 294
#define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297
#define PARS_CONSISTENT_TOKEN 298
#define PARS_READ_TOKEN 299
#define PARS_ORDER_TOKEN 300
#define PARS_BY_TOKEN 301
#define PARS_ASC_TOKEN 302
#define PARS_DESC_TOKEN 303
#define PARS_INSERT_TOKEN 304
#define PARS_INTO_TOKEN 305
#define PARS_VALUES_TOKEN 306
#define PARS_UPDATE_TOKEN 307
#define PARS_SET_TOKEN 308
#define PARS_DELETE_TOKEN 309
#define PARS_CURRENT_TOKEN 310
#define PARS_OF_TOKEN 311
#define PARS_CREATE_TOKEN 312
#define PARS_TABLE_TOKEN 313
#define PARS_INDEX_TOKEN 314
#define PARS_UNIQUE_TOKEN 315
#define PARS_CLUSTERED_TOKEN 316
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317
#define PARS_ON_TOKEN 318
#define PARS_ASSIGN_TOKEN 319
#define PARS_DECLARE_TOKEN 320
#define PARS_CURSOR_TOKEN 321
#define PARS_SQL_TOKEN 322
#define PARS_OPEN_TOKEN 323
#define PARS_FETCH_TOKEN 324
#define PARS_CLOSE_TOKEN 325
#define PARS_NOTFOUND_TOKEN 326
#define PARS_TO_CHAR_TOKEN 327
#define PARS_TO_NUMBER_TOKEN 328
#define PARS_TO_BINARY_TOKEN 329
#define PARS_BINARY_TO_NUMBER_TOKEN 330
#define PARS_SUBSTR_TOKEN 331
#define PARS_REPLSTR_TOKEN 332
#define PARS_CONCAT_TOKEN 333
#define PARS_INSTR_TOKEN 334
#define PARS_LENGTH_TOKEN 335
#define PARS_SYSDATE_TOKEN 336
#define PARS_PRINTF_TOKEN 337
#define PARS_ASSERT_TOKEN 338
#define PARS_RND_TOKEN 339
#define PARS_RND_STR_TOKEN 340
#define PARS_ROW_PRINTF_TOKEN 341
#define PARS_COMMIT_TOKEN 342
#define PARS_ROLLBACK_TOKEN 343
#define PARS_WORK_TOKEN 344
#define PARS_UNSIGNED_TOKEN 345
#define PARS_EXIT_TOKEN 346
#define PARS_FUNCTION_TOKEN 347
#define NEG 348
...
...
include/pars0pars.h
View file @
727354ae
...
...
@@ -450,14 +450,26 @@ pars_info_get_user_func(
pars_info_t
*
info
,
/* in: info struct */
const
char
*
name
);
/* in: function name to find*/
/********************************************************************
Get bound literal with the given name.*/
pars_bound_lit_t
*
pars_info_get_bound_lit
(
/*====================*/
/* out: bound literal, or NULL if
not found */
pars_info_t
*
info
,
/* in: info struct */
const
char
*
name
);
/* in: bound literal name to find */
/* Extra information (possibly) supplied for pars_sql(). */
/* Extra information supplied for pars_sql(). All data is owned by the user
who's responsible for freeing them as necessary.*/
struct
pars_info_struct
{
pars_user_func_t
*
funcs
;
/* User functions, owned by
the user, who's responsible
for freeing them as
necessary. */
pars_user_func_t
*
funcs
;
/* user functions */
ulint
n_funcs
;
/* number of user functions */
pars_bound_lit_t
*
bound_lits
;
/* bound literals */
ulint
n_bound_lits
;
/* number of bound literals */
};
/* Type of the user functions. The first argument is always InnoDB-supplied
...
...
@@ -473,6 +485,15 @@ struct pars_user_func_struct {
void
*
arg
;
/* user-supplied argument */
};
/* Bound literal. */
struct
pars_bound_lit_struct
{
const
char
*
name
;
/* name */
void
*
address
;
/* address */
ulint
length
;
/* length of data */
ulint
type
;
/* type, e.g. DATA_FIXBINARY */
ulint
prtype
;
/* precise type, e.g. DATA_UNSIGNED */
};
/* Struct used to denote a reserved word in a parsing tree */
struct
pars_res_word_struct
{
int
code
;
/* the token code for the reserved word from
...
...
include/pars0sym.h
View file @
727354ae
...
...
@@ -54,6 +54,16 @@ sym_tab_add_str_lit(
it */
ulint
len
);
/* in: string length */
/**********************************************************************
Add a bound literal to a symbol table. */
sym_node_t
*
sym_tab_add_bound_lit
(
/*==================*/
/* out: symbol table node */
sym_tab_t
*
sym_tab
,
/* in: symbol table */
const
char
*
name
,
/* in: name of bound literal */
ulint
*
lit_type
);
/* out: type of literal (PARS_*_LIT) */
/**********************************************************************
Adds an SQL null literal to a symbol table. */
sym_node_t
*
...
...
include/pars0types.h
View file @
727354ae
...
...
@@ -11,6 +11,7 @@ Created 1/11/1998 Heikki Tuuri
typedef
struct
pars_info_struct
pars_info_t
;
typedef
struct
pars_user_func_struct
pars_user_func_t
;
typedef
struct
pars_bound_lit_struct
pars_bound_lit_t
;
typedef
struct
sym_node_struct
sym_node_t
;
typedef
struct
sym_tab_struct
sym_tab_t
;
typedef
struct
pars_res_word_struct
pars_res_word_t
;
...
...
pars/lexyy.c
View file @
727354ae
...
...
@@ -356,8 +356,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 11
5
#define YY_END_OF_BUFFER 11
6
#define YY_NUM_RULES 11
6
#define YY_END_OF_BUFFER 11
7
/* This struct is not used in this scanner,
but its presence is necessary. */
struct
yy_trans_info
...
...
@@ -365,51 +365,51 @@ struct yy_trans_info
flex_int32_t
yy_verify
;
flex_int32_t
yy_nxt
;
};
static
yyconst
flex_int16_t
yy_accept
[
39
3
]
=
static
yyconst
flex_int16_t
yy_accept
[
39
4
]
=
{
0
,
0
,
0
,
11
0
,
110
,
0
,
0
,
0
,
0
,
116
,
114
,
11
3
,
113
,
6
,
105
,
3
,
94
,
100
,
103
,
101
,
98
,
10
2
,
114
,
104
,
1
,
114
,
99
,
97
,
95
,
96
,
108
,
8
8
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
106
,
107
,
11
0
,
111
,
4
,
5
,
7
,
8
,
113
,
89
,
109
,
2
,
1
,
90
,
91
,
93
,
92
,
88
,
88
,
88
,
88
,
88
,
8
8
,
43
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
26
,
15
,
23
,
88
,
88
,
88
,
88
,
53
,
60
,
88
,
12
,
88
,
8
8
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
88
,
110
,
111
,
111
,
112
,
4
,
5
,
7
,
8
,
2
,
11
,
44
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
25
,
88
,
88
,
88
,
3
9
,
88
,
88
,
88
,
88
,
19
,
88
,
88
,
13
,
88
,
88
,
8
8
,
16
,
88
,
88
,
88
,
88
,
88
,
79
,
88
,
88
,
8
8
,
50
,
10
,
88
,
34
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
18
,
22
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
45
,
88
,
88
,
28
,
88
,
86
,
88
,
88
,
37
,
88
,
88
,
88
,
88
,
88
,
47
,
88
,
30
,
88
,
9
,
63
,
88
,
88
,
88
,
41
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
27
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
88
,
88
,
84
,
88
,
24
,
88
,
65
,
88
,
88
,
88
,
88
,
35
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
29
,
64
,
21
,
88
,
56
,
88
,
74
,
88
,
8
8
,
88
,
42
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
55
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
38
,
31
,
78
,
17
,
88
,
82
,
73
,
88
,
54
,
88
,
62
,
88
,
51
,
88
,
88
,
88
,
46
,
88
,
75
,
88
,
77
,
88
,
88
,
32
,
88
,
88
,
88
,
33
,
71
,
88
,
88
,
88
,
88
,
57
,
88
,
49
,
48
,
88
,
88
,
8
8
,
52
,
61
,
88
,
88
,
88
,
20
,
88
,
88
,
72
,
80
,
88
,
88
,
76
,
88
,
67
,
88
,
88
,
88
,
88
,
8
8
,
36
,
88
,
87
,
66
,
88
,
83
,
88
,
88
,
88
,
8
5
,
88
,
58
,
88
,
88
,
14
,
88
,
69
,
68
,
88
,
40
,
88
,
81
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
8
8
,
88
,
88
,
70
,
88
,
88
,
88
,
88
,
88
,
88
,
59
,
0
0
,
0
,
11
1
,
111
,
0
,
0
,
0
,
0
,
117
,
115
,
11
4
,
114
,
7
,
106
,
4
,
95
,
101
,
104
,
102
,
99
,
10
3
,
115
,
105
,
1
,
115
,
100
,
98
,
96
,
97
,
109
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
107
,
108
,
11
1
,
112
,
5
,
6
,
8
,
9
,
114
,
90
,
110
,
2
,
1
,
3
,
91
,
92
,
94
,
93
,
89
,
89
,
89
,
89
,
8
9
,
89
,
44
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
27
,
16
,
24
,
89
,
89
,
89
,
89
,
54
,
61
,
89
,
13
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
111
,
112
,
112
,
113
,
5
,
6
,
8
,
9
,
2
,
12
,
45
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
26
,
89
,
89
,
8
9
,
40
,
89
,
89
,
89
,
89
,
20
,
89
,
89
,
14
,
89
,
8
9
,
89
,
17
,
89
,
89
,
89
,
89
,
89
,
80
,
89
,
8
9
,
89
,
51
,
11
,
89
,
35
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
19
,
23
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
46
,
89
,
89
,
29
,
89
,
87
,
89
,
89
,
38
,
89
,
89
,
89
,
89
,
89
,
48
,
89
,
31
,
89
,
10
,
64
,
89
,
89
,
89
,
42
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
28
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
89
,
89
,
85
,
89
,
25
,
89
,
66
,
89
,
89
,
89
,
89
,
36
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
30
,
65
,
22
,
89
,
57
,
89
,
75
,
8
9
,
89
,
89
,
43
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
56
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
39
,
32
,
79
,
18
,
89
,
83
,
74
,
89
,
55
,
89
,
63
,
89
,
52
,
89
,
89
,
89
,
47
,
89
,
76
,
89
,
78
,
89
,
89
,
33
,
89
,
89
,
89
,
34
,
72
,
89
,
89
,
89
,
89
,
58
,
89
,
50
,
49
,
89
,
8
9
,
89
,
53
,
62
,
89
,
89
,
89
,
21
,
89
,
89
,
73
,
81
,
89
,
89
,
77
,
89
,
68
,
89
,
89
,
89
,
8
9
,
89
,
37
,
89
,
88
,
67
,
89
,
84
,
89
,
89
,
8
9
,
86
,
89
,
59
,
89
,
89
,
15
,
89
,
70
,
69
,
89
,
41
,
89
,
82
,
89
,
89
,
89
,
89
,
89
,
89
,
8
9
,
89
,
89
,
89
,
71
,
89
,
89
,
89
,
89
,
89
,
89
,
60
,
0
}
;
...
...
@@ -448,132 +448,135 @@ static yyconst flex_int32_t yy_ec[256] =
static
yyconst
flex_int32_t
yy_meta
[
50
]
=
{
0
,
1
,
1
,
1
,
2
,
1
,
3
,
1
,
1
,
4
,
1
,
1
,
1
,
1
,
1
,
5
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
5
,
1
,
1
,
1
,
6
,
1
,
1
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
1
,
1
}
;
static
yyconst
flex_int16_t
yy_base
[
40
1
]
=
static
yyconst
flex_int16_t
yy_base
[
40
3
]
=
{
0
,
0
,
0
,
4
24
,
423
,
425
,
424
,
425
,
424
,
427
,
43
4
,
48
,
50
,
4
34
,
434
,
434
,
434
,
434
,
434
,
434
,
43
4
,
4
34
,
413
,
416
,
41
,
405
,
434
,
38
,
434
,
404
,
43
4
,
0
,
0
,
4
34
,
433
,
435
,
434
,
435
,
434
,
437
,
44
4
,
48
,
50
,
4
44
,
444
,
444
,
444
,
444
,
444
,
444
,
44
4
,
4
44
,
423
,
426
,
41
,
415
,
444
,
38
,
444
,
414
,
44
4
,
20
,
33
,
32
,
46
,
40
,
44
,
0
,
54
,
52
,
48
,
60
,
383
,
65
,
66
,
74
,
27
,
399
,
69
,
434
,
434
,
0
,
97
,
0
,
414
,
0
,
415
,
111
,
434
,
434
,
403
,
54
,
434
,
434
,
434
,
434
,
0
,
392
,
69
,
388
,
380
,
378
,
0
,
391
,
79
,
82
,
386
,
372
,
94
,
370
,
383
,
368
,
382
,
376
,
364
,
368
,
364
,
366
,
366
,
0
,
82
,
0
,
365
,
363
,
357
,
364
,
0
,
0
,
370
,
370
,
353
,
89
,
98
,
368
,
93
,
95
,
359
,
106
,
351
,
367
,
363
,
341
,
101
,
362
,
353
,
112
,
346
,
0
,
134
,
135
,
434
,
0
,
378
,
0
,
379
,
367
,
0
,
0
,
355
,
350
,
357
,
355
,
338
,
336
,
335
,
340
,
106
,
338
,
350
,
93
,
338
,
344
,
345
,
327
,
327
,
121
,
0
,
325
,
341
,
342
,
0
,
329
,
338
,
335
,
119
,
126
,
332
,
322
,
331
,
324
,
321
,
329
,
0
,
319
,
329
,
327
,
318
,
308
,
302
,
315
,
300
,
320
,
0
,
0
,
305
,
0
,
319
,
310
,
307
,
130
,
303
,
310
,
317
,
296
,
298
,
303
,
303
,
295
,
298
,
293
,
0
,
0
,
305
,
289
,
299
,
306
,
297
,
285
,
284
,
298
,
287
,
300
,
280
,
0
,
290
,
272
,
0
,
291
,
0
,
288
,
275
,
0
,
274
,
269
,
274
,
273
,
283
,
0
,
269
,
0
,
273
,
0
,
0
,
269
,
266
,
280
,
0
,
265
,
265
,
263
,
279
,
264
,
276
,
258
,
276
,
271
,
0
,
266
,
266
,
252
,
251
,
264
,
250
,
264
,
263
,
262
,
0
,
246
,
0
,
240
,
0
,
259
,
243
,
242
,
242
,
0
,
255
,
245
,
240
,
239
,
251
,
241
,
240
,
0
,
0
,
0
,
244
,
0
,
232
,
0
,
246
,
242
,
228
,
0
,
242
,
243
,
226
,
231
,
224
,
242
,
224
,
221
,
222
,
219
,
0
,
224
,
236
,
223
,
230
,
220
,
228
,
213
,
0
,
0
,
0
,
205
,
212
,
0
,
0
,
209
,
0
,
208
,
0
,
222
,
0
,
223
,
210
,
209
,
0
,
205
,
0
,
208
,
0
,
200
,
202
,
0
,
201
,
215
,
208
,
0
,
0
,
211
,
214
,
196
,
211
,
0
,
207
,
0
,
0
,
191
,
205
,
204
,
0
,
0
,
188
,
187
,
192
,
0
,
201
,
186
,
0
,
0
,
192
,
188
,
0
,
183
,
0
,
195
,
195
,
183
,
193
,
182
,
0
,
169
,
0
,
0
,
189
,
0
,
173
,
167
,
173
,
0
,
164
,
0
,
169
,
182
,
0
,
181
,
0
,
0
,
172
,
0
,
176
,
0
,
163
,
163
,
169
,
155
,
178
,
167
,
167
,
149
,
125
,
116
,
0
,
127
,
133
,
124
,
121
,
117
,
109
,
0
,
434
,
165
,
170
,
175
,
145
,
180
,
185
,
190
,
195
60
,
393
,
65
,
66
,
74
,
27
,
409
,
69
,
444
,
444
,
0
,
97
,
0
,
424
,
0
,
425
,
111
,
444
,
444
,
413
,
54
,
408
,
444
,
444
,
444
,
444
,
0
,
401
,
69
,
397
,
389
,
387
,
0
,
400
,
79
,
82
,
395
,
381
,
94
,
379
,
392
,
377
,
391
,
385
,
373
,
377
,
373
,
375
,
375
,
0
,
82
,
0
,
374
,
372
,
366
,
373
,
0
,
0
,
379
,
379
,
362
,
89
,
98
,
377
,
93
,
95
,
368
,
106
,
360
,
376
,
372
,
350
,
101
,
371
,
362
,
112
,
355
,
0
,
134
,
135
,
444
,
0
,
387
,
0
,
388
,
376
,
0
,
0
,
364
,
359
,
366
,
364
,
347
,
345
,
344
,
349
,
106
,
347
,
359
,
93
,
347
,
353
,
354
,
336
,
336
,
121
,
0
,
334
,
350
,
351
,
0
,
338
,
347
,
344
,
119
,
126
,
341
,
331
,
340
,
333
,
330
,
338
,
0
,
328
,
338
,
336
,
327
,
317
,
311
,
324
,
309
,
329
,
0
,
0
,
314
,
0
,
328
,
319
,
316
,
130
,
312
,
319
,
326
,
305
,
307
,
312
,
312
,
304
,
307
,
302
,
0
,
0
,
314
,
298
,
308
,
315
,
306
,
294
,
293
,
307
,
296
,
309
,
289
,
0
,
299
,
281
,
0
,
300
,
0
,
297
,
284
,
0
,
283
,
278
,
283
,
282
,
292
,
0
,
278
,
0
,
282
,
0
,
0
,
278
,
275
,
289
,
0
,
274
,
274
,
272
,
288
,
273
,
285
,
267
,
285
,
280
,
0
,
275
,
275
,
261
,
260
,
273
,
259
,
273
,
272
,
271
,
0
,
255
,
0
,
249
,
0
,
268
,
252
,
251
,
251
,
0
,
264
,
254
,
249
,
248
,
260
,
250
,
249
,
0
,
0
,
0
,
253
,
0
,
241
,
0
,
255
,
251
,
237
,
0
,
251
,
252
,
235
,
240
,
233
,
251
,
233
,
230
,
231
,
228
,
0
,
233
,
245
,
232
,
239
,
229
,
237
,
222
,
0
,
0
,
0
,
214
,
221
,
0
,
0
,
218
,
0
,
217
,
0
,
231
,
0
,
232
,
219
,
218
,
0
,
214
,
0
,
217
,
0
,
209
,
211
,
0
,
210
,
224
,
217
,
0
,
0
,
220
,
223
,
205
,
220
,
0
,
216
,
0
,
0
,
200
,
214
,
213
,
0
,
0
,
197
,
196
,
201
,
0
,
210
,
195
,
0
,
0
,
201
,
197
,
0
,
192
,
0
,
204
,
204
,
192
,
202
,
191
,
0
,
178
,
0
,
0
,
198
,
0
,
182
,
176
,
182
,
0
,
173
,
0
,
178
,
191
,
0
,
190
,
0
,
0
,
181
,
0
,
185
,
0
,
172
,
172
,
178
,
164
,
187
,
175
,
174
,
154
,
125
,
116
,
0
,
127
,
133
,
124
,
121
,
117
,
109
,
0
,
444
,
165
,
171
,
177
,
179
,
145
,
185
,
191
,
197
,
203
}
;
static
yyconst
flex_int16_t
yy_def
[
40
1
]
=
static
yyconst
flex_int16_t
yy_def
[
40
3
]
=
{
0
,
392
,
1
,
393
,
393
,
394
,
394
,
395
,
395
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
392
,
392
,
397
,
398
,
399
,
392
,
400
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
397
,
398
,
398
,
392
,
399
,
392
,
400
,
392
,
392
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
396
,
0
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
393
,
1
,
394
,
394
,
395
,
395
,
396
,
396
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
397
,
393
,
393
,
393
,
393
,
393
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
393
,
393
,
399
,
400
,
401
,
393
,
402
,
393
,
393
,
393
,
393
,
393
,
393
,
397
,
393
,
393
,
393
,
393
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
399
,
400
,
400
,
393
,
401
,
393
,
402
,
393
,
393
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
398
,
0
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
}
;
static
yyconst
flex_int16_t
yy_nxt
[
4
8
4
]
=
static
yyconst
flex_int16_t
yy_nxt
[
4
9
4
]
=
{
0
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
37
,
38
,
37
,
37
,
39
,
37
,
40
,
41
,
42
,
37
,
43
,
44
,
45
,
46
,
47
,
48
,
37
,
37
,
37
,
49
,
50
,
57
,
57
,
57
,
57
,
60
,
67
,
61
,
63
,
64
,
69
,
68
,
73
,
112
,
70
,
113
,
74
,
71
,
60
,
75
,
61
,
84
,
76
,
78
,
81
,
77
,
82
,
79
,
85
,
92
,
72
,
86
,
89
,
80
,
87
,
94
,
83
,
88
,
96
,
93
,
90
,
95
,
102
,
105
,
127
,
91
,
97
,
109
,
98
,
115
,
99
,
103
,
104
,
100
,
110
,
106
,
116
,
119
,
153
,
107
,
128
,
111
,
120
,
108
,
57
,
57
,
133
,
135
,
136
,
140
,
163
,
165
,
134
,
154
,
155
,
137
,
164
,
169
,
141
,
171
,
174
,
195
,
180
,
199
,
200
,
142
,
166
,
172
,
170
,
184
,
167
,
175
,
181
,
185
,
392
,
119
,
214
,
196
,
206
,
392
,
120
,
66
,
207
,
216
,
237
,
238
,
391
,
390
,
389
,
388
,
387
,
215
,
386
,
217
,
385
,
384
,
239
,
51
,
51
,
51
,
51
,
51
,
53
,
53
,
53
,
53
,
53
,
55
,
55
,
55
,
55
,
55
,
117
,
117
,
117
,
383
,
117
,
118
,
118
,
118
,
118
,
118
,
121
,
121
,
382
,
121
,
121
,
123
,
381
,
123
,
123
,
123
,
57
,
57
,
57
,
60
,
68
,
61
,
64
,
65
,
70
,
69
,
74
,
113
,
71
,
114
,
75
,
72
,
60
,
76
,
61
,
85
,
77
,
79
,
82
,
78
,
83
,
80
,
86
,
93
,
73
,
87
,
90
,
81
,
88
,
95
,
84
,
89
,
97
,
94
,
91
,
96
,
103
,
106
,
128
,
92
,
98
,
110
,
99
,
116
,
100
,
104
,
105
,
101
,
111
,
107
,
117
,
120
,
154
,
108
,
129
,
112
,
121
,
109
,
57
,
57
,
134
,
136
,
137
,
141
,
164
,
166
,
135
,
155
,
156
,
138
,
165
,
170
,
142
,
172
,
175
,
196
,
181
,
200
,
201
,
143
,
167
,
173
,
171
,
185
,
168
,
176
,
182
,
186
,
393
,
120
,
215
,
197
,
207
,
393
,
121
,
67
,
208
,
217
,
238
,
239
,
392
,
391
,
390
,
389
,
388
,
216
,
387
,
218
,
386
,
385
,
240
,
51
,
51
,
51
,
51
,
51
,
51
,
53
,
53
,
53
,
53
,
53
,
53
,
55
,
55
,
55
,
55
,
55
,
55
,
62
,
62
,
118
,
118
,
118
,
384
,
118
,
118
,
119
,
119
,
119
,
119
,
119
,
119
,
122
,
122
,
383
,
122
,
122
,
122
,
124
,
382
,
124
,
124
,
124
,
124
,
381
,
380
,
379
,
378
,
377
,
376
,
375
,
374
,
373
,
372
,
371
,
370
,
369
,
368
,
367
,
366
,
365
,
364
,
363
,
362
,
361
,
360
,
359
,
358
,
357
,
356
,
355
,
354
,
353
,
352
,
351
,
...
...
@@ -583,31 +586,32 @@ static yyconst flex_int16_t yy_nxt[484] =
320
,
319
,
318
,
317
,
316
,
315
,
314
,
313
,
312
,
311
,
310
,
309
,
308
,
307
,
306
,
305
,
304
,
303
,
302
,
301
,
300
,
299
,
298
,
297
,
296
,
295
,
294
,
293
,
292
,
291
,
290
,
289
,
288
,
287
,
286
,
285
,
284
,
283
,
282
,
281
,
290
,
289
,
288
,
287
,
286
,
285
,
284
,
283
,
282
,
281
,
280
,
279
,
278
,
277
,
276
,
275
,
274
,
273
,
272
,
271
,
270
,
269
,
268
,
267
,
266
,
265
,
264
,
263
,
262
,
261
,
260
,
259
,
258
,
257
,
256
,
255
,
254
,
253
,
252
,
251
,
250
,
249
,
248
,
247
,
246
,
245
,
244
,
243
,
242
,
241
,
240
,
236
,
235
,
234
,
233
,
232
,
231
,
230
,
229
,
228
,
227
,
226
,
225
,
224
,
223
,
222
,
221
,
220
,
219
,
218
,
213
,
212
,
211
,
210
,
209
,
208
,
205
,
204
,
203
,
202
,
201
,
198
,
197
,
194
,
193
,
192
,
191
,
190
,
189
,
188
,
187
,
125
,
124
,
122
,
186
,
183
,
182
,
179
,
178
,
177
,
176
,
173
,
168
,
162
,
161
,
160
,
159
,
158
,
157
,
156
,
152
,
151
,
150
,
149
,
148
,
147
,
146
,
145
,
144
,
143
,
139
,
138
,
132
,
131
,
130
,
129
,
126
,
125
,
124
,
122
,
114
,
101
,
65
,
62
,
59
,
58
,
392
,
56
,
56
,
54
,
54
,
52
,
52
,
9
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
237
,
236
,
235
,
234
,
233
,
232
,
231
,
230
,
229
,
228
,
227
,
226
,
225
,
224
,
223
,
222
,
221
,
220
,
219
,
214
,
213
,
212
,
211
,
210
,
209
,
206
,
205
,
204
,
203
,
202
,
199
,
198
,
195
,
194
,
193
,
192
,
191
,
190
,
189
,
188
,
126
,
125
,
123
,
187
,
184
,
183
,
180
,
179
,
178
,
177
,
174
,
169
,
163
,
162
,
161
,
160
,
159
,
158
,
157
,
153
,
152
,
151
,
150
,
149
,
148
,
147
,
146
,
145
,
144
,
140
,
139
,
133
,
132
,
131
,
130
,
127
,
393
,
126
,
125
,
123
,
115
,
102
,
66
,
63
,
59
,
58
,
393
,
56
,
56
,
54
,
54
,
52
,
52
,
9
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
}
;
static
yyconst
flex_int16_t
yy_chk
[
4
8
4
]
=
static
yyconst
flex_int16_t
yy_chk
[
4
9
4
]
=
{
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
...
...
@@ -618,50 +622,52 @@ static yyconst flex_int16_t yy_chk[484] =
33
,
46
,
32
,
46
,
33
,
32
,
61
,
33
,
61
,
36
,
33
,
34
,
35
,
33
,
35
,
34
,
36
,
39
,
32
,
36
,
38
,
34
,
36
,
40
,
35
,
36
,
41
,
39
,
38
,
40
,
43
,
44
,
68
,
38
,
41
,
45
,
41
,
48
,
41
,
43
,
43
,
41
,
45
,
44
,
48
,
52
,
90
,
44
,
68
,
45
,
52
,
44
,
57
,
57
,
74
,
75
,
75
,
78
,
101
,
102
,
74
,
90
,
90
,
75
,
101
,
104
,
78
,
105
,
107
,
136
,
112
,
139
,
139
,
78
,
102
,
105
,
104
,
115
,
102
,
107
,
112
,
115
,
118
,
119
,
154
,
136
,
145
,
118
,
119
,
396
,
145
,
155
,
179
,
179
,
390
,
389
,
388
,
387
,
386
,
154
,
385
,
155
,
383
,
382
,
179
,
393
,
393
,
393
,
393
,
393
,
394
,
394
,
394
,
394
,
394
,
395
,
395
,
395
,
395
,
395
,
397
,
397
,
397
,
381
,
397
,
398
,
398
,
398
,
398
,
398
,
399
,
399
,
380
,
399
,
399
,
400
,
379
,
400
,
400
,
400
,
378
,
377
,
376
,
375
,
374
,
372
,
370
,
367
,
365
,
364
,
362
,
360
,
359
,
358
,
356
,
353
,
351
,
350
,
349
,
348
,
347
,
345
,
343
,
342
,
339
,
338
,
336
,
335
,
334
,
331
,
330
,
329
,
326
,
324
,
323
,
322
,
321
,
318
,
317
,
316
,
314
,
313
,
311
,
309
,
307
,
306
,
305
,
303
,
301
,
299
,
296
,
295
,
291
,
290
,
289
,
288
,
287
,
286
,
285
,
283
,
282
,
281
,
280
,
279
,
278
,
277
,
276
,
275
,
274
,
272
,
271
,
270
,
268
,
266
,
262
,
261
,
260
,
259
,
258
,
257
,
256
,
254
,
253
,
252
,
251
,
249
,
247
,
245
,
244
,
243
,
242
,
241
,
240
,
239
,
238
,
237
,
235
,
234
,
233
,
232
,
231
,
230
,
229
,
228
,
227
,
225
,
224
,
223
,
220
,
218
,
216
,
215
,
214
,
213
,
212
,
210
,
209
,
207
,
205
,
204
,
43
,
44
,
69
,
38
,
41
,
45
,
41
,
48
,
41
,
43
,
43
,
41
,
45
,
44
,
48
,
52
,
91
,
44
,
69
,
45
,
52
,
44
,
57
,
57
,
75
,
76
,
76
,
79
,
102
,
103
,
75
,
91
,
91
,
76
,
102
,
105
,
79
,
106
,
108
,
137
,
113
,
140
,
140
,
79
,
103
,
106
,
105
,
116
,
103
,
108
,
113
,
116
,
119
,
120
,
155
,
137
,
146
,
119
,
120
,
398
,
146
,
156
,
180
,
180
,
391
,
390
,
389
,
388
,
387
,
155
,
386
,
156
,
384
,
383
,
180
,
394
,
394
,
394
,
394
,
394
,
394
,
395
,
395
,
395
,
395
,
395
,
395
,
396
,
396
,
396
,
396
,
396
,
396
,
397
,
397
,
399
,
399
,
399
,
382
,
399
,
399
,
400
,
400
,
400
,
400
,
400
,
400
,
401
,
401
,
381
,
401
,
401
,
401
,
402
,
380
,
402
,
402
,
402
,
402
,
379
,
378
,
377
,
376
,
375
,
373
,
371
,
368
,
366
,
365
,
363
,
361
,
360
,
359
,
357
,
354
,
352
,
351
,
350
,
349
,
348
,
346
,
344
,
343
,
340
,
339
,
337
,
336
,
335
,
332
,
331
,
330
,
327
,
325
,
324
,
323
,
322
,
319
,
318
,
317
,
315
,
314
,
312
,
310
,
308
,
307
,
306
,
304
,
302
,
300
,
297
,
296
,
292
,
291
,
290
,
289
,
288
,
287
,
286
,
284
,
283
,
282
,
281
,
280
,
279
,
278
,
277
,
276
,
275
,
273
,
272
,
271
,
269
,
267
,
263
,
262
,
261
,
260
,
259
,
258
,
257
,
255
,
254
,
253
,
252
,
250
,
248
,
246
,
245
,
244
,
243
,
242
,
241
,
240
,
239
,
238
,
236
,
235
,
234
,
233
,
232
,
231
,
230
,
229
,
228
,
226
,
225
,
224
,
221
,
219
,
217
,
216
,
215
,
214
,
213
,
211
,
210
,
208
,
206
,
205
,
203
,
202
,
201
,
200
,
199
,
198
,
197
,
196
,
195
,
194
,
193
,
19
2
,
189
,
188
,
187
,
186
,
185
,
184
,
183
,
182
,
181
,
1
80
,
178
,
177
,
176
,
174
,
171
,
170
,
169
,
168
,
167
,
166
,
165
,
164
,
16
3
,
161
,
160
,
159
,
158
,
157
,
156
,
153
,
152
,
15
1
,
149
,
148
,
147
,
144
,
143
,
142
,
141
,
1
40
,
138
,
137
,
135
,
134
,
133
,
132
,
131
,
130
,
129
,
12
8
,
125
,
124
,
122
,
116
,
114
,
113
,
111
,
110
,
109
,
108
,
106
,
103
,
100
,
99
,
98
,
95
,
94
,
93
,
92
,
88
,
87
,
86
,
85
,
84
,
83
,
82
,
81
,
80
,
7
9
,
77
,
7
6
,
73
,
71
,
70
,
69
,
67
,
60
,
56
,
54
,
19
0
,
189
,
188
,
187
,
186
,
185
,
184
,
183
,
182
,
181
,
1
79
,
178
,
177
,
175
,
172
,
171
,
170
,
169
,
168
,
167
,
166
,
165
,
164
,
16
2
,
161
,
160
,
159
,
158
,
157
,
154
,
153
,
152
,
15
0
,
149
,
148
,
145
,
144
,
143
,
142
,
141
,
1
39
,
138
,
136
,
135
,
134
,
133
,
132
,
131
,
130
,
129
,
12
6
,
125
,
123
,
117
,
115
,
114
,
112
,
111
,
110
,
109
,
107
,
104
,
101
,
100
,
99
,
96
,
95
,
94
,
93
,
89
,
88
,
87
,
86
,
85
,
84
,
83
,
82
,
81
,
80
,
7
8
,
77
,
7
4
,
72
,
71
,
70
,
68
,
62
,
60
,
56
,
54
,
47
,
42
,
29
,
25
,
23
,
22
,
9
,
8
,
7
,
6
,
5
,
4
,
3
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
,
392
5
,
4
,
3
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
,
393
}
;
static
yy_state_type
yy_last_accepting_state
;
...
...
@@ -750,7 +756,7 @@ string_append(
#line 75
3
"_flex_tmp.c"
#line 75
9
"_flex_tmp.c"
#define INITIAL 0
#define comment 1
...
...
@@ -902,10 +908,10 @@ YY_DECL
register
char
*
yy_cp
,
*
yy_bp
;
register
int
yy_act
;
#line
89
"pars0lex.l"
#line
91
"pars0lex.l"
#line 9
08
"_flex_tmp.c"
#line 9
14
"_flex_tmp.c"
if
(
(
yy_init
)
)
{
...
...
@@ -958,13 +964,13 @@ YY_DECL
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
{
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
if
(
yy_current_state
>=
39
3
)
if
(
yy_current_state
>=
39
4
)
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
}
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
++
yy_cp
;
}
while
(
yy_current_state
!=
39
2
);
while
(
yy_current_state
!=
39
3
);
yy_cp
=
(
yy_last_accepting_cpos
);
yy_current_state
=
(
yy_last_accepting_state
);
...
...
@@ -986,7 +992,7 @@ YY_DECL
case
1
:
YY_RULE_SETUP
#line 9
1
"pars0lex.l"
#line 9
3
"pars0lex.l"
{
yylval
=
sym_tab_add_int_lit
(
pars_sym_tab_global
,
atoi
(
yytext
));
...
...
@@ -995,7 +1001,7 @@ YY_RULE_SETUP
YY_BREAK
case
2
:
YY_RULE_SETUP
#line 9
7
"pars0lex.l"
#line 9
9
"pars0lex.l"
{
ut_error
;
/* not implemented */
...
...
@@ -1004,7 +1010,19 @@ YY_RULE_SETUP
YY_BREAK
case
3
:
YY_RULE_SETUP
#line 103 "pars0lex.l"
#line 105 "pars0lex.l"
{
ulint
type
;
yylval
=
sym_tab_add_bound_lit
(
pars_sym_tab_global
,
yytext
+
1
,
&
type
);
return
(
type
);
}
YY_BREAK
case
4
:
YY_RULE_SETUP
#line 114 "pars0lex.l"
{
/* Quoted character string literals are handled in an explicit
start state 'quoted'. This state is entered and the buffer for
...
...
@@ -1015,19 +1033,19 @@ In the state 'quoted', only two actions are possible (defined below). */
stringbuf_len
=
0
;
}
YY_BREAK
case
4
:
/* rule
4
can match eol */
case
5
:
/* rule
5
can match eol */
YY_RULE_SETUP
#line 1
12
"pars0lex.l"
#line 1
23
"pars0lex.l"
{
/* Got a sequence of characters other than "'":
append to string buffer */
string_append
(
yytext
,
yyleng
);
}
YY_BREAK
case
5
:
case
6
:
YY_RULE_SETUP
#line 1
17
"pars0lex.l"
#line 1
28
"pars0lex.l"
{
/* Got a sequence of "'" characters:
append half of them to string buffer,
...
...
@@ -1052,9 +1070,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
case
6
:
case
7
:
YY_RULE_SETUP
#line 1
41
"pars0lex.l"
#line 1
52
"pars0lex.l"
{
/* Quoted identifiers are handled in an explicit start state 'id'.
This state is entered and the buffer for the scanned string is emptied
...
...
@@ -1065,19 +1083,19 @@ In the state 'id', only two actions are possible (defined below). */
stringbuf_len
=
0
;
}
YY_BREAK
case
7
:
/* rule
7
can match eol */
case
8
:
/* rule
8
can match eol */
YY_RULE_SETUP
#line 1
50
"pars0lex.l"
#line 1
61
"pars0lex.l"
{
/* Got a sequence of characters other than '"':
append to string buffer */
string_append
(
yytext
,
yyleng
);
}
YY_BREAK
case
8
:
case
9
:
YY_RULE_SETUP
#line 1
55
"pars0lex.l"
#line 1
66
"pars0lex.l"
{
/* Got a sequence of '"' characters:
append half of them to string buffer,
...
...
@@ -1103,18 +1121,18 @@ YY_RULE_SETUP
}
}
YY_BREAK
case
9
:
case
10
:
YY_RULE_SETUP
#line 1
80
"pars0lex.l"
#line 1
91
"pars0lex.l"
{
yylval
=
sym_tab_add_null_lit
(
pars_sym_tab_global
);
return
(
PARS_NULL_LIT
);
}
YY_BREAK
case
1
0
:
case
1
1
:
YY_RULE_SETUP
#line 1
86
"pars0lex.l"
#line 1
97
"pars0lex.l"
{
/* Implicit cursor name */
yylval
=
sym_tab_add_str_lit
(
pars_sym_tab_global
,
...
...
@@ -1122,548 +1140,548 @@ YY_RULE_SETUP
return
(
PARS_SQL_TOKEN
);
}
YY_BREAK
case
1
1
:
case
1
2
:
YY_RULE_SETUP
#line
193
"pars0lex.l"
#line
204
"pars0lex.l"
{
return
(
PARS_AND_TOKEN
);
}
YY_BREAK
case
1
2
:
case
1
3
:
YY_RULE_SETUP
#line
197
"pars0lex.l"
#line
208
"pars0lex.l"
{
return
(
PARS_OR_TOKEN
);
}
YY_BREAK
case
1
3
:
case
1
4
:
YY_RULE_SETUP
#line 2
01
"pars0lex.l"
#line 2
12
"pars0lex.l"
{
return
(
PARS_NOT_TOKEN
);
}
YY_BREAK
case
1
4
:
case
1
5
:
YY_RULE_SETUP
#line 2
05
"pars0lex.l"
#line 2
16
"pars0lex.l"
{
return
(
PARS_PROCEDURE_TOKEN
);
}
YY_BREAK
case
1
5
:
case
1
6
:
YY_RULE_SETUP
#line 2
09
"pars0lex.l"
#line 2
20
"pars0lex.l"
{
return
(
PARS_IN_TOKEN
);
}
YY_BREAK
case
1
6
:
case
1
7
:
YY_RULE_SETUP
#line 2
13
"pars0lex.l"
#line 2
24
"pars0lex.l"
{
return
(
PARS_OUT_TOKEN
);
}
YY_BREAK
case
1
7
:
case
1
8
:
YY_RULE_SETUP
#line 2
17
"pars0lex.l"
#line 2
28
"pars0lex.l"
{
return
(
PARS_BINARY_TOKEN
);
}
YY_BREAK
case
1
8
:
case
1
9
:
YY_RULE_SETUP
#line 2
21
"pars0lex.l"
#line 2
32
"pars0lex.l"
{
return
(
PARS_BLOB_TOKEN
);
}
YY_BREAK
case
19
:
case
20
:
YY_RULE_SETUP
#line 2
25
"pars0lex.l"
#line 2
36
"pars0lex.l"
{
return
(
PARS_INT_TOKEN
);
}
YY_BREAK
case
2
0
:
case
2
1
:
YY_RULE_SETUP
#line 2
29
"pars0lex.l"
#line 2
40
"pars0lex.l"
{
return
(
PARS_INT_TOKEN
);
}
YY_BREAK
case
2
1
:
case
2
2
:
YY_RULE_SETUP
#line 2
33
"pars0lex.l"
#line 2
44
"pars0lex.l"
{
return
(
PARS_FLOAT_TOKEN
);
}
YY_BREAK
case
2
2
:
case
2
3
:
YY_RULE_SETUP
#line 2
37
"pars0lex.l"
#line 2
48
"pars0lex.l"
{
return
(
PARS_CHAR_TOKEN
);
}
YY_BREAK
case
2
3
:
case
2
4
:
YY_RULE_SETUP
#line 2
41
"pars0lex.l"
#line 2
52
"pars0lex.l"
{
return
(
PARS_IS_TOKEN
);
}
YY_BREAK
case
2
4
:
case
2
5
:
YY_RULE_SETUP
#line 2
45
"pars0lex.l"
#line 2
56
"pars0lex.l"
{
return
(
PARS_BEGIN_TOKEN
);
}
YY_BREAK
case
2
5
:
case
2
6
:
YY_RULE_SETUP
#line 2
49
"pars0lex.l"
#line 2
60
"pars0lex.l"
{
return
(
PARS_END_TOKEN
);
}
YY_BREAK
case
2
6
:
case
2
7
:
YY_RULE_SETUP
#line 2
53
"pars0lex.l"
#line 2
64
"pars0lex.l"
{
return
(
PARS_IF_TOKEN
);
}
YY_BREAK
case
2
7
:
case
2
8
:
YY_RULE_SETUP
#line 2
57
"pars0lex.l"
#line 2
68
"pars0lex.l"
{
return
(
PARS_THEN_TOKEN
);
}
YY_BREAK
case
2
8
:
case
2
9
:
YY_RULE_SETUP
#line 2
61
"pars0lex.l"
#line 2
72
"pars0lex.l"
{
return
(
PARS_ELSE_TOKEN
);
}
YY_BREAK
case
29
:
case
30
:
YY_RULE_SETUP
#line 2
65
"pars0lex.l"
#line 2
76
"pars0lex.l"
{
return
(
PARS_ELSIF_TOKEN
);
}
YY_BREAK
case
3
0
:
case
3
1
:
YY_RULE_SETUP
#line 2
69
"pars0lex.l"
#line 2
80
"pars0lex.l"
{
return
(
PARS_LOOP_TOKEN
);
}
YY_BREAK
case
3
1
:
case
3
2
:
YY_RULE_SETUP
#line 2
73
"pars0lex.l"
#line 2
84
"pars0lex.l"
{
return
(
PARS_WHILE_TOKEN
);
}
YY_BREAK
case
3
2
:
case
3
3
:
YY_RULE_SETUP
#line 2
77
"pars0lex.l"
#line 2
88
"pars0lex.l"
{
return
(
PARS_RETURN_TOKEN
);
}
YY_BREAK
case
3
3
:
case
3
4
:
YY_RULE_SETUP
#line 2
81
"pars0lex.l"
#line 2
92
"pars0lex.l"
{
return
(
PARS_SELECT_TOKEN
);
}
YY_BREAK
case
3
4
:
case
3
5
:
YY_RULE_SETUP
#line 2
85
"pars0lex.l"
#line 2
96
"pars0lex.l"
{
return
(
PARS_SUM_TOKEN
);
}
YY_BREAK
case
3
5
:
case
3
6
:
YY_RULE_SETUP
#line
289
"pars0lex.l"
#line
300
"pars0lex.l"
{
return
(
PARS_COUNT_TOKEN
);
}
YY_BREAK
case
3
6
:
case
3
7
:
YY_RULE_SETUP
#line
293
"pars0lex.l"
#line
304
"pars0lex.l"
{
return
(
PARS_DISTINCT_TOKEN
);
}
YY_BREAK
case
3
7
:
case
3
8
:
YY_RULE_SETUP
#line
297
"pars0lex.l"
#line
308
"pars0lex.l"
{
return
(
PARS_FROM_TOKEN
);
}
YY_BREAK
case
3
8
:
case
3
9
:
YY_RULE_SETUP
#line 3
01
"pars0lex.l"
#line 3
12
"pars0lex.l"
{
return
(
PARS_WHERE_TOKEN
);
}
YY_BREAK
case
39
:
case
40
:
YY_RULE_SETUP
#line 3
05
"pars0lex.l"
#line 3
16
"pars0lex.l"
{
return
(
PARS_FOR_TOKEN
);
}
YY_BREAK
case
4
0
:
case
4
1
:
YY_RULE_SETUP
#line 3
09
"pars0lex.l"
#line 3
20
"pars0lex.l"
{
return
(
PARS_CONSISTENT_TOKEN
);
}
YY_BREAK
case
4
1
:
case
4
2
:
YY_RULE_SETUP
#line 3
13
"pars0lex.l"
#line 3
24
"pars0lex.l"
{
return
(
PARS_READ_TOKEN
);
}
YY_BREAK
case
4
2
:
case
4
3
:
YY_RULE_SETUP
#line 3
17
"pars0lex.l"
#line 3
28
"pars0lex.l"
{
return
(
PARS_ORDER_TOKEN
);
}
YY_BREAK
case
4
3
:
case
4
4
:
YY_RULE_SETUP
#line 3
21
"pars0lex.l"
#line 3
32
"pars0lex.l"
{
return
(
PARS_BY_TOKEN
);
}
YY_BREAK
case
4
4
:
case
4
5
:
YY_RULE_SETUP
#line 3
25
"pars0lex.l"
#line 3
36
"pars0lex.l"
{
return
(
PARS_ASC_TOKEN
);
}
YY_BREAK
case
4
5
:
case
4
6
:
YY_RULE_SETUP
#line 3
29
"pars0lex.l"
#line 3
40
"pars0lex.l"
{
return
(
PARS_DESC_TOKEN
);
}
YY_BREAK
case
4
6
:
case
4
7
:
YY_RULE_SETUP
#line 3
33
"pars0lex.l"
#line 3
44
"pars0lex.l"
{
return
(
PARS_INSERT_TOKEN
);
}
YY_BREAK
case
4
7
:
case
4
8
:
YY_RULE_SETUP
#line 3
37
"pars0lex.l"
#line 3
48
"pars0lex.l"
{
return
(
PARS_INTO_TOKEN
);
}
YY_BREAK
case
4
8
:
case
4
9
:
YY_RULE_SETUP
#line 3
41
"pars0lex.l"
#line 3
52
"pars0lex.l"
{
return
(
PARS_VALUES_TOKEN
);
}
YY_BREAK
case
49
:
case
50
:
YY_RULE_SETUP
#line 3
45
"pars0lex.l"
#line 3
56
"pars0lex.l"
{
return
(
PARS_UPDATE_TOKEN
);
}
YY_BREAK
case
5
0
:
case
5
1
:
YY_RULE_SETUP
#line 3
49
"pars0lex.l"
#line 3
60
"pars0lex.l"
{
return
(
PARS_SET_TOKEN
);
}
YY_BREAK
case
5
1
:
case
5
2
:
YY_RULE_SETUP
#line 3
53
"pars0lex.l"
#line 3
64
"pars0lex.l"
{
return
(
PARS_DELETE_TOKEN
);
}
YY_BREAK
case
5
2
:
case
5
3
:
YY_RULE_SETUP
#line 3
57
"pars0lex.l"
#line 3
68
"pars0lex.l"
{
return
(
PARS_CURRENT_TOKEN
);
}
YY_BREAK
case
5
3
:
case
5
4
:
YY_RULE_SETUP
#line 3
61
"pars0lex.l"
#line 3
72
"pars0lex.l"
{
return
(
PARS_OF_TOKEN
);
}
YY_BREAK
case
5
4
:
case
5
5
:
YY_RULE_SETUP
#line 3
65
"pars0lex.l"
#line 3
76
"pars0lex.l"
{
return
(
PARS_CREATE_TOKEN
);
}
YY_BREAK
case
5
5
:
case
5
6
:
YY_RULE_SETUP
#line 3
69
"pars0lex.l"
#line 3
80
"pars0lex.l"
{
return
(
PARS_TABLE_TOKEN
);
}
YY_BREAK
case
5
6
:
case
5
7
:
YY_RULE_SETUP
#line 3
73
"pars0lex.l"
#line 3
84
"pars0lex.l"
{
return
(
PARS_INDEX_TOKEN
);
}
YY_BREAK
case
5
7
:
case
5
8
:
YY_RULE_SETUP
#line 3
77
"pars0lex.l"
#line 3
88
"pars0lex.l"
{
return
(
PARS_UNIQUE_TOKEN
);
}
YY_BREAK
case
5
8
:
case
5
9
:
YY_RULE_SETUP
#line 3
81
"pars0lex.l"
#line 3
92
"pars0lex.l"
{
return
(
PARS_CLUSTERED_TOKEN
);
}
YY_BREAK
case
59
:
case
60
:
YY_RULE_SETUP
#line 3
85
"pars0lex.l"
#line 3
96
"pars0lex.l"
{
return
(
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
);
}
YY_BREAK
case
6
0
:
case
6
1
:
YY_RULE_SETUP
#line
389
"pars0lex.l"
#line
400
"pars0lex.l"
{
return
(
PARS_ON_TOKEN
);
}
YY_BREAK
case
6
1
:
case
6
2
:
YY_RULE_SETUP
#line
393
"pars0lex.l"
#line
404
"pars0lex.l"
{
return
(
PARS_DECLARE_TOKEN
);
}
YY_BREAK
case
6
2
:
case
6
3
:
YY_RULE_SETUP
#line
397
"pars0lex.l"
#line
408
"pars0lex.l"
{
return
(
PARS_CURSOR_TOKEN
);
}
YY_BREAK
case
6
3
:
case
6
4
:
YY_RULE_SETUP
#line 4
01
"pars0lex.l"
#line 4
12
"pars0lex.l"
{
return
(
PARS_OPEN_TOKEN
);
}
YY_BREAK
case
6
4
:
case
6
5
:
YY_RULE_SETUP
#line 4
05
"pars0lex.l"
#line 4
16
"pars0lex.l"
{
return
(
PARS_FETCH_TOKEN
);
}
YY_BREAK
case
6
5
:
case
6
6
:
YY_RULE_SETUP
#line 4
09
"pars0lex.l"
#line 4
20
"pars0lex.l"
{
return
(
PARS_CLOSE_TOKEN
);
}
YY_BREAK
case
6
6
:
case
6
7
:
YY_RULE_SETUP
#line 4
13
"pars0lex.l"
#line 4
24
"pars0lex.l"
{
return
(
PARS_NOTFOUND_TOKEN
);
}
YY_BREAK
case
6
7
:
case
6
8
:
YY_RULE_SETUP
#line 4
17
"pars0lex.l"
#line 4
28
"pars0lex.l"
{
return
(
PARS_TO_CHAR_TOKEN
);
}
YY_BREAK
case
6
8
:
case
6
9
:
YY_RULE_SETUP
#line 4
21
"pars0lex.l"
#line 4
32
"pars0lex.l"
{
return
(
PARS_TO_NUMBER_TOKEN
);
}
YY_BREAK
case
69
:
case
70
:
YY_RULE_SETUP
#line 4
25
"pars0lex.l"
#line 4
36
"pars0lex.l"
{
return
(
PARS_TO_BINARY_TOKEN
);
}
YY_BREAK
case
7
0
:
case
7
1
:
YY_RULE_SETUP
#line 4
29
"pars0lex.l"
#line 4
40
"pars0lex.l"
{
return
(
PARS_BINARY_TO_NUMBER_TOKEN
);
}
YY_BREAK
case
7
1
:
case
7
2
:
YY_RULE_SETUP
#line 4
33
"pars0lex.l"
#line 4
44
"pars0lex.l"
{
return
(
PARS_SUBSTR_TOKEN
);
}
YY_BREAK
case
7
2
:
case
7
3
:
YY_RULE_SETUP
#line 4
37
"pars0lex.l"
#line 4
48
"pars0lex.l"
{
return
(
PARS_REPLSTR_TOKEN
);
}
YY_BREAK
case
7
3
:
case
7
4
:
YY_RULE_SETUP
#line 4
41
"pars0lex.l"
#line 4
52
"pars0lex.l"
{
return
(
PARS_CONCAT_TOKEN
);
}
YY_BREAK
case
7
4
:
case
7
5
:
YY_RULE_SETUP
#line 4
45
"pars0lex.l"
#line 4
56
"pars0lex.l"
{
return
(
PARS_INSTR_TOKEN
);
}
YY_BREAK
case
7
5
:
case
7
6
:
YY_RULE_SETUP
#line 4
49
"pars0lex.l"
#line 4
60
"pars0lex.l"
{
return
(
PARS_LENGTH_TOKEN
);
}
YY_BREAK
case
7
6
:
case
7
7
:
YY_RULE_SETUP
#line 4
53
"pars0lex.l"
#line 4
64
"pars0lex.l"
{
return
(
PARS_SYSDATE_TOKEN
);
}
YY_BREAK
case
7
7
:
case
7
8
:
YY_RULE_SETUP
#line 4
57
"pars0lex.l"
#line 4
68
"pars0lex.l"
{
return
(
PARS_PRINTF_TOKEN
);
}
YY_BREAK
case
7
8
:
case
7
9
:
YY_RULE_SETUP
#line 4
61
"pars0lex.l"
#line 4
72
"pars0lex.l"
{
return
(
PARS_ASSERT_TOKEN
);
}
YY_BREAK
case
79
:
case
80
:
YY_RULE_SETUP
#line 4
65
"pars0lex.l"
#line 4
76
"pars0lex.l"
{
return
(
PARS_RND_TOKEN
);
}
YY_BREAK
case
8
0
:
case
8
1
:
YY_RULE_SETUP
#line 4
69
"pars0lex.l"
#line 4
80
"pars0lex.l"
{
return
(
PARS_RND_STR_TOKEN
);
}
YY_BREAK
case
8
1
:
case
8
2
:
YY_RULE_SETUP
#line 4
73
"pars0lex.l"
#line 4
84
"pars0lex.l"
{
return
(
PARS_ROW_PRINTF_TOKEN
);
}
YY_BREAK
case
8
2
:
case
8
3
:
YY_RULE_SETUP
#line 4
77
"pars0lex.l"
#line 4
88
"pars0lex.l"
{
return
(
PARS_COMMIT_TOKEN
);
}
YY_BREAK
case
8
3
:
case
8
4
:
YY_RULE_SETUP
#line 4
81
"pars0lex.l"
#line 4
92
"pars0lex.l"
{
return
(
PARS_ROLLBACK_TOKEN
);
}
YY_BREAK
case
8
4
:
case
8
5
:
YY_RULE_SETUP
#line 4
85
"pars0lex.l"
#line 4
96
"pars0lex.l"
{
return
(
PARS_WORK_TOKEN
);
}
YY_BREAK
case
8
5
:
case
8
6
:
YY_RULE_SETUP
#line
489
"pars0lex.l"
#line
500
"pars0lex.l"
{
return
(
PARS_UNSIGNED_TOKEN
);
}
YY_BREAK
case
8
6
:
case
8
7
:
YY_RULE_SETUP
#line
493
"pars0lex.l"
#line
504
"pars0lex.l"
{
return
(
PARS_EXIT_TOKEN
);
}
YY_BREAK
case
8
7
:
case
8
8
:
YY_RULE_SETUP
#line
497
"pars0lex.l"
#line
508
"pars0lex.l"
{
return
(
PARS_FUNCTION_TOKEN
);
}
YY_BREAK
case
8
8
:
case
8
9
:
YY_RULE_SETUP
#line 5
01
"pars0lex.l"
#line 5
12
"pars0lex.l"
{
yylval
=
sym_tab_add_id
(
pars_sym_tab_global
,
(
byte
*
)
yytext
,
...
...
@@ -1671,52 +1689,44 @@ YY_RULE_SETUP
return
(
PARS_ID_TOKEN
);
}
YY_BREAK
case
89
:
YY_RULE_SETUP
#line 508 "pars0lex.l"
{
return
(
PARS_DDOT_TOKEN
);
}
YY_BREAK
case
90
:
YY_RULE_SETUP
#line 51
2
"pars0lex.l"
#line 51
9
"pars0lex.l"
{
return
(
PARS_
ASSIGN
_TOKEN
);
return
(
PARS_
DDOT
_TOKEN
);
}
YY_BREAK
case
91
:
YY_RULE_SETUP
#line 5
16
"pars0lex.l"
#line 5
23
"pars0lex.l"
{
return
(
PARS_
LE
_TOKEN
);
return
(
PARS_
ASSIGN
_TOKEN
);
}
YY_BREAK
case
92
:
YY_RULE_SETUP
#line 52
0
"pars0lex.l"
#line 52
7
"pars0lex.l"
{
return
(
PARS_
G
E_TOKEN
);
return
(
PARS_
L
E_TOKEN
);
}
YY_BREAK
case
93
:
YY_RULE_SETUP
#line 5
24
"pars0lex.l"
#line 5
31
"pars0lex.l"
{
return
(
PARS_
N
E_TOKEN
);
return
(
PARS_
G
E_TOKEN
);
}
YY_BREAK
case
94
:
YY_RULE_SETUP
#line 5
28
"pars0lex.l"
#line 5
35
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
return
(
PARS_NE_TOKEN
);
}
YY_BREAK
case
95
:
YY_RULE_SETUP
#line 53
3
"pars0lex.l"
#line 53
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1724,7 +1734,7 @@ YY_RULE_SETUP
YY_BREAK
case
96
:
YY_RULE_SETUP
#line 5
38
"pars0lex.l"
#line 5
44
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1732,7 +1742,7 @@ YY_RULE_SETUP
YY_BREAK
case
97
:
YY_RULE_SETUP
#line 54
3
"pars0lex.l"
#line 54
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1740,7 +1750,7 @@ YY_RULE_SETUP
YY_BREAK
case
98
:
YY_RULE_SETUP
#line 5
48
"pars0lex.l"
#line 5
54
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1748,7 +1758,7 @@ YY_RULE_SETUP
YY_BREAK
case
99
:
YY_RULE_SETUP
#line 55
3
"pars0lex.l"
#line 55
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1756,7 +1766,7 @@ YY_RULE_SETUP
YY_BREAK
case
100
:
YY_RULE_SETUP
#line 5
58
"pars0lex.l"
#line 5
64
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1764,7 +1774,7 @@ YY_RULE_SETUP
YY_BREAK
case
101
:
YY_RULE_SETUP
#line 56
3
"pars0lex.l"
#line 56
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1772,7 +1782,7 @@ YY_RULE_SETUP
YY_BREAK
case
102
:
YY_RULE_SETUP
#line 5
68
"pars0lex.l"
#line 5
74
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1780,7 +1790,7 @@ YY_RULE_SETUP
YY_BREAK
case
103
:
YY_RULE_SETUP
#line 57
3
"pars0lex.l"
#line 57
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1788,7 +1798,7 @@ YY_RULE_SETUP
YY_BREAK
case
104
:
YY_RULE_SETUP
#line 5
78
"pars0lex.l"
#line 5
84
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1796,7 +1806,7 @@ YY_RULE_SETUP
YY_BREAK
case
105
:
YY_RULE_SETUP
#line 58
3
"pars0lex.l"
#line 58
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1804,7 +1814,7 @@ YY_RULE_SETUP
YY_BREAK
case
106
:
YY_RULE_SETUP
#line 5
88
"pars0lex.l"
#line 5
94
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1812,7 +1822,7 @@ YY_RULE_SETUP
YY_BREAK
case
107
:
YY_RULE_SETUP
#line 59
3
"pars0lex.l"
#line 59
9
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1820,7 +1830,7 @@ YY_RULE_SETUP
YY_BREAK
case
108
:
YY_RULE_SETUP
#line
598
"pars0lex.l"
#line
604
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1828,35 +1838,43 @@ YY_RULE_SETUP
YY_BREAK
case
109
:
YY_RULE_SETUP
#line 603 "pars0lex.l"
BEGIN
(
comment
);
/* eat up comment */
#line 609 "pars0lex.l"
{
return
((
int
)(
*
yytext
));
}
YY_BREAK
case
110
:
/* rule 110 can match eol */
YY_RULE_SETUP
#line 6
05
"pars0lex.l"
#line 6
14
"pars0lex.l"
BEGIN
(
comment
);
/* eat up comment */
YY_BREAK
case
111
:
/* rule 111 can match eol */
YY_RULE_SETUP
#line 6
0
6 "pars0lex.l"
#line 6
1
6 "pars0lex.l"
YY_BREAK
case
112
:
/* rule 112 can match eol */
YY_RULE_SETUP
#line 6
0
7 "pars0lex.l"
BEGIN
(
INITIAL
);
#line 6
1
7 "pars0lex.l"
YY_BREAK
case
113
:
/* rule 113 can match eol */
YY_RULE_SETUP
#line 6
09
"pars0lex.l"
/* eat up whitespace */
#line 6
18
"pars0lex.l"
BEGIN
(
INITIAL
);
YY_BREAK
case
114
:
/* rule 114 can match eol */
YY_RULE_SETUP
#line 612 "pars0lex.l"
#line 620 "pars0lex.l"
/* eat up whitespace */
YY_BREAK
case
115
:
YY_RULE_SETUP
#line 623 "pars0lex.l"
{
fprintf
(
stderr
,
"Unrecognized character: %02x
\n
"
,
*
yytext
);
...
...
@@ -1866,12 +1884,12 @@ YY_RULE_SETUP
return
(
0
);
}
YY_BREAK
case
11
5
:
case
11
6
:
YY_RULE_SETUP
#line 6
21
"pars0lex.l"
#line 6
32
"pars0lex.l"
YY_FATAL_ERROR
(
"flex scanner jammed"
);
YY_BREAK
#line 18
74
"_flex_tmp.c"
#line 18
92
"_flex_tmp.c"
case
YY_STATE_EOF
(
INITIAL
):
case
YY_STATE_EOF
(
comment
):
case
YY_STATE_EOF
(
quoted
):
...
...
@@ -2159,7 +2177,7 @@ static int yy_get_next_buffer (void)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
{
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
if
(
yy_current_state
>=
39
3
)
if
(
yy_current_state
>=
39
4
)
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
}
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
...
...
@@ -2187,11 +2205,11 @@ static int yy_get_next_buffer (void)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
{
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
if
(
yy_current_state
>=
39
3
)
if
(
yy_current_state
>=
39
4
)
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
}
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
yy_is_jam
=
(
yy_current_state
==
39
2
);
yy_is_jam
=
(
yy_current_state
==
39
3
);
return
yy_is_jam
?
0
:
yy_current_state
;
}
...
...
@@ -2714,7 +2732,7 @@ void yyfree (void * ptr )
#undef YY_DECL_IS_OURS
#undef YY_DECL
#endif
#line 6
21
"pars0lex.l"
#line 6
32
"pars0lex.l"
pars/pars0grm.c
View file @
727354ae
...
...
@@ -56,183 +56,187 @@
PARS_INT_LIT
=
258
,
PARS_FLOAT_LIT
=
259
,
PARS_STR_LIT
=
260
,
PARS_NULL_LIT
=
261
,
PARS_ID_TOKEN
=
262
,
PARS_AND_TOKEN
=
263
,
PARS_OR_TOKEN
=
264
,
PARS_NOT_TOKEN
=
265
,
PARS_GE_TOKEN
=
266
,
PARS_LE_TOKEN
=
267
,
PARS_NE_TOKEN
=
268
,
PARS_PROCEDURE_TOKEN
=
269
,
PARS_IN_TOKEN
=
270
,
PARS_OUT_TOKEN
=
271
,
PARS_BINARY_TOKEN
=
272
,
PARS_BLOB_TOKEN
=
273
,
PARS_INT_TOKEN
=
274
,
PARS_INTEGER_TOKEN
=
275
,
PARS_FLOAT_TOKEN
=
276
,
PARS_CHAR_TOKEN
=
277
,
PARS_IS_TOKEN
=
278
,
PARS_BEGIN_TOKEN
=
279
,
PARS_END_TOKEN
=
280
,
PARS_IF_TOKEN
=
281
,
PARS_THEN_TOKEN
=
282
,
PARS_ELSE_TOKEN
=
283
,
PARS_ELSIF_TOKEN
=
284
,
PARS_LOOP_TOKEN
=
285
,
PARS_WHILE_TOKEN
=
286
,
PARS_RETURN_TOKEN
=
287
,
PARS_SELECT_TOKEN
=
288
,
PARS_SUM_TOKEN
=
289
,
PARS_COUNT_TOKEN
=
290
,
PARS_DISTINCT_TOKEN
=
291
,
PARS_FROM_TOKEN
=
292
,
PARS_WHERE_TOKEN
=
293
,
PARS_FOR_TOKEN
=
294
,
PARS_DDOT_TOKEN
=
295
,
PARS_CONSISTENT_TOKEN
=
296
,
PARS_READ_TOKEN
=
297
,
PARS_ORDER_TOKEN
=
298
,
PARS_BY_TOKEN
=
299
,
PARS_ASC_TOKEN
=
300
,
PARS_DESC_TOKEN
=
301
,
PARS_INSERT_TOKEN
=
302
,
PARS_INTO_TOKEN
=
303
,
PARS_VALUES_TOKEN
=
304
,
PARS_UPDATE_TOKEN
=
305
,
PARS_SET_TOKEN
=
306
,
PARS_DELETE_TOKEN
=
307
,
PARS_CURRENT_TOKEN
=
308
,
PARS_OF_TOKEN
=
309
,
PARS_CREATE_TOKEN
=
310
,
PARS_TABLE_TOKEN
=
311
,
PARS_INDEX_TOKEN
=
312
,
PARS_UNIQUE_TOKEN
=
313
,
PARS_CLUSTERED_TOKEN
=
314
,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
=
315
,
PARS_ON_TOKEN
=
316
,
PARS_ASSIGN_TOKEN
=
317
,
PARS_DECLARE_TOKEN
=
318
,
PARS_CURSOR_TOKEN
=
319
,
PARS_SQL_TOKEN
=
320
,
PARS_OPEN_TOKEN
=
321
,
PARS_FETCH_TOKEN
=
322
,
PARS_CLOSE_TOKEN
=
323
,
PARS_NOTFOUND_TOKEN
=
324
,
PARS_TO_CHAR_TOKEN
=
325
,
PARS_TO_NUMBER_TOKEN
=
326
,
PARS_TO_BINARY_TOKEN
=
327
,
PARS_BINARY_TO_NUMBER_TOKEN
=
328
,
PARS_SUBSTR_TOKEN
=
329
,
PARS_REPLSTR_TOKEN
=
330
,
PARS_CONCAT_TOKEN
=
331
,
PARS_INSTR_TOKEN
=
332
,
PARS_LENGTH_TOKEN
=
333
,
PARS_SYSDATE_TOKEN
=
334
,
PARS_PRINTF_TOKEN
=
335
,
PARS_ASSERT_TOKEN
=
336
,
PARS_RND_TOKEN
=
337
,
PARS_RND_STR_TOKEN
=
338
,
PARS_ROW_PRINTF_TOKEN
=
339
,
PARS_COMMIT_TOKEN
=
340
,
PARS_ROLLBACK_TOKEN
=
341
,
PARS_WORK_TOKEN
=
342
,
PARS_UNSIGNED_TOKEN
=
343
,
PARS_EXIT_TOKEN
=
344
,
PARS_FUNCTION_TOKEN
=
345
,
NEG
=
346
PARS_FIXBINARY_LIT
=
261
,
PARS_BLOB_LIT
=
262
,
PARS_NULL_LIT
=
263
,
PARS_ID_TOKEN
=
264
,
PARS_AND_TOKEN
=
265
,
PARS_OR_TOKEN
=
266
,
PARS_NOT_TOKEN
=
267
,
PARS_GE_TOKEN
=
268
,
PARS_LE_TOKEN
=
269
,
PARS_NE_TOKEN
=
270
,
PARS_PROCEDURE_TOKEN
=
271
,
PARS_IN_TOKEN
=
272
,
PARS_OUT_TOKEN
=
273
,
PARS_BINARY_TOKEN
=
274
,
PARS_BLOB_TOKEN
=
275
,
PARS_INT_TOKEN
=
276
,
PARS_INTEGER_TOKEN
=
277
,
PARS_FLOAT_TOKEN
=
278
,
PARS_CHAR_TOKEN
=
279
,
PARS_IS_TOKEN
=
280
,
PARS_BEGIN_TOKEN
=
281
,
PARS_END_TOKEN
=
282
,
PARS_IF_TOKEN
=
283
,
PARS_THEN_TOKEN
=
284
,
PARS_ELSE_TOKEN
=
285
,
PARS_ELSIF_TOKEN
=
286
,
PARS_LOOP_TOKEN
=
287
,
PARS_WHILE_TOKEN
=
288
,
PARS_RETURN_TOKEN
=
289
,
PARS_SELECT_TOKEN
=
290
,
PARS_SUM_TOKEN
=
291
,
PARS_COUNT_TOKEN
=
292
,
PARS_DISTINCT_TOKEN
=
293
,
PARS_FROM_TOKEN
=
294
,
PARS_WHERE_TOKEN
=
295
,
PARS_FOR_TOKEN
=
296
,
PARS_DDOT_TOKEN
=
297
,
PARS_CONSISTENT_TOKEN
=
298
,
PARS_READ_TOKEN
=
299
,
PARS_ORDER_TOKEN
=
300
,
PARS_BY_TOKEN
=
301
,
PARS_ASC_TOKEN
=
302
,
PARS_DESC_TOKEN
=
303
,
PARS_INSERT_TOKEN
=
304
,
PARS_INTO_TOKEN
=
305
,
PARS_VALUES_TOKEN
=
306
,
PARS_UPDATE_TOKEN
=
307
,
PARS_SET_TOKEN
=
308
,
PARS_DELETE_TOKEN
=
309
,
PARS_CURRENT_TOKEN
=
310
,
PARS_OF_TOKEN
=
311
,
PARS_CREATE_TOKEN
=
312
,
PARS_TABLE_TOKEN
=
313
,
PARS_INDEX_TOKEN
=
314
,
PARS_UNIQUE_TOKEN
=
315
,
PARS_CLUSTERED_TOKEN
=
316
,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
=
317
,
PARS_ON_TOKEN
=
318
,
PARS_ASSIGN_TOKEN
=
319
,
PARS_DECLARE_TOKEN
=
320
,
PARS_CURSOR_TOKEN
=
321
,
PARS_SQL_TOKEN
=
322
,
PARS_OPEN_TOKEN
=
323
,
PARS_FETCH_TOKEN
=
324
,
PARS_CLOSE_TOKEN
=
325
,
PARS_NOTFOUND_TOKEN
=
326
,
PARS_TO_CHAR_TOKEN
=
327
,
PARS_TO_NUMBER_TOKEN
=
328
,
PARS_TO_BINARY_TOKEN
=
329
,
PARS_BINARY_TO_NUMBER_TOKEN
=
330
,
PARS_SUBSTR_TOKEN
=
331
,
PARS_REPLSTR_TOKEN
=
332
,
PARS_CONCAT_TOKEN
=
333
,
PARS_INSTR_TOKEN
=
334
,
PARS_LENGTH_TOKEN
=
335
,
PARS_SYSDATE_TOKEN
=
336
,
PARS_PRINTF_TOKEN
=
337
,
PARS_ASSERT_TOKEN
=
338
,
PARS_RND_TOKEN
=
339
,
PARS_RND_STR_TOKEN
=
340
,
PARS_ROW_PRINTF_TOKEN
=
341
,
PARS_COMMIT_TOKEN
=
342
,
PARS_ROLLBACK_TOKEN
=
343
,
PARS_WORK_TOKEN
=
344
,
PARS_UNSIGNED_TOKEN
=
345
,
PARS_EXIT_TOKEN
=
346
,
PARS_FUNCTION_TOKEN
=
347
,
NEG
=
348
};
#endif
#define PARS_INT_LIT 258
#define PARS_FLOAT_LIT 259
#define PARS_STR_LIT 260
#define PARS_NULL_LIT 261
#define PARS_ID_TOKEN 262
#define PARS_AND_TOKEN 263
#define PARS_OR_TOKEN 264
#define PARS_NOT_TOKEN 265
#define PARS_GE_TOKEN 266
#define PARS_LE_TOKEN 267
#define PARS_NE_TOKEN 268
#define PARS_PROCEDURE_TOKEN 269
#define PARS_IN_TOKEN 270
#define PARS_OUT_TOKEN 271
#define PARS_BINARY_TOKEN 272
#define PARS_BLOB_TOKEN 273
#define PARS_INT_TOKEN 274
#define PARS_INTEGER_TOKEN 275
#define PARS_FLOAT_TOKEN 276
#define PARS_CHAR_TOKEN 277
#define PARS_IS_TOKEN 278
#define PARS_BEGIN_TOKEN 279
#define PARS_END_TOKEN 280
#define PARS_IF_TOKEN 281
#define PARS_THEN_TOKEN 282
#define PARS_ELSE_TOKEN 283
#define PARS_ELSIF_TOKEN 284
#define PARS_LOOP_TOKEN 285
#define PARS_WHILE_TOKEN 286
#define PARS_RETURN_TOKEN 287
#define PARS_SELECT_TOKEN 288
#define PARS_SUM_TOKEN 289
#define PARS_COUNT_TOKEN 290
#define PARS_DISTINCT_TOKEN 291
#define PARS_FROM_TOKEN 292
#define PARS_WHERE_TOKEN 293
#define PARS_FOR_TOKEN 294
#define PARS_DDOT_TOKEN 295
#define PARS_CONSISTENT_TOKEN 296
#define PARS_READ_TOKEN 297
#define PARS_ORDER_TOKEN 298
#define PARS_BY_TOKEN 299
#define PARS_ASC_TOKEN 300
#define PARS_DESC_TOKEN 301
#define PARS_INSERT_TOKEN 302
#define PARS_INTO_TOKEN 303
#define PARS_VALUES_TOKEN 304
#define PARS_UPDATE_TOKEN 305
#define PARS_SET_TOKEN 306
#define PARS_DELETE_TOKEN 307
#define PARS_CURRENT_TOKEN 308
#define PARS_OF_TOKEN 309
#define PARS_CREATE_TOKEN 310
#define PARS_TABLE_TOKEN 311
#define PARS_INDEX_TOKEN 312
#define PARS_UNIQUE_TOKEN 313
#define PARS_CLUSTERED_TOKEN 314
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 315
#define PARS_ON_TOKEN 316
#define PARS_ASSIGN_TOKEN 317
#define PARS_DECLARE_TOKEN 318
#define PARS_CURSOR_TOKEN 319
#define PARS_SQL_TOKEN 320
#define PARS_OPEN_TOKEN 321
#define PARS_FETCH_TOKEN 322
#define PARS_CLOSE_TOKEN 323
#define PARS_NOTFOUND_TOKEN 324
#define PARS_TO_CHAR_TOKEN 325
#define PARS_TO_NUMBER_TOKEN 326
#define PARS_TO_BINARY_TOKEN 327
#define PARS_BINARY_TO_NUMBER_TOKEN 328
#define PARS_SUBSTR_TOKEN 329
#define PARS_REPLSTR_TOKEN 330
#define PARS_CONCAT_TOKEN 331
#define PARS_INSTR_TOKEN 332
#define PARS_LENGTH_TOKEN 333
#define PARS_SYSDATE_TOKEN 334
#define PARS_PRINTF_TOKEN 335
#define PARS_ASSERT_TOKEN 336
#define PARS_RND_TOKEN 337
#define PARS_RND_STR_TOKEN 338
#define PARS_ROW_PRINTF_TOKEN 339
#define PARS_COMMIT_TOKEN 340
#define PARS_ROLLBACK_TOKEN 341
#define PARS_WORK_TOKEN 342
#define PARS_UNSIGNED_TOKEN 343
#define PARS_EXIT_TOKEN 344
#define PARS_FUNCTION_TOKEN 345
#define NEG 346
#define PARS_FIXBINARY_LIT 261
#define PARS_BLOB_LIT 262
#define PARS_NULL_LIT 263
#define PARS_ID_TOKEN 264
#define PARS_AND_TOKEN 265
#define PARS_OR_TOKEN 266
#define PARS_NOT_TOKEN 267
#define PARS_GE_TOKEN 268
#define PARS_LE_TOKEN 269
#define PARS_NE_TOKEN 270
#define PARS_PROCEDURE_TOKEN 271
#define PARS_IN_TOKEN 272
#define PARS_OUT_TOKEN 273
#define PARS_BINARY_TOKEN 274
#define PARS_BLOB_TOKEN 275
#define PARS_INT_TOKEN 276
#define PARS_INTEGER_TOKEN 277
#define PARS_FLOAT_TOKEN 278
#define PARS_CHAR_TOKEN 279
#define PARS_IS_TOKEN 280
#define PARS_BEGIN_TOKEN 281
#define PARS_END_TOKEN 282
#define PARS_IF_TOKEN 283
#define PARS_THEN_TOKEN 284
#define PARS_ELSE_TOKEN 285
#define PARS_ELSIF_TOKEN 286
#define PARS_LOOP_TOKEN 287
#define PARS_WHILE_TOKEN 288
#define PARS_RETURN_TOKEN 289
#define PARS_SELECT_TOKEN 290
#define PARS_SUM_TOKEN 291
#define PARS_COUNT_TOKEN 292
#define PARS_DISTINCT_TOKEN 293
#define PARS_FROM_TOKEN 294
#define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297
#define PARS_CONSISTENT_TOKEN 298
#define PARS_READ_TOKEN 299
#define PARS_ORDER_TOKEN 300
#define PARS_BY_TOKEN 301
#define PARS_ASC_TOKEN 302
#define PARS_DESC_TOKEN 303
#define PARS_INSERT_TOKEN 304
#define PARS_INTO_TOKEN 305
#define PARS_VALUES_TOKEN 306
#define PARS_UPDATE_TOKEN 307
#define PARS_SET_TOKEN 308
#define PARS_DELETE_TOKEN 309
#define PARS_CURRENT_TOKEN 310
#define PARS_OF_TOKEN 311
#define PARS_CREATE_TOKEN 312
#define PARS_TABLE_TOKEN 313
#define PARS_INDEX_TOKEN 314
#define PARS_UNIQUE_TOKEN 315
#define PARS_CLUSTERED_TOKEN 316
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317
#define PARS_ON_TOKEN 318
#define PARS_ASSIGN_TOKEN 319
#define PARS_DECLARE_TOKEN 320
#define PARS_CURSOR_TOKEN 321
#define PARS_SQL_TOKEN 322
#define PARS_OPEN_TOKEN 323
#define PARS_FETCH_TOKEN 324
#define PARS_CLOSE_TOKEN 325
#define PARS_NOTFOUND_TOKEN 326
#define PARS_TO_CHAR_TOKEN 327
#define PARS_TO_NUMBER_TOKEN 328
#define PARS_TO_BINARY_TOKEN 329
#define PARS_BINARY_TO_NUMBER_TOKEN 330
#define PARS_SUBSTR_TOKEN 331
#define PARS_REPLSTR_TOKEN 332
#define PARS_CONCAT_TOKEN 333
#define PARS_INSTR_TOKEN 334
#define PARS_LENGTH_TOKEN 335
#define PARS_SYSDATE_TOKEN 336
#define PARS_PRINTF_TOKEN 337
#define PARS_ASSERT_TOKEN 338
#define PARS_RND_TOKEN 339
#define PARS_RND_STR_TOKEN 340
#define PARS_ROW_PRINTF_TOKEN 341
#define PARS_COMMIT_TOKEN 342
#define PARS_ROLLBACK_TOKEN 343
#define PARS_WORK_TOKEN 344
#define PARS_UNSIGNED_TOKEN 345
#define PARS_EXIT_TOKEN 346
#define PARS_FUNCTION_TOKEN 347
#define NEG 348
...
...
@@ -285,7 +289,7 @@ typedef int YYSTYPE;
/* Line 214 of yacc.c. */
#line 2
89
"pars0grm.tab.c"
#line 2
93
"pars0grm.tab.c"
#if ! defined (yyoverflow) || YYERROR_VERBOSE
...
...
@@ -389,22 +393,22 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 9
7
#define YYFINAL 9
9
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 7
03
#define YYLAST 7
56
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 10
7
#define YYNTOKENS 10
9
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 69
/* YYNRULES -- Number of rules. */
#define YYNRULES 17
3
#define YYNRULES 17
5
/* YYNRULES -- Number of states. */
#define YYNSTATES 33
5
#define YYNSTATES 33
7
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 34
6
#define YYMAXUTOK 34
8
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
...
...
@@ -415,16 +419,16 @@ static const unsigned char yytranslate[] =
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
99
,
2
,
2
,
10
1
,
102
,
96
,
95
,
104
,
94
,
2
,
97
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
10
0
,
9
2
,
91
,
93
,
103
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
101
,
2
,
2
,
10
3
,
104
,
98
,
97
,
106
,
96
,
2
,
99
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
10
2
,
9
4
,
93
,
95
,
105
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
10
5
,
2
,
106
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
10
7
,
2
,
108
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
...
...
@@ -446,7 +450,7 @@ static const unsigned char yytranslate[] =
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
9
8
85
,
86
,
87
,
88
,
89
,
90
,
9
1
,
92
,
100
};
#if YYDEBUG
...
...
@@ -457,104 +461,104 @@ static const unsigned short int yyprhs[] =
0
,
0
,
3
,
6
,
8
,
11
,
14
,
17
,
20
,
23
,
26
,
29
,
32
,
35
,
38
,
41
,
44
,
47
,
50
,
53
,
56
,
59
,
62
,
65
,
68
,
71
,
73
,
76
,
78
,
83
,
85
,
87
,
89
,
91
,
93
,
9
7
,
101
,
105
,
109
,
112
,
11
6
,
120
,
124
,
128
,
132
,
136
,
140
,
144
,
148
,
151
,
15
5
,
159
,
161
,
163
,
165
,
167
,
169
,
171
,
173
,
175
,
177
,
179
,
181
,
18
2
,
184
,
188
,
195
,
200
,
202
,
204
,
206
,
2
10
,
212
,
216
,
217
,
219
,
223
,
224
,
226
,
230
,
23
2
,
237
,
243
,
248
,
249
,
251
,
255
,
257
,
261
,
263
,
26
4
,
267
,
268
,
271
,
272
,
275
,
276
,
278
,
280
,
281
,
28
6
,
295
,
299
,
305
,
308
,
312
,
314
,
318
,
323
,
328
,
3
31
,
334
,
338
,
341
,
344
,
347
,
351
,
356
,
358
,
361
,
362
,
365
,
36
7
,
375
,
382
,
393
,
395
,
397
,
400
,
403
,
40
8
,
413
,
419
,
421
,
425
,
426
,
430
,
431
,
433
,
434
,
437
,
438
,
44
0
,
448
,
450
,
454
,
455
,
457
,
458
,
460
,
4
71
,
474
,
477
,
479
,
481
,
483
,
485
,
487
,
491
,
495
,
49
6
,
498
,
502
,
506
,
507
,
509
,
512
,
519
,
524
,
526
,
528
,
5
29
,
531
,
534
85
,
87
,
89
,
91
,
93
,
9
5
,
97
,
101
,
105
,
109
,
11
3
,
116
,
120
,
124
,
128
,
132
,
136
,
140
,
144
,
148
,
15
2
,
155
,
159
,
163
,
165
,
167
,
169
,
171
,
173
,
175
,
177
,
179
,
181
,
18
3
,
185
,
186
,
188
,
192
,
199
,
204
,
206
,
2
08
,
210
,
214
,
216
,
220
,
221
,
223
,
227
,
228
,
23
0
,
234
,
236
,
241
,
247
,
252
,
253
,
255
,
259
,
261
,
26
5
,
267
,
268
,
271
,
272
,
275
,
276
,
279
,
280
,
282
,
28
4
,
285
,
290
,
299
,
303
,
309
,
312
,
316
,
318
,
322
,
3
27
,
332
,
335
,
338
,
342
,
345
,
348
,
351
,
355
,
360
,
362
,
365
,
36
6
,
369
,
371
,
379
,
386
,
397
,
399
,
401
,
40
4
,
407
,
412
,
417
,
423
,
425
,
429
,
430
,
434
,
435
,
437
,
438
,
44
1
,
442
,
444
,
452
,
454
,
458
,
459
,
461
,
4
62
,
464
,
475
,
478
,
481
,
483
,
485
,
487
,
489
,
491
,
49
5
,
499
,
500
,
502
,
506
,
510
,
511
,
513
,
516
,
523
,
528
,
5
30
,
532
,
533
,
535
,
538
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static
const
short
int
yyrhs
[]
=
{
1
08
,
0
,
-
1
,
175
,
100
,
-
1
,
113
,
-
1
,
114
,
100
,
-
1
,
14
6
,
100
,
-
1
,
147
,
100
,
-
1
,
148
,
100
,
-
1
,
14
5
,
100
,
-
1
,
149
,
100
,
-
1
,
141
,
100
,
-
1
,
128
,
10
0
,
-
1
,
130
,
100
,
-
1
,
140
,
100
,
-
1
,
138
,
100
,
-
1
,
1
39
,
100
,
-
1
,
135
,
100
,
-
1
,
136
,
100
,
-
1
,
15
0
,
100
,
-
1
,
152
,
100
,
-
1
,
151
,
100
,
-
1
,
164
,
10
0
,
-
1
,
165
,
100
,
-
1
,
159
,
100
,
-
1
,
163
,
100
,
-
1
,
1
08
,
-
1
,
109
,
108
,
-
1
,
7
,
-
1
,
111
,
101
,
1
19
,
102
,
-
1
,
3
,
-
1
,
4
,
-
1
,
5
,
-
1
,
6
,
-
1
,
65
,
-
1
,
110
,
95
,
110
,
-
1
,
110
,
94
,
110
,
-
1
,
11
0
,
96
,
110
,
-
1
,
110
,
97
,
110
,
-
1
,
94
,
110
,
-
1
,
101
,
110
,
102
,
-
1
,
110
,
91
,
110
,
-
1
,
11
0
,
92
,
110
,
-
1
,
110
,
93
,
110
,
-
1
,
110
,
11
,
11
0
,
-
1
,
110
,
12
,
110
,
-
1
,
110
,
13
,
110
,
-
1
,
11
0
,
8
,
110
,
-
1
,
110
,
9
,
110
,
-
1
,
10
,
110
,
-
1
,
7
,
99
,
69
,
-
1
,
65
,
99
,
69
,
-
1
,
70
,
-
1
,
71
,
-
1
,
72
,
-
1
,
73
,
-
1
,
74
,
-
1
,
76
,
-
1
,
7
7
,
-
1
,
78
,
-
1
,
79
,
-
1
,
82
,
-
1
,
83
,
-
1
,
-
1
,
103
,
-
1
,
112
,
104
,
103
,
-
1
,
105
,
7
,
10
1
,
112
,
102
,
106
,
-
1
,
115
,
101
,
119
,
102
,
-
1
,
75
,
-
1
,
80
,
-
1
,
81
,
-
1
,
7
,
101
,
102
,
-
1
,
7
,
-
1
,
117
,
104
,
7
,
-
1
,
-
1
,
7
,
-
1
,
118
,
104
,
7
,
-
1
,
-
1
,
110
,
-
1
,
119
,
104
,
110
,
-
1
,
1
10
,
-
1
,
35
,
101
,
96
,
102
,
-
1
,
35
,
101
,
36
,
7
,
102
,
-
1
,
34
,
101
,
110
,
102
,
-
1
,
-
1
,
120
,
-
1
,
121
,
104
,
120
,
-
1
,
96
,
-
1
,
121
,
48
,
11
8
,
-
1
,
12
1
,
-
1
,
-
1
,
38
,
110
,
-
1
,
-
1
,
39
,
50
,
-
1
,
-
1
,
41
,
42
,
-
1
,
-
1
,
45
,
-
1
,
46
,
-
1
,
-
1
,
43
,
44
,
7
,
126
,
-
1
,
33
,
122
,
37
,
117
,
123
,
124
,
125
,
127
,
-
1
,
47
,
48
,
7
,
-
1
,
12
9
,
49
,
101
,
119
,
102
,
-
1
,
129
,
128
,
-
1
,
7
,
9
1
,
1
10
,
-
1
,
131
,
-
1
,
132
,
104
,
131
,
-
1
,
38
,
53
,
54
,
7
,
-
1
,
50
,
7
,
51
,
132
,
-
1
,
134
,
12
3
,
-
1
,
134
,
133
,
-
1
,
52
,
37
,
7
,
-
1
,
137
,
123
,
-
1
,
137
,
133
,
-
1
,
84
,
128
,
-
1
,
7
,
62
,
11
0
,
-
1
,
29
,
110
,
27
,
109
,
-
1
,
142
,
-
1
,
143
,
142
,
-
1
,
-
1
,
28
,
109
,
-
1
,
143
,
-
1
,
26
,
110
,
27
,
109
,
144
,
25
,
26
,
-
1
,
31
,
110
,
30
,
109
,
25
,
30
,
-
1
,
39
,
7
,
15
,
110
,
40
,
110
,
30
,
109
,
25
,
30
,
-
1
,
89
,
-
1
,
32
,
-
1
,
66
,
7
,
-
1
,
68
,
7
,
-
1
,
67
,
7
,
48
,
118
,
-
1
,
67
,
7
,
48
,
116
,
-
1
,
7
,
166
,
155
,
156
,
157
,
-
1
,
153
,
-
1
,
154
,
104
,
153
,
-
1
,
-
1
,
101
,
3
,
102
,
-
1
,
-
1
,
88
,
-
1
,
-
1
,
10
,
6
,
-
1
,
-
1
,
60
,
-
1
,
55
,
56
,
7
,
101
,
154
,
102
,
158
,
-
1
,
7
,
-
1
,
160
,
104
,
7
,
-
1
,
-
1
,
58
,
-
1
,
-
1
,
59
,
-
1
,
55
,
161
,
162
,
57
,
7
,
61
,
7
,
101
,
160
,
102
,
-
1
,
85
,
87
,
-
1
,
86
,
87
,
-
1
,
19
,
-
1
,
20
,
-
1
,
2
2
,
-
1
,
17
,
-
1
,
18
,
-
1
,
7
,
15
,
166
,
-
1
,
7
,
16
,
166
,
-
1
,
-
1
,
167
,
-
1
,
168
,
104
,
16
7
,
-
1
,
7
,
166
,
100
,
-
1
,
-
1
,
169
,
-
1
,
170
,
169
,
-
1
,
63
,
64
,
7
,
23
,
128
,
100
,
-
1
,
63
,
90
,
7
,
100
,
-
1
,
171
,
-
1
,
172
,
-
1
,
-
1
,
173
,
-
1
,
174
,
173
,
-
1
,
14
,
7
,
101
,
168
,
102
,
23
,
1
70
,
174
,
24
,
109
,
25
,
-
1
1
10
,
0
,
-
1
,
177
,
102
,
-
1
,
115
,
-
1
,
116
,
102
,
-
1
,
14
8
,
102
,
-
1
,
149
,
102
,
-
1
,
150
,
102
,
-
1
,
14
7
,
102
,
-
1
,
151
,
102
,
-
1
,
143
,
102
,
-
1
,
130
,
10
2
,
-
1
,
132
,
102
,
-
1
,
142
,
102
,
-
1
,
140
,
102
,
-
1
,
1
41
,
102
,
-
1
,
137
,
102
,
-
1
,
138
,
102
,
-
1
,
15
2
,
102
,
-
1
,
154
,
102
,
-
1
,
153
,
102
,
-
1
,
166
,
10
2
,
-
1
,
167
,
102
,
-
1
,
161
,
102
,
-
1
,
165
,
102
,
-
1
,
1
10
,
-
1
,
111
,
110
,
-
1
,
9
,
-
1
,
113
,
103
,
1
21
,
104
,
-
1
,
3
,
-
1
,
4
,
-
1
,
5
,
-
1
,
6
,
-
1
,
7
,
-
1
,
8
,
-
1
,
67
,
-
1
,
112
,
97
,
112
,
-
1
,
11
2
,
96
,
112
,
-
1
,
112
,
98
,
112
,
-
1
,
112
,
99
,
112
,
-
1
,
96
,
112
,
-
1
,
103
,
112
,
104
,
-
1
,
11
2
,
93
,
112
,
-
1
,
112
,
94
,
112
,
-
1
,
112
,
95
,
11
2
,
-
1
,
112
,
13
,
112
,
-
1
,
112
,
14
,
112
,
-
1
,
11
2
,
15
,
112
,
-
1
,
112
,
10
,
112
,
-
1
,
112
,
11
,
112
,
-
1
,
12
,
112
,
-
1
,
9
,
101
,
71
,
-
1
,
67
,
101
,
71
,
-
1
,
72
,
-
1
,
73
,
-
1
,
74
,
-
1
,
75
,
-
1
,
7
6
,
-
1
,
78
,
-
1
,
79
,
-
1
,
80
,
-
1
,
81
,
-
1
,
84
,
-
1
,
85
,
-
1
,
-
1
,
105
,
-
1
,
114
,
106
,
10
5
,
-
1
,
107
,
9
,
103
,
114
,
104
,
108
,
-
1
,
117
,
103
,
121
,
104
,
-
1
,
77
,
-
1
,
82
,
-
1
,
83
,
-
1
,
9
,
103
,
104
,
-
1
,
9
,
-
1
,
119
,
106
,
9
,
-
1
,
-
1
,
9
,
-
1
,
120
,
106
,
9
,
-
1
,
-
1
,
112
,
-
1
,
1
21
,
106
,
112
,
-
1
,
112
,
-
1
,
37
,
103
,
98
,
104
,
-
1
,
37
,
103
,
38
,
9
,
104
,
-
1
,
36
,
103
,
112
,
104
,
-
1
,
-
1
,
122
,
-
1
,
123
,
106
,
122
,
-
1
,
9
8
,
-
1
,
12
3
,
50
,
120
,
-
1
,
123
,
-
1
,
-
1
,
40
,
112
,
-
1
,
-
1
,
41
,
52
,
-
1
,
-
1
,
43
,
44
,
-
1
,
-
1
,
47
,
-
1
,
48
,
-
1
,
-
1
,
45
,
46
,
9
,
128
,
-
1
,
35
,
124
,
39
,
119
,
125
,
126
,
127
,
129
,
-
1
,
4
9
,
50
,
9
,
-
1
,
131
,
51
,
103
,
121
,
104
,
-
1
,
13
1
,
1
30
,
-
1
,
9
,
93
,
112
,
-
1
,
133
,
-
1
,
134
,
106
,
133
,
-
1
,
40
,
55
,
56
,
9
,
-
1
,
52
,
9
,
5
3
,
134
,
-
1
,
136
,
125
,
-
1
,
136
,
135
,
-
1
,
54
,
39
,
9
,
-
1
,
139
,
125
,
-
1
,
139
,
135
,
-
1
,
86
,
13
0
,
-
1
,
9
,
64
,
112
,
-
1
,
31
,
112
,
29
,
111
,
-
1
,
144
,
-
1
,
145
,
144
,
-
1
,
-
1
,
30
,
111
,
-
1
,
145
,
-
1
,
28
,
112
,
29
,
111
,
146
,
27
,
28
,
-
1
,
33
,
112
,
32
,
111
,
27
,
32
,
-
1
,
41
,
9
,
17
,
112
,
42
,
112
,
32
,
111
,
27
,
32
,
-
1
,
91
,
-
1
,
34
,
-
1
,
68
,
9
,
-
1
,
70
,
9
,
-
1
,
69
,
9
,
50
,
120
,
-
1
,
69
,
9
,
50
,
118
,
-
1
,
9
,
168
,
157
,
158
,
159
,
-
1
,
155
,
-
1
,
156
,
106
,
155
,
-
1
,
-
1
,
103
,
3
,
104
,
-
1
,
-
1
,
90
,
-
1
,
-
1
,
12
,
8
,
-
1
,
-
1
,
62
,
-
1
,
57
,
58
,
9
,
103
,
156
,
104
,
160
,
-
1
,
9
,
-
1
,
162
,
106
,
9
,
-
1
,
-
1
,
60
,
-
1
,
-
1
,
61
,
-
1
,
57
,
163
,
164
,
59
,
9
,
63
,
9
,
103
,
162
,
104
,
-
1
,
87
,
89
,
-
1
,
88
,
89
,
-
1
,
2
1
,
-
1
,
22
,
-
1
,
24
,
-
1
,
19
,
-
1
,
20
,
-
1
,
9
,
17
,
168
,
-
1
,
9
,
18
,
168
,
-
1
,
-
1
,
16
9
,
-
1
,
170
,
106
,
169
,
-
1
,
9
,
168
,
102
,
-
1
,
-
1
,
171
,
-
1
,
172
,
171
,
-
1
,
65
,
66
,
9
,
25
,
130
,
102
,
-
1
,
65
,
92
,
9
,
102
,
-
1
,
173
,
-
1
,
174
,
-
1
,
-
1
,
175
,
-
1
,
176
,
175
,
-
1
,
16
,
9
,
1
03
,
170
,
104
,
25
,
172
,
176
,
26
,
111
,
27
,
-
1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static
const
unsigned
short
int
yyrline
[]
=
{
0
,
13
4
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
14
2
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
15
2
,
153
,
154
,
155
,
156
,
160
,
161
,
166
,
167
,
169
,
17
0
,
171
,
172
,
173
,
174
,
175
,
176
,
177
,
178
,
179
,
18
0
,
181
,
182
,
183
,
184
,
185
,
186
,
187
,
188
,
189
,
19
1
,
196
,
197
,
198
,
199
,
201
,
202
,
203
,
204
,
205
,
20
6
,
207
,
210
,
212
,
213
,
217
,
222
,
227
,
228
,
229
,
23
3
,
237
,
238
,
243
,
244
,
245
,
250
,
251
,
252
,
256
,
25
7
,
262
,
268
,
275
,
276
,
277
,
282
,
284
,
286
,
290
,
29
1
,
295
,
296
,
301
,
302
,
307
,
308
,
309
,
313
,
314
,
31
9
,
329
,
334
,
336
,
341
,
345
,
346
,
351
,
357
,
364
,
36
9
,
374
,
380
,
385
,
390
,
395
,
400
,
406
,
407
,
412
,
41
3
,
415
,
419
,
426
,
432
,
440
,
444
,
448
,
454
,
460
,
4
62
,
467
,
472
,
473
,
478
,
479
,
484
,
485
,
491
,
492
,
49
8
,
499
,
505
,
511
,
512
,
517
,
518
,
522
,
523
,
527
,
5
35
,
540
,
545
,
546
,
547
,
548
,
549
,
553
,
556
,
562
,
56
3
,
564
,
569
,
573
,
575
,
576
,
580
,
586
,
591
,
592
,
595
,
59
7
,
598
,
602
0
,
13
6
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
14
4
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
15
4
,
155
,
156
,
157
,
158
,
162
,
163
,
168
,
169
,
171
,
17
2
,
173
,
174
,
175
,
176
,
177
,
178
,
179
,
180
,
181
,
18
2
,
183
,
184
,
185
,
186
,
187
,
188
,
189
,
190
,
191
,
19
2
,
193
,
195
,
200
,
201
,
202
,
203
,
205
,
206
,
207
,
20
8
,
209
,
210
,
211
,
214
,
216
,
217
,
221
,
226
,
231
,
23
2
,
233
,
237
,
241
,
242
,
247
,
248
,
249
,
254
,
255
,
25
6
,
260
,
261
,
266
,
272
,
279
,
280
,
281
,
286
,
288
,
29
0
,
294
,
295
,
299
,
300
,
305
,
306
,
311
,
312
,
313
,
31
7
,
318
,
323
,
333
,
338
,
340
,
345
,
349
,
350
,
355
,
36
1
,
368
,
373
,
378
,
384
,
389
,
394
,
399
,
404
,
410
,
41
1
,
416
,
417
,
419
,
423
,
430
,
436
,
444
,
448
,
452
,
4
58
,
464
,
466
,
471
,
476
,
477
,
482
,
483
,
488
,
489
,
49
5
,
496
,
502
,
503
,
509
,
515
,
516
,
521
,
522
,
526
,
5
27
,
531
,
539
,
544
,
549
,
550
,
551
,
552
,
553
,
557
,
56
0
,
566
,
567
,
568
,
573
,
577
,
579
,
580
,
584
,
590
,
595
,
59
6
,
599
,
601
,
602
,
606
};
#endif
...
...
@@ -564,59 +568,59 @@ static const unsigned short int yyrline[] =
static
const
char
*
const
yytname
[]
=
{
"$end"
,
"error"
,
"$undefined"
,
"PARS_INT_LIT"
,
"PARS_FLOAT_LIT"
,
"PARS_STR_LIT"
,
"PARS_
NULL_LIT"
,
"PARS_ID_TOKEN"
,
"PARS_AND_TOKEN
"
,
"PARS_
OR_TOKEN"
,
"PARS_NOT_TOKEN"
,
"PARS_GE_TOKEN"
,
"PARS_LE
_TOKEN"
,
"PARS_
NE_TOKEN"
,
"PARS_PROCEDURE_TOKEN"
,
"PARS_IN
_TOKEN"
,
"PARS_
OUT_TOKEN"
,
"PARS_BINARY_TOKEN"
,
"PARS_BLOB
_TOKEN"
,
"PARS_
INT_TOKEN"
,
"PARS_INTEGER_TOKEN"
,
"PARS_FLOA
T_TOKEN"
,
"PARS_
CHAR_TOKEN"
,
"PARS_IS_TOKEN"
,
"PARS_BEGIN_TOKEN"
,
"PARS_END
_TOKEN"
,
"PARS_I
F_TOKEN"
,
"PARS_THEN_TOKEN"
,
"PARS_ELSE
_TOKEN"
,
"PARS_
ELSIF_TOKEN"
,
"PARS_LOOP_TOKEN"
,
"PARS_WHILE
_TOKEN"
,
"PARS_
RETURN_TOKEN"
,
"PARS_SELECT_TOKEN"
,
"PARS_SUM
_TOKEN"
,
"PARS_
COUNT_TOKEN"
,
"PARS_DISTINCT_TOKEN"
,
"PARS_FROM
_TOKEN"
,
"PARS_
WHERE_TOKEN"
,
"PARS_FOR_TOKEN"
,
"PARS_DDOT
_TOKEN"
,
"PARS_
CONSISTENT_TOKEN"
,
"PARS_READ_TOKEN"
,
"PARS_ORDER
_TOKEN"
,
"PARS_
BY_TOKEN"
,
"PARS_ASC_TOKEN"
,
"PARS_DE
SC_TOKEN"
,
"PARS_
INSERT_TOKEN"
,
"PARS_INTO_TOKEN"
,
"PARS_VALUES
_TOKEN"
,
"PARS_
UPDATE_TOKEN"
,
"PARS_SET_TOKEN"
,
"PARS_DELETE
_TOKEN"
,
"PARS_
CURRENT_TOKEN"
,
"PARS_OF_TOKEN"
,
"PARS_CREATE
_TOKEN"
,
"PARS_
TABLE_TOKEN"
,
"PARS_INDEX_TOKEN"
,
"PARS_UNIQUE
_TOKEN"
,
"PARS_
CLUSTERED_TOKEN"
,
"PARS_DOES_NOT_FIT_IN_MEM
_TOKEN"
,
"PARS_
ON_TOKEN"
,
"PARS_ASSIGN_TOKEN"
,
"PARS_DECLARE
_TOKEN"
,
"PARS_
CURSOR_TOKEN"
,
"PARS_SQL_TOKEN"
,
"PARS_OPEN
_TOKEN"
,
"PARS_
FETCH_TOKEN"
,
"PARS_CLOSE_TOKEN"
,
"PARS_NOTFOUND
_TOKEN"
,
"PARS_
TO_CHAR_TOKEN"
,
"PARS_TO_NUMBER_TOKEN"
,
"PARS_TO_BINARY
_TOKEN"
,
"PARS_
BINARY_TO_NUMBER_TOKEN"
,
"PARS_SUBSTR_TOKEN"
,
"PARS_REPLST
R_TOKEN"
,
"PARS_
CONCAT_TOKEN"
,
"PARS_INSTR_TOKEN"
,
"PARS_LENGTH
_TOKEN"
,
"PARS_
SYSDATE_TOKEN"
,
"PARS_PRINTF_TOKEN"
,
"PARS_ASSERT
_TOKEN"
,
"PARS_
RND_TOKEN"
,
"PARS_RND_STR_TOKEN"
,
"PARS_ROW_PRINTF
_TOKEN"
,
"PARS_
COMMIT_TOKEN"
,
"PARS_ROLLBACK_TOKEN"
,
"PARS_WORK
_TOKEN"
,
"PARS_
UNSIGNED_TOKEN"
,
"PARS_EXIT_TOKEN"
,
"PARS_FUNCTION_TOKEN"
,
"'='
"
,
"
'<'"
,
"'>'"
,
"'-'"
,
"'+'"
,
"'*'"
,
"'/'"
,
"NEG"
,
"'%'"
,
"';'"
,
"'(
'"
,
"'
)'"
,
"'?'"
,
"','"
,
"'{'"
,
"'}'"
,
"$accept"
,
"statement
"
,
"
statement_list"
,
"exp"
,
"function_name"
,
"question_mark_list
"
,
"
stored_procedure_call"
,
"predefin
ed_procedure_call"
,
"predefined_procedure_
name"
,
"user_function_call"
,
"table_list
"
,
"
variable_list"
,
"exp_list"
,
"select_item"
,
"select_item
_list"
,
"select_
list"
,
"search_condition"
,
"for_update_clause
"
,
"
consistent_read_clause"
,
"order_direction"
,
"order_by_clause
"
,
"
select_statement"
,
"insert_statement_start"
,
"insert_statemen
t"
,
"
column_assignment"
,
"column_assignment_list"
,
"cursor_positioned
"
,
"
update_statement_start"
,
"update_statement_searched
"
,
"update_statement_
positioned"
,
"delete_statement_start
"
,
"delete_statement_s
earched"
,
"delete_statement_position
ed"
,
"
row_printf_statement"
,
"assignment_statement"
,
"elsif_el
ement"
,
"
elsif_list"
,
"else_part"
,
"if_statement"
,
"while_statemen
t"
,
"
for_statement"
,
"exit_statement"
,
"return
_statement"
,
"
open_cursor_statement"
,
"close_cursor_statement"
,
"fetch
_statement"
,
"
column_def"
,
"column_def_list"
,
"opt_column_len"
,
"opt_unsigned
"
,
"opt_
not_null"
,
"not_fit_in_memory"
,
"create_table"
,
"column_list
"
,
"
unique_def"
,
"clustered_def"
,
"create_index"
,
"commit_statement
"
,
"
rollback_statement"
,
"type_name"
,
"parameter_declaration
"
,
"parameter_declaration
_list"
,
"variable_declaration
"
,
"variable_declaration
_list"
,
"cursor_declaration
"
,
"
function_declaration"
,
"declaration"
,
"declaration_list
"
,
"procedure_definition"
,
0
"PARS_STR_LIT"
,
"PARS_
FIXBINARY_LIT"
,
"PARS_BLOB_LIT"
,
"PARS_NULL_LIT
"
,
"PARS_
ID_TOKEN"
,
"PARS_AND_TOKEN"
,
"PARS_OR_TOKEN"
,
"PARS_NOT
_TOKEN"
,
"PARS_
GE_TOKEN"
,
"PARS_LE_TOKEN"
,
"PARS_NE
_TOKEN"
,
"PARS_
PROCEDURE_TOKEN"
,
"PARS_IN_TOKEN"
,
"PARS_OUT
_TOKEN"
,
"PARS_
BINARY_TOKEN"
,
"PARS_BLOB_TOKEN"
,
"PARS_IN
T_TOKEN"
,
"PARS_
INTEGER_TOKEN"
,
"PARS_FLOAT_TOKEN"
,
"PARS_CHAR
_TOKEN"
,
"PARS_I
S_TOKEN"
,
"PARS_BEGIN_TOKEN"
,
"PARS_END_TOKEN"
,
"PARS_IF
_TOKEN"
,
"PARS_
THEN_TOKEN"
,
"PARS_ELSE_TOKEN"
,
"PARS_ELSIF
_TOKEN"
,
"PARS_
LOOP_TOKEN"
,
"PARS_WHILE_TOKEN"
,
"PARS_RETURN
_TOKEN"
,
"PARS_
SELECT_TOKEN"
,
"PARS_SUM_TOKEN"
,
"PARS_COUNT
_TOKEN"
,
"PARS_
DISTINCT_TOKEN"
,
"PARS_FROM_TOKEN"
,
"PARS_WHERE
_TOKEN"
,
"PARS_
FOR_TOKEN"
,
"PARS_DDOT_TOKEN"
,
"PARS_CONSISTENT
_TOKEN"
,
"PARS_
READ_TOKEN"
,
"PARS_ORDER_TOKEN"
,
"PARS_BY_TOKEN"
,
"PARS_A
SC_TOKEN"
,
"PARS_
DESC_TOKEN"
,
"PARS_INSERT_TOKEN"
,
"PARS_INTO
_TOKEN"
,
"PARS_
VALUES_TOKEN"
,
"PARS_UPDATE_TOKEN"
,
"PARS_SET
_TOKEN"
,
"PARS_
DELETE_TOKEN"
,
"PARS_CURRENT_TOKEN"
,
"PARS_OF
_TOKEN"
,
"PARS_
CREATE_TOKEN"
,
"PARS_TABLE_TOKEN"
,
"PARS_INDEX
_TOKEN"
,
"PARS_
UNIQUE_TOKEN"
,
"PARS_CLUSTERED
_TOKEN"
,
"PARS_
DOES_NOT_FIT_IN_MEM_TOKEN"
,
"PARS_ON_TOKEN"
,
"PARS_ASSIGN
_TOKEN"
,
"PARS_
DECLARE_TOKEN"
,
"PARS_CURSOR_TOKEN"
,
"PARS_SQL
_TOKEN"
,
"PARS_
OPEN_TOKEN"
,
"PARS_FETCH_TOKEN"
,
"PARS_CLOSE
_TOKEN"
,
"PARS_
NOTFOUND_TOKEN"
,
"PARS_TO_CHAR_TOKEN"
,
"PARS_TO_NUMBER
_TOKEN"
,
"PARS_
TO_BINARY_TOKEN"
,
"PARS_BINARY_TO_NUMBE
R_TOKEN"
,
"PARS_
SUBSTR_TOKEN"
,
"PARS_REPLSTR_TOKEN"
,
"PARS_CONCAT
_TOKEN"
,
"PARS_
INSTR_TOKEN"
,
"PARS_LENGTH_TOKEN"
,
"PARS_SYSDATE
_TOKEN"
,
"PARS_
PRINTF_TOKEN"
,
"PARS_ASSERT_TOKEN"
,
"PARS_RND
_TOKEN"
,
"PARS_
RND_STR_TOKEN"
,
"PARS_ROW_PRINTF_TOKEN"
,
"PARS_COMMIT
_TOKEN"
,
"PARS_
ROLLBACK_TOKEN"
,
"PARS_WORK_TOKEN"
,
"PARS_UNSIGNED_TOKEN
"
,
"
PARS_EXIT_TOKEN"
,
"PARS_FUNCTION_TOKEN"
,
"'='"
,
"'<'"
,
"'>'"
,
"'-
'"
,
"'
+'"
,
"'*'"
,
"'/'"
,
"NEG"
,
"'%'"
,
"';'"
,
"'('"
,
"')'"
,
"'?'"
,
"','
"
,
"
'{'"
,
"'}'"
,
"$accept"
,
"statement"
,
"statement_list"
,
"exp
"
,
"
function_name"
,
"question_mark_list"
,
"stor
ed_procedure_call"
,
"predefined_procedure_
call"
,
"predefined_procedure_name
"
,
"
user_function_call"
,
"table_list"
,
"variable_list"
,
"exp
_list"
,
"select_
item"
,
"select_item_list"
,
"select_list"
,
"search_condition
"
,
"
for_update_clause"
,
"consistent_read_clause"
,
"order_direction
"
,
"
order_by_clause"
,
"select_statement"
,
"insert_statement_star
t"
,
"
insert_statement"
,
"column_assignment"
,
"column_assignment_list
"
,
"
cursor_positioned"
,
"update_statement_start
"
,
"update_statement_
searched"
,
"update_statement_positioned
"
,
"delete_statement_s
tart"
,
"delete_statement_search
ed"
,
"
delete_statement_positioned"
,
"row_printf_stat
ement"
,
"
assignment_statement"
,
"elsif_element"
,
"elsif_list"
,
"else_par
t"
,
"
if_statement"
,
"while_statement"
,
"for_statement"
,
"exit
_statement"
,
"
return_statement"
,
"open_cursor_statement"
,
"close_cursor
_statement"
,
"
fetch_statement"
,
"column_def"
,
"column_def_list"
,
"opt_column_len
"
,
"opt_
unsigned"
,
"opt_not_null"
,
"not_fit_in_memory"
,
"create_table
"
,
"
column_list"
,
"unique_def"
,
"clustered_def"
,
"create_index
"
,
"
commit_statement"
,
"rollback_statement"
,
"type_name
"
,
"parameter_declaration
"
,
"parameter_declaration_list
"
,
"variable_declaration
"
,
"variable_declaration_list
"
,
"
cursor_declaration"
,
"function_declaration"
,
"declaration
"
,
"
declaration_list"
,
"
procedure_definition"
,
0
};
#endif
...
...
@@ -634,32 +638,32 @@ static const unsigned short int yytoknum[] =
315
,
316
,
317
,
318
,
319
,
320
,
321
,
322
,
323
,
324
,
325
,
326
,
327
,
328
,
329
,
330
,
331
,
332
,
333
,
334
,
335
,
336
,
337
,
338
,
339
,
340
,
341
,
342
,
343
,
344
,
345
,
61
,
60
,
62
,
45
,
43
,
42
,
47
,
346
,
3
7
,
59
,
40
,
41
,
63
,
44
,
123
,
125
345
,
346
,
347
,
61
,
60
,
62
,
45
,
43
,
42
,
4
7
,
348
,
37
,
59
,
40
,
41
,
63
,
44
,
123
,
125
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static
const
unsigned
char
yyr1
[]
=
{
0
,
107
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
108
,
109
,
109
,
110
,
110
,
110
,
0
,
109
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
111
,
111
,
111
,
111
,
111
,
111
,
111
,
111
,
111
,
111
,
111
,
112
,
112
,
112
,
113
,
114
,
115
,
115
,
115
,
116
,
117
,
117
,
118
,
118
,
118
,
119
,
119
,
119
,
120
,
120
,
120
,
120
,
121
,
121
,
121
,
122
,
122
,
122
,
123
,
123
,
124
,
124
,
125
,
125
,
126
,
126
,
126
,
127
,
127
,
128
,
129
,
130
,
130
,
131
,
132
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
143
,
144
,
144
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
152
,
153
,
154
,
154
,
155
,
155
,
156
,
156
,
157
,
157
,
158
,
158
,
159
,
160
,
160
,
161
,
161
,
162
,
162
,
163
,
164
,
165
,
166
,
166
,
166
,
166
,
166
,
167
,
167
,
168
,
168
,
168
,
169
,
170
,
170
,
170
,
171
,
172
,
173
,
173
,
174
,
174
,
174
,
175
110
,
110
,
110
,
110
,
110
,
111
,
111
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
112
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
114
,
114
,
114
,
115
,
116
,
117
,
117
,
117
,
118
,
119
,
119
,
120
,
120
,
120
,
121
,
121
,
121
,
122
,
122
,
122
,
122
,
123
,
123
,
123
,
124
,
124
,
124
,
125
,
125
,
126
,
126
,
127
,
127
,
128
,
128
,
128
,
129
,
129
,
130
,
131
,
132
,
132
,
133
,
134
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
145
,
145
,
146
,
146
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
154
,
155
,
156
,
156
,
157
,
157
,
158
,
158
,
159
,
159
,
160
,
160
,
161
,
162
,
162
,
163
,
163
,
164
,
164
,
165
,
166
,
167
,
168
,
168
,
168
,
168
,
168
,
169
,
169
,
170
,
170
,
170
,
171
,
172
,
172
,
172
,
173
,
174
,
175
,
175
,
176
,
176
,
176
,
177
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
...
...
@@ -668,21 +672,21 @@ static const unsigned char yyr2[] =
0
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
1
,
4
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
3
,
3
,
2
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
2
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
3
,
6
,
4
,
1
,
1
,
1
,
3
,
1
,
3
,
0
,
1
,
3
,
0
,
1
,
3
,
1
,
4
,
5
,
4
,
0
,
1
,
3
,
1
,
3
,
1
,
0
,
2
,
0
,
2
,
0
,
2
,
0
,
1
,
1
,
0
,
4
,
8
,
3
,
5
,
2
,
3
,
1
,
3
,
4
,
4
,
2
,
2
,
3
,
2
,
2
,
2
,
3
,
4
,
1
,
2
,
0
,
2
,
1
,
7
,
6
,
10
,
1
,
1
,
2
,
2
,
4
,
4
,
5
,
1
,
3
,
0
,
3
,
0
,
1
,
0
,
2
,
0
,
1
,
7
,
1
,
3
,
0
,
1
,
0
,
1
,
1
0
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
0
,
1
,
3
,
3
,
0
,
1
,
2
,
6
,
4
,
1
,
1
,
0
,
1
,
2
,
11
1
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
3
,
3
,
2
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
2
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
3
,
6
,
4
,
1
,
1
,
1
,
3
,
1
,
3
,
0
,
1
,
3
,
0
,
1
,
3
,
1
,
4
,
5
,
4
,
0
,
1
,
3
,
1
,
3
,
1
,
0
,
2
,
0
,
2
,
0
,
2
,
0
,
1
,
1
,
0
,
4
,
8
,
3
,
5
,
2
,
3
,
1
,
3
,
4
,
4
,
2
,
2
,
3
,
2
,
2
,
2
,
3
,
4
,
1
,
2
,
0
,
2
,
1
,
7
,
6
,
10
,
1
,
1
,
2
,
2
,
4
,
4
,
5
,
1
,
3
,
0
,
3
,
0
,
1
,
0
,
2
,
0
,
1
,
7
,
1
,
3
,
0
,
1
,
0
,
1
,
10
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
0
,
1
,
3
,
3
,
0
,
1
,
2
,
6
,
4
,
1
,
1
,
0
,
1
,
2
,
11
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
...
...
@@ -690,105 +694,105 @@ static const unsigned char yyr2[] =
means the default is an error. */
static
const
unsigned
char
yydefact
[]
=
{
0
,
0
,
0
,
0
,
0
,
126
,
83
,
0
,
0
,
0
,
0
,
145
,
0
,
0
,
0
,
67
,
68
,
69
,
0
,
0
,
0
,
125
,
0
,
0
,
3
,
0
,
0
,
0
,
0
,
0
,
89
,
0
,
0
,
89
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
128
,
85
,
0
,
0
,
0
,
0
,
147
,
0
,
0
,
0
,
69
,
70
,
71
,
0
,
0
,
0
,
127
,
0
,
0
,
3
,
0
,
0
,
0
,
0
,
0
,
91
,
0
,
0
,
91
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
29
,
30
,
31
,
32
,
33
,
34
,
27
,
0
,
35
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
81
,
86
,
90
,
0
,
0
,
0
,
0
,
0
,
0
,
148
,
149
,
129
,
0
,
130
,
116
,
152
,
153
,
0
,
1
,
4
,
78
,
11
,
0
,
105
,
12
,
0
,
111
,
112
,
16
,
17
,
114
,
115
,
14
,
15
,
13
,
10
,
8
,
5
,
6
,
7
,
9
,
18
,
20
,
19
,
23
,
24
,
21
,
22
,
2
,
117
,
161
,
0
,
50
,
0
,
40
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
29
,
30
,
31
,
32
,
27
,
0
,
33
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
86
,
79
,
84
,
88
,
0
,
0
,
0
,
0
,
0
,
0
,
146
,
147
,
127
,
0
,
128
,
114
,
150
,
151
,
0
,
1
,
4
,
76
,
11
,
0
,
103
,
12
,
0
,
109
,
110
,
16
,
17
,
112
,
113
,
14
,
15
,
13
,
10
,
8
,
5
,
6
,
7
,
9
,
18
,
20
,
19
,
23
,
24
,
21
,
22
,
2
,
115
,
159
,
0
,
48
,
0
,
38
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
76
,
0
,
0
,
0
,
73
,
0
,
0
,
0
,
101
,
0
,
111
,
0
,
148
,
0
,
73
,
62
,
77
,
0
,
76
,
0
,
90
,
0
,
160
,
0
,
49
,
50
,
39
,
46
,
47
,
43
,
44
,
45
,
25
,
119
,
40
,
41
,
42
,
35
,
34
,
36
,
37
,
0
,
0
,
0
,
0
,
0
,
74
,
87
,
85
,
71
,
89
,
0
,
0
,
105
,
108
,
0
,
0
,
74
,
130
,
129
,
63
,
0
,
66
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
26
,
117
,
121
,
0
,
28
,
0
,
82
,
0
,
80
,
0
,
0
,
0
,
91
,
0
,
0
,
0
,
0
,
132
,
0
,
0
,
0
,
0
,
0
,
78
,
102
,
107
,
155
,
156
,
152
,
153
,
154
,
157
,
158
,
163
,
161
,
120
,
0
,
118
,
0
,
123
,
81
,
75
,
72
,
0
,
93
,
0
,
104
,
106
,
134
,
140
,
0
,
0
,
70
,
65
,
64
,
0
,
164
,
170
,
0
,
122
,
92
,
0
,
98
,
0
,
0
,
136
,
141
,
142
,
133
,
0
,
0
,
0
,
165
,
168
,
169
,
171
,
0
,
116
,
94
,
0
,
100
,
0
,
0
,
137
,
138
,
0
,
162
,
0
,
0
,
0
,
172
,
0
,
0
,
135
,
0
,
131
,
143
,
0
,
0
,
0
,
0
,
95
,
124
,
139
,
149
,
0
,
0
,
167
,
173
,
96
,
97
,
99
,
144
,
0
,
166
78
,
0
,
0
,
0
,
75
,
0
,
0
,
0
,
103
,
0
,
113
,
0
,
150
,
0
,
75
,
64
,
79
,
0
,
78
,
0
,
92
,
0
,
162
,
0
,
51
,
52
,
41
,
48
,
49
,
45
,
46
,
47
,
25
,
121
,
42
,
43
,
44
,
37
,
36
,
38
,
39
,
0
,
0
,
0
,
0
,
0
,
76
,
89
,
87
,
73
,
91
,
0
,
0
,
107
,
110
,
0
,
0
,
76
,
132
,
131
,
65
,
0
,
68
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
26
,
119
,
123
,
0
,
28
,
0
,
84
,
0
,
82
,
0
,
0
,
0
,
93
,
0
,
0
,
0
,
0
,
134
,
0
,
0
,
0
,
0
,
0
,
80
,
104
,
109
,
157
,
158
,
154
,
155
,
156
,
159
,
160
,
165
,
163
,
122
,
0
,
120
,
0
,
125
,
83
,
77
,
74
,
0
,
95
,
0
,
106
,
108
,
136
,
142
,
0
,
0
,
72
,
67
,
66
,
0
,
166
,
172
,
0
,
124
,
94
,
0
,
100
,
0
,
0
,
138
,
143
,
144
,
135
,
0
,
0
,
0
,
167
,
170
,
171
,
173
,
0
,
118
,
96
,
0
,
102
,
0
,
0
,
139
,
140
,
0
,
164
,
0
,
0
,
0
,
174
,
0
,
0
,
137
,
0
,
133
,
145
,
0
,
0
,
0
,
0
,
97
,
126
,
141
,
151
,
0
,
0
,
169
,
175
,
98
,
99
,
101
,
146
,
0
,
168
};
/* YYDEFGOTO[NTERM-NUM]. */
static
const
short
int
yydefgoto
[]
=
{
-
1
,
18
0
,
181
,
164
,
74
,
209
,
24
,
25
,
26
,
206
,
198
,
195
,
165
,
80
,
81
,
82
,
105
,
264
,
282
,
331
,
30
0
,
27
,
28
,
29
,
201
,
202
,
106
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
22
1
,
222
,
223
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
23
7
,
238
,
285
,
304
,
31
5
,
287
,
46
,
317
,
89
,
161
,
47
,
48
,
49
,
251
,
17
0
,
171
,
276
,
277
,
293
,
294
,
295
,
296
,
50
-
1
,
18
2
,
183
,
166
,
76
,
211
,
24
,
25
,
26
,
208
,
200
,
197
,
167
,
82
,
83
,
84
,
107
,
266
,
284
,
333
,
30
2
,
27
,
28
,
29
,
203
,
204
,
108
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
22
3
,
224
,
225
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
23
9
,
240
,
287
,
306
,
31
7
,
289
,
46
,
319
,
91
,
163
,
47
,
48
,
49
,
253
,
17
2
,
173
,
278
,
279
,
295
,
296
,
297
,
298
,
50
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -
196
#define YYPACT_NINF -
209
static
const
short
int
yypact
[]
=
{
384
,
-
31
,
32
,
522
,
522
,
-
196
,
121
,
36
,
7
,
39
,
12
,
-
11
,
52
,
59
,
77
,
-
196
,
-
196
,
-
196
,
40
,
42
,
46
,
-
196
,
82
,
95
,
-
196
,
47
,
38
,
50
,
-
5
,
51
,
132
,
71
,
72
,
132
,
73
,
74
,
75
,
76
,
78
,
80
,
83
,
84
,
85
,
87
,
88
,
89
,
96
,
101
,
105
,
106
,
108
,
522
,
81
,
-
196
,
-
196
,
-
196
,
-
196
,
112
,
522
,
113
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
522
,
522
,
485
,
115
,
555
,
118
,
122
,
-
196
,
60
6
,
-
196
,
-
41
,
140
,
192
,
206
,
163
,
217
,
218
,
-
196
,
171
,
-
196
,
183
,
-
196
,
-
196
,
-
196
,
-
196
,
134
,
-
196
,
-
196
,
522
,
-
196
,
135
,
-
196
,
-
196
,
471
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
606
,
230
,
169
,
24
,
170
,
227
,
5
,
522
,
522
,
522
,
522
,
522
,
384
,
522
,
522
,
522
,
522
,
522
,
522
,
522
,
522
,
384
,
522
,
-
13
,
234
,
437
,
236
,
522
,
-
196
,
237
,
-
196
,
145
,
-
196
,
191
,
242
,
148
,
606
,
-
50
,
522
,
198
,
606
,
10
7
,
-
196
,
-
44
,
-
196
,
-
196
,
-
196
,
24
,
24
,
-
3
,
-
3
,
606
,
-
196
,
1
,
-
3
,
-
3
,
-
3
,
8
,
8
,
227
,
227
,
-
40
,
19
5
,
66
,
246
,
152
,
-
196
,
153
,
-
196
,
-
196
,
-
32
,
548
,
165
,
-
196
,
154
,
252
,
253
,
164
,
-
196
,
153
,
-
196
,
10
,
-
196
,
522
,
28
,
257
,
91
,
91
,
243
,
230
,
384
,
522
,
-
196
,
-
196
,
239
,
244
,
-
196
,
241
,
-
196
,
175
,
-
196
,
265
,
522
,
266
,
248
,
522
,
522
,
237
,
91
,
-
196
,
62
,
221
,
176
,
177
,
185
,
606
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
282
,
-
196
,
384
,
562
,
-
196
,
264
,
-
196
,
-
196
,
-
196
,
-
196
,
245
,
255
,
598
,
606
,
-
196
,
193
,
238
,
252
,
295
,
-
196
,
-
196
,
-
196
,
91
,
-
196
,
2
,
384
,
-
196
,
-
196
,
261
,
262
,
384
,
301
,
220
,
-
196
,
-
196
,
-
196
,
205
,
211
,
-
52
,
-
196
,
-
196
,
-
196
,
-
196
,
-
2
,
384
,
-
196
,
269
,
-
196
,
260
,
212
,
-
196
,
306
,
310
,
-
196
,
311
,
312
,
384
,
-
196
,
314
,
292
,
-
196
,
317
,
-
196
,
-
196
,
63
,
302
,
224
,
322
,
-
20
,
-
196
,
-
196
,
-
196
,
323
,
40
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
231
,
-
196
578
,
-
30
,
40
,
256
,
256
,
-
209
,
19
,
44
,
7
,
55
,
26
,
-
16
,
62
,
69
,
73
,
-
209
,
-
209
,
-
209
,
48
,
-
5
,
-
4
,
-
209
,
78
,
75
,
-
209
,
-
13
,
-
15
,
-
6
,
-
18
,
4
,
67
,
6
,
12
,
67
,
17
,
18
,
21
,
29
,
30
,
32
,
33
,
39
,
47
,
50
,
51
,
64
,
65
,
70
,
82
,
83
,
84
,
256
,
13
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
8
,
256
,
20
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
256
,
256
,
295
,
15
,
421
,
77
,
8
6
,
-
209
,
657
,
-
209
,
-
44
,
129
,
152
,
178
,
137
,
182
,
189
,
-
209
,
142
,
-
209
,
154
,
-
209
,
-
209
,
-
209
,
-
209
,
104
,
-
209
,
-
209
,
256
,
-
209
,
105
,
-
209
,
-
209
,
170
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
657
,
200
,
139
,
582
,
140
,
198
,
66
,
256
,
256
,
256
,
256
,
256
,
578
,
256
,
256
,
256
,
256
,
256
,
256
,
256
,
256
,
578
,
256
,
-
31
,
205
,
121
,
206
,
256
,
-
209
,
207
,
-
209
,
115
,
-
209
,
160
,
212
,
117
,
657
,
-
63
,
256
,
16
7
,
657
,
-
2
,
-
209
,
-
59
,
-
209
,
-
209
,
-
209
,
582
,
582
,
14
,
14
,
657
,
-
209
,
330
,
14
,
14
,
14
,
3
,
3
,
198
,
19
8
,
-
58
,
392
,
279
,
217
,
123
,
-
209
,
122
,
-
209
,
-
209
,
-
32
,
607
,
136
,
-
209
,
124
,
223
,
224
,
133
,
-
209
,
122
,
-
209
,
-
52
,
-
209
,
256
,
-
46
,
229
,
16
,
16
,
214
,
200
,
578
,
256
,
-
209
,
-
209
,
209
,
220
,
-
209
,
221
,
-
209
,
148
,
-
209
,
232
,
256
,
247
,
226
,
256
,
256
,
207
,
16
,
-
209
,
-
43
,
195
,
165
,
162
,
166
,
657
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
263
,
-
209
,
578
,
483
,
-
209
,
246
,
-
209
,
-
209
,
-
209
,
-
209
,
225
,
233
,
626
,
657
,
-
209
,
172
,
216
,
223
,
270
,
-
209
,
-
209
,
-
209
,
16
,
-
209
,
1
,
578
,
-
209
,
-
209
,
236
,
237
,
578
,
278
,
193
,
-
209
,
-
209
,
-
209
,
181
,
183
,
-
53
,
-
209
,
-
209
,
-
209
,
-
209
,
-
14
,
578
,
-
209
,
240
,
-
209
,
454
,
184
,
-
209
,
275
,
282
,
-
209
,
286
,
287
,
578
,
-
209
,
288
,
266
,
-
209
,
292
,
-
209
,
-
209
,
-
36
,
276
,
202
,
516
,
-
28
,
-
209
,
-
209
,
-
209
,
293
,
48
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
210
,
-
209
};
/* YYPGOTO[NTERM-NUM]. */
static
const
short
int
yypgoto
[]
=
{
-
196
,
0
,
-
130
,
-
1
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
172
,
-
124
,
179
,
-
196
,
-
196
,
-
29
,
-
196
,
-
196
,
-
196
,
-
196
,
-
17
,
-
196
,
-
196
,
98
,
-
196
,
304
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
116
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
69
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
196
,
-
195
,
125
,
-
196
,
79
,
-
196
,
-
196
,
-
196
,
54
,
-
196
,
-
196
-
209
,
0
,
-
130
,
-
1
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
143
,
-
136
,
158
,
-
209
,
-
209
,
-
29
,
-
209
,
-
209
,
-
209
,
-
209
,
-
17
,
-
209
,
-
209
,
79
,
-
209
,
281
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
91
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
45
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
209
,
-
208
,
99
,
-
209
,
41
,
-
209
,
-
209
,
-
209
,
23
,
-
209
,
-
209
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
...
...
@@ -798,192 +802,202 @@ static const short int yypgoto[] =
#define YYTABLE_NINF -1
static
const
unsigned
short
int
yytable
[]
=
{
23
,
93
,
73
,
75
,
109
,
79
,
230
,
152
,
1
,
275
,
139
,
102
,
307
,
135
,
136
,
2
,
137
,
138
,
139
,
190
,
252
,
139
,
309
,
192
,
189
,
329
,
330
,
3
,
6
,
218
,
219
,
51
,
4
,
5
,
6
,
137
,
138
,
139
,
308
,
52
,
7
,
268
,
212
,
83
,
101
,
87
,
85
,
88
,
8
,
86
,
128
,
9
,
210
,
10
,
211
,
84
,
11
,
131
,
216
,
90
,
217
,
291
,
224
,
153
,
211
,
291
,
91
,
12
,
13
,
14
,
133
,
134
,
231
,
6
,
135
,
136
,
15
,
137
,
138
,
139
,
290
,
16
,
17
,
193
,
92
,
18
,
19
,
20
,
255
,
96
,
21
,
144
,
145
,
146
,
147
,
97
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
168
,
146
,
147
,
22
,
174
,
246
,
247
,
248
,
249
,
241
,
250
,
242
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
214
,
215
,
53
,
54
,
55
,
56
,
57
,
94
,
244
,
58
,
211
,
95
,
175
,
176
,
177
,
178
,
179
,
99
,
182
,
183
,
184
,
185
,
186
,
187
,
188
,
98
,
297
,
191
,
100
,
103
,
79
,
301
,
199
,
76
,
77
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
269
,
324
,
270
,
325
,
226
,
232
,
104
,
107
,
108
,
111
,
112
,
113
,
114
,
154
,
115
,
320
,
116
,
220
,
129
,
117
,
118
,
119
,
59
,
120
,
121
,
122
,
220
,
60
,
61
,
62
,
63
,
64
,
123
,
65
,
66
,
67
,
68
,
124
,
1
,
69
,
70
,
125
,
126
,
155
,
127
,
2
,
243
,
130
,
132
,
156
,
157
,
71
,
148
,
78
,
256
,
150
,
225
,
3
,
72
,
151
,
158
,
159
,
4
,
5
,
6
,
168
,
160
,
162
,
265
,
266
,
7
,
163
,
166
,
169
,
172
,
173
,
139
,
194
,
8
,
197
,
200
,
9
,
203
,
10
,
204
,
205
,
11
,
208
,
213
,
227
,
228
,
220
,
234
,
229
,
235
,
236
,
239
,
12
,
13
,
14
,
245
,
240
,
253
,
1
,
219
,
258
,
15
,
259
,
261
,
262
,
2
,
16
,
17
,
260
,
272
,
18
,
19
,
20
,
271
,
273
,
21
,
312
,
3
,
263
,
274
,
275
,
279
,
4
,
5
,
6
,
284
,
280
,
281
,
220
,
286
,
7
,
22
,
220
,
289
,
298
,
302
,
299
,
305
,
8
,
303
,
333
,
9
,
306
,
10
,
311
,
313
,
11
,
314
,
316
,
318
,
319
,
220
,
321
,
322
,
323
,
327
,
326
,
12
,
13
,
14
,
1
,
332
,
334
,
196
,
267
,
207
,
15
,
2
,
110
,
257
,
288
,
16
,
17
,
254
,
0
,
18
,
19
,
20
,
328
,
3
,
21
,
310
,
0
,
0
,
4
,
5
,
6
,
292
,
0
,
0
,
0
,
0
,
7
,
0
,
0
,
0
,
22
,
0
,
0
,
0
,
8
,
0
,
0
,
9
,
0
,
10
,
0
,
0
,
11
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
12
,
13
,
23
,
95
,
75
,
77
,
111
,
81
,
154
,
194
,
232
,
254
,
277
,
104
,
311
,
309
,
191
,
216
,
217
,
6
,
141
,
331
,
332
,
192
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
141
,
270
,
60
,
214
,
103
,
51
,
248
,
249
,
250
,
251
,
310
,
252
,
212
,
89
,
213
,
90
,
218
,
226
,
219
,
213
,
52
,
130
,
293
,
243
,
85
,
244
,
78
,
79
,
86
,
246
,
133
,
213
,
271
,
155
,
272
,
87
,
88
,
293
,
195
,
326
,
292
,
327
,
92
,
135
,
136
,
233
,
99
,
137
,
138
,
93
,
139
,
140
,
141
,
94
,
6
,
96
,
97
,
61
,
98
,
101
,
100
,
257
,
62
,
63
,
64
,
65
,
66
,
102
,
67
,
68
,
69
,
70
,
148
,
149
,
71
,
72
,
170
,
105
,
106
,
109
,
132
,
146
,
147
,
148
,
149
,
110
,
73
,
131
,
80
,
150
,
113
,
114
,
134
,
74
,
115
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
116
,
117
,
60
,
118
,
119
,
177
,
178
,
179
,
180
,
181
,
120
,
184
,
185
,
186
,
187
,
188
,
189
,
190
,
121
,
299
,
193
,
122
,
123
,
81
,
303
,
201
,
78
,
79
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
124
,
125
,
156
,
157
,
176
,
234
,
126
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
152
,
322
,
60
,
222
,
127
,
128
,
129
,
158
,
61
,
153
,
159
,
160
,
222
,
62
,
63
,
64
,
65
,
66
,
161
,
67
,
68
,
69
,
70
,
162
,
164
,
71
,
72
,
165
,
168
,
171
,
174
,
175
,
245
,
141
,
196
,
199
,
202
,
73
,
205
,
206
,
258
,
207
,
210
,
215
,
74
,
169
,
229
,
230
,
231
,
236
,
237
,
170
,
238
,
241
,
267
,
268
,
242
,
61
,
247
,
255
,
221
,
263
,
62
,
63
,
64
,
65
,
66
,
260
,
67
,
68
,
69
,
70
,
262
,
261
,
71
,
72
,
264
,
222
,
273
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
73
,
265
,
60
,
274
,
275
,
276
,
277
,
74
,
281
,
286
,
283
,
282
,
288
,
291
,
300
,
304
,
301
,
305
,
307
,
308
,
313
,
316
,
315
,
137
,
138
,
318
,
139
,
140
,
141
,
320
,
321
,
323
,
324
,
222
,
325
,
328
,
334
,
222
,
329
,
137
,
138
,
209
,
139
,
140
,
141
,
335
,
336
,
198
,
112
,
259
,
269
,
290
,
256
,
0
,
294
,
312
,
222
,
61
,
142
,
0
,
0
,
0
,
62
,
63
,
64
,
65
,
66
,
0
,
67
,
68
,
69
,
70
,
0
,
1
,
71
,
72
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
73
,
0
,
0
,
0
,
0
,
0
,
3
,
74
,
220
,
221
,
0
,
4
,
5
,
6
,
0
,
0
,
0
,
0
,
0
,
7
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
8
,
0
,
0
,
9
,
228
,
10
,
0
,
0
,
11
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
0
,
0
,
0
,
12
,
13
,
14
,
1
,
0
,
0
,
0
,
0
,
0
,
15
,
2
,
0
,
0
,
0
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
0
,
0
,
0
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
227
,
3
,
21
,
0
,
0
,
0
,
4
,
5
,
6
,
0
,
0
,
0
,
0
,
0
,
7
,
0
,
0
,
0
,
22
,
0
,
0
,
0
,
137
,
138
,
7
,
139
,
140
,
141
,
22
,
0
,
0
,
0
,
8
,
0
,
0
,
9
,
0
,
10
,
0
,
0
,
11
,
53
,
54
,
55
,
56
,
57
,
0
,
0
,
58
,
0
,
0
,
12
,
13
,
14
,
0
,
0
,
0
,
0
,
0
,
0
,
15
,
0
,
0
,
0
,
0
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
76
,
77
,
21
,
53
,
54
,
55
,
56
,
57
,
0
,
0
,
58
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
22
,
0
,
0
,
0
,
135
,
136
,
0
,
137
,
138
,
139
,
0
,
0
,
0
,
59
,
0
,
0
,
0
,
0
,
60
,
61
,
62
,
63
,
64
,
140
,
65
,
66
,
67
,
68
,
0
,
0
,
69
,
70
,
0
,
0
,
0
,
167
,
53
,
54
,
55
,
56
,
57
,
0
,
71
,
58
,
0
,
0
,
0
,
59
,
0
,
72
,
0
,
0
,
60
,
61
,
62
,
63
,
64
,
0
,
65
,
66
,
67
,
68
,
0
,
0
,
69
,
70
,
0
,
135
,
136
,
0
,
137
,
138
,
139
,
0
,
135
,
136
,
71
,
137
,
138
,
139
,
0
,
135
,
136
,
72
,
137
,
138
,
139
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
0
,
0
,
149
,
0
,
59
,
233
,
278
,
0
,
0
,
60
,
61
,
62
,
63
,
64
,
0
,
65
,
66
,
67
,
68
,
0
,
0
,
69
,
70
,
135
,
136
,
0
,
137
,
138
,
139
,
0
,
0
,
135
,
136
,
71
,
137
,
138
,
139
,
0
,
0
,
0
,
72
,
0
,
0
,
0
,
0
,
283
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
0
,
0
,
0
,
151
,
0
,
0
,
0
,
0
,
0
,
0
,
12
,
13
,
14
,
1
,
0
,
0
,
0
,
0
,
0
,
15
,
2
,
0
,
0
,
0
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
314
,
3
,
21
,
0
,
0
,
0
,
4
,
5
,
6
,
0
,
0
,
0
,
137
,
138
,
7
,
139
,
140
,
141
,
22
,
0
,
0
,
0
,
8
,
0
,
0
,
9
,
0
,
10
,
0
,
0
,
11
,
280
,
0
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
0
,
12
,
13
,
14
,
1
,
0
,
0
,
0
,
0
,
0
,
15
,
2
,
0
,
0
,
0
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
330
,
3
,
21
,
0
,
0
,
0
,
4
,
5
,
6
,
0
,
0
,
0
,
0
,
0
,
7
,
0
,
0
,
0
,
22
,
0
,
0
,
0
,
8
,
0
,
0
,
9
,
0
,
10
,
0
,
0
,
11
,
0
,
0
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
0
,
12
,
13
,
14
,
1
,
0
,
0
,
0
,
0
,
0
,
15
,
2
,
139
,
140
,
141
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
0
,
3
,
21
,
0
,
0
,
0
,
4
,
5
,
6
,
0
,
0
,
0
,
137
,
138
,
7
,
139
,
140
,
141
,
22
,
0
,
0
,
0
,
8
,
0
,
0
,
9
,
0
,
10
,
0
,
0
,
11
,
137
,
138
,
0
,
139
,
140
,
141
,
0
,
0
,
0
,
0
,
12
,
13
,
14
,
235
,
0
,
0
,
0
,
0
,
0
,
15
,
0
,
0
,
285
,
0
,
16
,
17
,
0
,
0
,
18
,
19
,
20
,
137
,
138
,
21
,
139
,
140
,
141
,
0
,
0
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
0
,
0
,
0
,
22
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
0
,
141
,
142
,
143
,
144
,
145
,
146
,
147
143
,
144
,
145
,
146
,
147
,
148
,
149
};
static
const
short
int
yycheck
[]
=
{
0
,
18
,
3
,
4
,
33
,
6
,
38
,
48
,
7
,
7
,
13
,
28
,
64
,
8
,
9
,
14
,
11
,
12
,
13
,
149
,
215
,
13
,
24
,
36
,
148
,
45
,
46
,
26
,
33
,
28
,
29
,
62
,
31
,
32
,
33
,
11
,
12
,
13
,
90
,
7
,
39
,
236
,
166
,
7
,
49
,
56
,
7
,
58
,
47
,
37
,
51
,
50
,
102
,
52
,
104
,
48
,
55
,
58
,
102
,
7
,
104
,
63
,
102
,
104
,
104
,
63
,
7
,
66
,
67
,
68
,
71
,
72
,
104
,
33
,
8
,
9
,
75
,
11
,
12
,
13
,
275
,
80
,
81
,
96
,
7
,
84
,
85
,
86
,
218
,
7
,
89
,
94
,
95
,
96
,
97
,
0
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
104
,
96
,
97
,
105
,
102
,
17
,
18
,
19
,
20
,
102
,
22
,
104
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
15
,
16
,
3
,
4
,
5
,
6
,
7
,
87
,
102
,
10
,
104
,
87
,
135
,
136
,
137
,
138
,
139
,
101
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
100
,
278
,
150
,
100
,
100
,
153
,
283
,
155
,
34
,
35
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
102
,
102
,
104
,
104
,
102
,
198
,
38
,
100
,
100
,
100
,
100
,
100
,
100
,
37
,
100
,
309
,
100
,
181
,
101
,
100
,
100
,
100
,
65
,
100
,
100
,
100
,
190
,
70
,
71
,
72
,
73
,
74
,
100
,
76
,
77
,
78
,
79
,
100
,
7
,
82
,
83
,
100
,
100
,
15
,
100
,
14
,
211
,
99
,
99
,
7
,
51
,
94
,
101
,
96
,
219
,
101
,
25
,
26
,
101
,
101
,
7
,
7
,
31
,
32
,
33
,
230
,
59
,
48
,
233
,
234
,
39
,
101
,
101
,
7
,
69
,
69
,
13
,
7
,
47
,
7
,
7
,
50
,
101
,
52
,
57
,
7
,
55
,
103
,
54
,
7
,
102
,
255
,
91
,
104
,
104
,
7
,
7
,
66
,
67
,
68
,
7
,
101
,
23
,
7
,
29
,
25
,
75
,
30
,
7
,
7
,
14
,
80
,
81
,
102
,
102
,
84
,
85
,
86
,
61
,
106
,
89
,
25
,
26
,
39
,
103
,
7
,
26
,
31
,
32
,
33
,
101
,
50
,
41
,
297
,
60
,
39
,
105
,
301
,
7
,
42
,
3
,
43
,
101
,
47
,
88
,
326
,
50
,
100
,
52
,
44
,
102
,
55
,
10
,
7
,
7
,
7
,
320
,
7
,
30
,
6
,
100
,
23
,
66
,
67
,
68
,
7
,
7
,
100
,
153
,
235
,
162
,
75
,
14
,
33
,
222
,
270
,
80
,
81
,
217
,
-
1
,
84
,
85
,
86
,
25
,
26
,
89
,
296
,
-
1
,
-
1
,
31
,
32
,
33
,
277
,
-
1
,
-
1
,
-
1
,
-
1
,
39
,
-
1
,
-
1
,
-
1
,
105
,
-
1
,
-
1
,
-
1
,
47
,
-
1
,
-
1
,
50
,
-
1
,
52
,
-
1
,
-
1
,
55
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
66
,
67
,
68
,
7
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
75
,
14
,
-
1
,
-
1
,
-
1
,
80
,
81
,
-
1
,
-
1
,
84
,
85
,
86
,
-
1
,
26
,
89
,
-
1
,
-
1
,
-
1
,
31
,
32
,
33
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
39
,
-
1
,
-
1
,
-
1
,
105
,
-
1
,
-
1
,
-
1
,
47
,
-
1
,
-
1
,
50
,
-
1
,
52
,
-
1
,
-
1
,
55
,
3
,
4
,
5
,
6
,
7
,
-
1
,
-
1
,
10
,
-
1
,
-
1
,
66
,
67
,
68
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
75
,
-
1
,
-
1
,
-
1
,
-
1
,
80
,
81
,
-
1
,
-
1
,
84
,
85
,
86
,
34
,
35
,
89
,
3
,
4
,
5
,
6
,
7
,
-
1
,
-
1
,
10
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
105
,
-
1
,
-
1
,
-
1
,
8
,
9
,
-
1
,
11
,
12
,
13
,
-
1
,
-
1
,
-
1
,
65
,
-
1
,
-
1
,
-
1
,
-
1
,
70
,
71
,
72
,
73
,
74
,
27
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
82
,
83
,
-
1
,
-
1
,
-
1
,
53
,
3
,
4
,
5
,
6
,
7
,
-
1
,
94
,
10
,
-
1
,
-
1
,
-
1
,
65
,
-
1
,
101
,
-
1
,
-
1
,
70
,
71
,
72
,
73
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
82
,
83
,
-
1
,
8
,
9
,
-
1
,
11
,
12
,
13
,
-
1
,
8
,
9
,
94
,
11
,
12
,
13
,
-
1
,
8
,
9
,
101
,
11
,
12
,
13
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
-
1
,
-
1
,
30
,
-
1
,
65
,
40
,
27
,
-
1
,
-
1
,
70
,
71
,
72
,
73
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
82
,
83
,
8
,
9
,
-
1
,
11
,
12
,
13
,
-
1
,
-
1
,
8
,
9
,
94
,
11
,
12
,
13
,
-
1
,
-
1
,
-
1
,
101
,
-
1
,
-
1
,
-
1
,
-
1
,
30
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
0
,
18
,
3
,
4
,
33
,
6
,
50
,
38
,
40
,
217
,
9
,
28
,
26
,
66
,
150
,
17
,
18
,
35
,
15
,
47
,
48
,
151
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
15
,
238
,
12
,
168
,
51
,
64
,
19
,
20
,
21
,
22
,
92
,
24
,
104
,
58
,
106
,
60
,
104
,
104
,
106
,
106
,
9
,
51
,
65
,
104
,
9
,
106
,
36
,
37
,
50
,
104
,
60
,
106
,
104
,
106
,
106
,
9
,
39
,
65
,
98
,
104
,
277
,
106
,
9
,
73
,
74
,
106
,
0
,
10
,
11
,
9
,
13
,
14
,
15
,
9
,
35
,
89
,
89
,
67
,
9
,
103
,
102
,
220
,
72
,
73
,
74
,
75
,
76
,
102
,
78
,
79
,
80
,
81
,
98
,
99
,
84
,
85
,
106
,
102
,
40
,
102
,
101
,
96
,
97
,
98
,
99
,
102
,
96
,
103
,
98
,
103
,
102
,
102
,
101
,
103
,
102
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
102
,
102
,
12
,
102
,
102
,
137
,
138
,
139
,
140
,
141
,
102
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
102
,
280
,
152
,
102
,
102
,
155
,
285
,
157
,
36
,
37
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
102
,
102
,
39
,
17
,
104
,
200
,
102
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
103
,
311
,
12
,
183
,
102
,
102
,
102
,
9
,
67
,
103
,
53
,
9
,
192
,
72
,
73
,
74
,
75
,
76
,
9
,
78
,
79
,
80
,
81
,
61
,
50
,
84
,
85
,
103
,
103
,
9
,
71
,
71
,
213
,
15
,
9
,
9
,
9
,
96
,
103
,
59
,
221
,
9
,
105
,
56
,
103
,
55
,
9
,
104
,
106
,
93
,
106
,
232
,
9
,
9
,
235
,
236
,
103
,
67
,
9
,
25
,
31
,
9
,
72
,
73
,
74
,
75
,
76
,
27
,
78
,
79
,
80
,
81
,
104
,
32
,
84
,
85
,
9
,
257
,
63
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
96
,
41
,
12
,
104
,
108
,
105
,
9
,
103
,
28
,
103
,
43
,
52
,
62
,
9
,
44
,
3
,
45
,
90
,
103
,
102
,
46
,
12
,
104
,
10
,
11
,
9
,
13
,
14
,
15
,
9
,
9
,
9
,
32
,
299
,
8
,
25
,
9
,
303
,
102
,
10
,
11
,
164
,
13
,
14
,
15
,
328
,
102
,
155
,
33
,
224
,
237
,
272
,
219
,
-
1
,
279
,
298
,
322
,
67
,
29
,
-
1
,
-
1
,
-
1
,
72
,
73
,
74
,
75
,
76
,
-
1
,
78
,
79
,
80
,
81
,
-
1
,
9
,
84
,
85
,
-
1
,
-
1
,
-
1
,
-
1
,
16
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
96
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
28
,
103
,
30
,
31
,
-
1
,
33
,
34
,
35
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
41
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
49
,
-
1
,
-
1
,
52
,
104
,
54
,
-
1
,
-
1
,
57
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
-
1
,
-
1
,
-
1
,
68
,
69
,
70
,
9
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
77
,
16
,
-
1
,
-
1
,
-
1
,
82
,
83
,
-
1
,
-
1
,
86
,
87
,
88
,
27
,
28
,
91
,
-
1
,
-
1
,
-
1
,
33
,
34
,
35
,
-
1
,
-
1
,
-
1
,
10
,
11
,
41
,
13
,
14
,
15
,
107
,
-
1
,
-
1
,
-
1
,
49
,
-
1
,
-
1
,
52
,
-
1
,
54
,
-
1
,
-
1
,
57
,
-
1
,
-
1
,
-
1
,
32
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
68
,
69
,
70
,
9
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
77
,
16
,
-
1
,
-
1
,
-
1
,
82
,
83
,
-
1
,
-
1
,
86
,
87
,
88
,
27
,
28
,
91
,
-
1
,
-
1
,
-
1
,
33
,
34
,
35
,
-
1
,
-
1
,
-
1
,
10
,
11
,
41
,
13
,
14
,
15
,
107
,
-
1
,
-
1
,
-
1
,
49
,
-
1
,
-
1
,
52
,
-
1
,
54
,
-
1
,
-
1
,
57
,
29
,
-
1
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
-
1
,
68
,
69
,
70
,
9
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
77
,
16
,
-
1
,
-
1
,
-
1
,
82
,
83
,
-
1
,
-
1
,
86
,
87
,
88
,
27
,
28
,
91
,
-
1
,
-
1
,
-
1
,
33
,
34
,
35
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
41
,
-
1
,
-
1
,
-
1
,
107
,
-
1
,
-
1
,
-
1
,
49
,
-
1
,
-
1
,
52
,
-
1
,
54
,
-
1
,
-
1
,
57
,
-
1
,
-
1
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
-
1
,
68
,
69
,
70
,
9
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
77
,
16
,
13
,
14
,
15
,
82
,
83
,
-
1
,
-
1
,
86
,
87
,
88
,
-
1
,
28
,
91
,
-
1
,
-
1
,
-
1
,
33
,
34
,
35
,
-
1
,
-
1
,
-
1
,
10
,
11
,
41
,
13
,
14
,
15
,
107
,
-
1
,
-
1
,
-
1
,
49
,
-
1
,
-
1
,
52
,
-
1
,
54
,
-
1
,
-
1
,
57
,
10
,
11
,
-
1
,
13
,
14
,
15
,
-
1
,
-
1
,
-
1
,
-
1
,
68
,
69
,
70
,
42
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
77
,
-
1
,
-
1
,
32
,
-
1
,
82
,
83
,
-
1
,
-
1
,
86
,
87
,
88
,
10
,
11
,
91
,
13
,
14
,
15
,
-
1
,
-
1
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
-
1
,
-
1
,
-
1
,
107
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
-
1
,
91
,
92
,
93
,
94
,
95
,
96
,
97
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
93
,
94
,
95
,
96
,
97
,
98
,
99
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static
const
unsigned
char
yystos
[]
=
{
0
,
7
,
14
,
26
,
31
,
32
,
33
,
39
,
47
,
50
,
5
2
,
55
,
66
,
67
,
68
,
75
,
80
,
81
,
84
,
85
,
8
6
,
89
,
105
,
108
,
113
,
114
,
115
,
128
,
129
,
130
,
13
4
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
145
,
146
,
14
7
,
148
,
149
,
150
,
151
,
152
,
159
,
163
,
164
,
165
,
17
5
,
62
,
7
,
3
,
4
,
5
,
6
,
7
,
10
,
65
,
70
,
71
,
72
,
73
,
74
,
76
,
77
,
78
,
79
,
82
,
8
3
,
94
,
101
,
110
,
111
,
110
,
34
,
35
,
96
,
110
,
120
,
121
,
122
,
7
,
48
,
7
,
37
,
56
,
58
,
161
,
7
,
7
,
7
,
128
,
87
,
87
,
7
,
0
,
100
,
101
,
10
0
,
49
,
128
,
100
,
38
,
123
,
133
,
100
,
100
,
123
,
1
33
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
10
0
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
110
,
101
,
99
,
110
,
99
,
110
,
110
,
8
,
9
,
11
,
12
,
13
,
27
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
101
,
30
,
10
1
,
101
,
48
,
104
,
37
,
15
,
7
,
51
,
7
,
7
,
59
,
162
,
48
,
101
,
110
,
119
,
101
,
53
,
110
,
7
,
1
67
,
168
,
69
,
69
,
102
,
110
,
110
,
110
,
110
,
110
,
1
08
,
109
,
110
,
110
,
110
,
110
,
110
,
110
,
110
,
119
,
1
09
,
110
,
36
,
96
,
7
,
118
,
120
,
7
,
117
,
110
,
7
,
131
,
132
,
101
,
57
,
7
,
116
,
118
,
103
,
112
,
10
2
,
104
,
119
,
54
,
15
,
16
,
102
,
104
,
28
,
29
,
108
,
142
,
143
,
144
,
102
,
25
,
102
,
7
,
102
,
104
,
38
,
104
,
123
,
40
,
91
,
104
,
7
,
153
,
154
,
7
,
1
01
,
102
,
104
,
110
,
102
,
7
,
17
,
18
,
19
,
20
,
2
2
,
166
,
166
,
23
,
167
,
109
,
110
,
142
,
25
,
30
,
102
,
7
,
7
,
39
,
124
,
110
,
110
,
131
,
166
,
102
,
1
04
,
61
,
102
,
106
,
103
,
7
,
169
,
170
,
27
,
26
,
50
,
41
,
125
,
30
,
101
,
155
,
60
,
158
,
153
,
7
,
1
66
,
63
,
169
,
171
,
172
,
173
,
174
,
109
,
42
,
43
,
127
,
109
,
3
,
88
,
156
,
101
,
100
,
64
,
90
,
24
,
173
,
44
,
25
,
102
,
10
,
157
,
7
,
160
,
7
,
7
,
109
,
7
,
30
,
6
,
102
,
104
,
23
,
100
,
25
,
45
,
46
,
126
,
7
,
128
,
100
0
,
9
,
16
,
28
,
33
,
34
,
35
,
41
,
49
,
52
,
5
4
,
57
,
68
,
69
,
70
,
77
,
82
,
83
,
86
,
87
,
8
8
,
91
,
107
,
110
,
115
,
116
,
117
,
130
,
131
,
132
,
13
6
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
147
,
148
,
14
9
,
150
,
151
,
152
,
153
,
154
,
161
,
165
,
166
,
167
,
17
7
,
64
,
9
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
12
,
67
,
72
,
73
,
74
,
75
,
76
,
78
,
79
,
80
,
8
1
,
84
,
85
,
96
,
103
,
112
,
113
,
112
,
36
,
37
,
98
,
112
,
122
,
123
,
124
,
9
,
50
,
9
,
39
,
58
,
60
,
163
,
9
,
9
,
9
,
130
,
89
,
89
,
9
,
0
,
10
2
,
103
,
102
,
51
,
130
,
102
,
40
,
125
,
135
,
102
,
1
02
,
125
,
135
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
10
2
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
112
,
103
,
101
,
112
,
101
,
112
,
112
,
10
,
11
,
13
,
14
,
15
,
29
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
10
3
,
32
,
103
,
103
,
50
,
106
,
39
,
17
,
9
,
53
,
9
,
9
,
61
,
164
,
50
,
103
,
112
,
121
,
103
,
55
,
1
12
,
9
,
169
,
170
,
71
,
71
,
104
,
112
,
112
,
112
,
1
12
,
112
,
110
,
111
,
112
,
112
,
112
,
112
,
112
,
112
,
1
12
,
121
,
111
,
112
,
38
,
98
,
9
,
120
,
122
,
9
,
119
,
112
,
9
,
133
,
134
,
103
,
59
,
9
,
118
,
120
,
10
5
,
114
,
104
,
106
,
121
,
56
,
17
,
18
,
104
,
106
,
30
,
31
,
110
,
144
,
145
,
146
,
104
,
27
,
104
,
9
,
104
,
106
,
40
,
106
,
125
,
42
,
93
,
106
,
9
,
155
,
1
56
,
9
,
103
,
104
,
106
,
112
,
104
,
9
,
19
,
20
,
2
1
,
22
,
24
,
168
,
168
,
25
,
169
,
111
,
112
,
144
,
27
,
32
,
104
,
9
,
9
,
41
,
126
,
112
,
112
,
133
,
1
68
,
104
,
106
,
63
,
104
,
108
,
105
,
9
,
171
,
172
,
29
,
28
,
52
,
43
,
127
,
32
,
103
,
157
,
62
,
160
,
1
55
,
9
,
168
,
65
,
171
,
173
,
174
,
175
,
176
,
111
,
44
,
45
,
129
,
111
,
3
,
90
,
158
,
103
,
102
,
66
,
92
,
26
,
175
,
46
,
27
,
104
,
12
,
159
,
9
,
162
,
9
,
9
,
111
,
9
,
32
,
8
,
104
,
106
,
25
,
102
,
27
,
47
,
48
,
128
,
9
,
130
,
102
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
...
...
@@ -1595,275 +1609,285 @@ yyparse ()
switch
(
yyn
)
{
case
25
:
#line 16
0
"pars0grm.y"
#line 16
2
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
26
:
#line 16
2
"pars0grm.y"
#line 16
4
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;}
break
;
case
27
:
#line 16
6
"pars0grm.y"
#line 16
8
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;}
break
;
case
28
:
#line 1
68
"pars0grm.y"
#line 1
70
"pars0grm.y"
{
yyval
=
pars_func
(
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;}
break
;
case
29
:
#line 1
69
"pars0grm.y"
#line 1
71
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;}
break
;
case
30
:
#line 17
0
"pars0grm.y"
#line 17
2
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;}
break
;
case
31
:
#line 17
1
"pars0grm.y"
#line 17
3
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;}
break
;
case
32
:
#line 17
2
"pars0grm.y"
#line 17
4
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;}
break
;
case
33
:
#line 17
3
"pars0grm.y"
#line 17
5
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;}
break
;
case
34
:
#line 17
4
"pars0grm.y"
{
yyval
=
pars_op
(
'+'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 17
6
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
35
:
#line 17
5
"pars0grm.y"
{
yyval
=
pars_op
(
'-'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 17
7
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
36
:
#line 17
6
"pars0grm.y"
{
yyval
=
pars_op
(
'
*
'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 17
8
"pars0grm.y"
{
yyval
=
pars_op
(
'
+
'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
37
:
#line 17
7
"pars0grm.y"
{
yyval
=
pars_op
(
'
/
'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 17
9
"pars0grm.y"
{
yyval
=
pars_op
(
'
-
'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
38
:
#line 1
78
"pars0grm.y"
{
yyval
=
pars_op
(
'
-'
,
yyvsp
[
0
],
NULL
);
;}
#line 1
80
"pars0grm.y"
{
yyval
=
pars_op
(
'
*'
,
yyvsp
[
-
2
],
yyvsp
[
0
]
);
;}
break
;
case
39
:
#line 1
79
"pars0grm.y"
{
yyval
=
yyvsp
[
-
1
]
;
;}
#line 1
81
"pars0grm.y"
{
yyval
=
pars_op
(
'/'
,
yyvsp
[
-
2
],
yyvsp
[
0
])
;
;}
break
;
case
40
:
#line 18
0
"pars0grm.y"
{
yyval
=
pars_op
(
'
='
,
yyvsp
[
-
2
],
yyvsp
[
0
]
);
;}
#line 18
2
"pars0grm.y"
{
yyval
=
pars_op
(
'
-'
,
yyvsp
[
0
],
NULL
);
;}
break
;
case
41
:
#line 18
1
"pars0grm.y"
{
yyval
=
pars_op
(
'<'
,
yyvsp
[
-
2
],
yyvsp
[
0
])
;
;}
#line 18
3
"pars0grm.y"
{
yyval
=
yyvsp
[
-
1
]
;
;}
break
;
case
42
:
#line 18
2
"pars0grm.y"
{
yyval
=
pars_op
(
'
>
'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 18
4
"pars0grm.y"
{
yyval
=
pars_op
(
'
=
'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
43
:
#line 18
3
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_GE_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 18
5
"pars0grm.y"
{
yyval
=
pars_op
(
'<'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
44
:
#line 18
4
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_LE_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 18
6
"pars0grm.y"
{
yyval
=
pars_op
(
'>'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
45
:
#line 18
5
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
N
E_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 18
7
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
G
E_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
46
:
#line 18
6
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
AND
_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 18
8
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
LE
_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
47
:
#line 18
7
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
OR
_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 18
9
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
NE
_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
48
:
#line 1
88
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
NOT_TOKEN
,
yyvsp
[
0
],
NULL
);
;}
#line 1
90
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
AND_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]
);
;}
break
;
case
49
:
#line 19
0
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
NOTFOUND_TOKEN
,
yyvsp
[
-
2
],
NULL
);
;}
#line 19
1
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_
OR_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]
);
;}
break
;
case
50
:
#line 192 "pars0grm.y"
{
yyval
=
pars_op
(
PARS_NOT
FOUND_TOKEN
,
yyvsp
[
-
2
],
NULL
);
;}
{
yyval
=
pars_op
(
PARS_NOT
_TOKEN
,
yyvsp
[
0
],
NULL
);
;}
break
;
case
51
:
#line 194 "pars0grm.y"
{
yyval
=
pars_op
(
PARS_NOTFOUND_TOKEN
,
yyvsp
[
-
2
],
NULL
);
;}
break
;
case
52
:
#line 196 "pars0grm.y"
{
yyval
=
pars_op
(
PARS_NOTFOUND_TOKEN
,
yyvsp
[
-
2
],
NULL
);
;}
break
;
case
53
:
#line 200 "pars0grm.y"
{
yyval
=
&
pars_to_char_token
;
;}
break
;
case
5
2
:
#line
197
"pars0grm.y"
case
5
4
:
#line
201
"pars0grm.y"
{
yyval
=
&
pars_to_number_token
;
;}
break
;
case
5
3
:
#line
198
"pars0grm.y"
case
5
5
:
#line
202
"pars0grm.y"
{
yyval
=
&
pars_to_binary_token
;
;}
break
;
case
5
4
:
#line 20
0
"pars0grm.y"
case
5
6
:
#line 20
4
"pars0grm.y"
{
yyval
=
&
pars_binary_to_number_token
;
;}
break
;
case
5
5
:
#line 20
1
"pars0grm.y"
case
5
7
:
#line 20
5
"pars0grm.y"
{
yyval
=
&
pars_substr_token
;
;}
break
;
case
5
6
:
#line 20
2
"pars0grm.y"
case
5
8
:
#line 20
6
"pars0grm.y"
{
yyval
=
&
pars_concat_token
;
;}
break
;
case
5
7
:
#line 20
3
"pars0grm.y"
case
5
9
:
#line 20
7
"pars0grm.y"
{
yyval
=
&
pars_instr_token
;
;}
break
;
case
58
:
#line 20
4
"pars0grm.y"
case
60
:
#line 20
8
"pars0grm.y"
{
yyval
=
&
pars_length_token
;
;}
break
;
case
59
:
#line 20
5
"pars0grm.y"
case
61
:
#line 20
9
"pars0grm.y"
{
yyval
=
&
pars_sysdate_token
;
;}
break
;
case
6
0
:
#line 2
06
"pars0grm.y"
case
6
2
:
#line 2
10
"pars0grm.y"
{
yyval
=
&
pars_rnd_token
;
;}
break
;
case
6
1
:
#line 2
07
"pars0grm.y"
case
6
3
:
#line 2
11
"pars0grm.y"
{
yyval
=
&
pars_rnd_str_token
;
;}
break
;
case
6
5
:
#line 2
18
"pars0grm.y"
case
6
7
:
#line 2
22
"pars0grm.y"
{
yyval
=
pars_stored_procedure_call
(
yyvsp
[
-
4
]);
;}
break
;
case
6
6
:
#line 22
3
"pars0grm.y"
case
6
8
:
#line 22
7
"pars0grm.y"
{
yyval
=
pars_procedure_call
(
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;}
break
;
case
6
7
:
#line 2
27
"pars0grm.y"
case
6
9
:
#line 2
31
"pars0grm.y"
{
yyval
=
&
pars_replstr_token
;
;}
break
;
case
68
:
#line 2
28
"pars0grm.y"
case
70
:
#line 2
32
"pars0grm.y"
{
yyval
=
&
pars_printf_token
;
;}
break
;
case
69
:
#line 2
29
"pars0grm.y"
case
71
:
#line 2
33
"pars0grm.y"
{
yyval
=
&
pars_assert_token
;
;}
break
;
case
7
0
:
#line 23
3
"pars0grm.y"
case
7
2
:
#line 23
7
"pars0grm.y"
{
yyval
=
yyvsp
[
-
2
];
;}
break
;
case
7
1
:
#line 2
37
"pars0grm.y"
case
7
3
:
#line 2
41
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
7
2
:
#line 2
39
"pars0grm.y"
case
7
4
:
#line 2
43
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
7
3
:
#line 24
3
"pars0grm.y"
case
7
5
:
#line 24
7
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
7
4
:
#line 24
4
"pars0grm.y"
case
7
6
:
#line 24
8
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
7
5
:
#line 2
46
"pars0grm.y"
case
7
7
:
#line 2
50
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
7
6
:
#line 25
0
"pars0grm.y"
case
7
8
:
#line 25
4
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
7
7
:
#line 25
1
"pars0grm.y"
case
7
9
:
#line 25
5
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);;}
break
;
case
78
:
#line 25
2
"pars0grm.y"
case
80
:
#line 25
6
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
79
:
#line 2
56
"pars0grm.y"
case
81
:
#line 2
60
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
8
0
:
#line 2
58
"pars0grm.y"
case
8
2
:
#line 2
62
"pars0grm.y"
{
yyval
=
pars_func
(
&
pars_count_token
,
que_node_list_add_last
(
NULL
,
sym_tab_add_int_lit
(
pars_sym_tab_global
,
1
)));
;}
break
;
case
8
1
:
#line 26
3
"pars0grm.y"
case
8
3
:
#line 26
7
"pars0grm.y"
{
yyval
=
pars_func
(
&
pars_count_token
,
que_node_list_add_last
(
NULL
,
pars_func
(
&
pars_distinct_token
,
...
...
@@ -1871,436 +1895,436 @@ yyparse ()
NULL
,
yyvsp
[
-
1
]))));
;}
break
;
case
8
2
:
#line 2
69
"pars0grm.y"
case
8
4
:
#line 2
73
"pars0grm.y"
{
yyval
=
pars_func
(
&
pars_sum_token
,
que_node_list_add_last
(
NULL
,
yyvsp
[
-
1
]));
;}
break
;
case
8
3
:
#line 27
5
"pars0grm.y"
case
8
5
:
#line 27
9
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
8
4
:
#line 2
76
"pars0grm.y"
case
8
6
:
#line 2
80
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
8
5
:
#line 2
78
"pars0grm.y"
case
8
7
:
#line 2
82
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
8
6
:
#line 28
2
"pars0grm.y"
case
8
8
:
#line 28
6
"pars0grm.y"
{
yyval
=
pars_select_list
(
&
pars_star_denoter
,
NULL
);
;}
break
;
case
8
7
:
#line 28
5
"pars0grm.y"
case
8
9
:
#line 28
9
"pars0grm.y"
{
yyval
=
pars_select_list
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
88
:
#line 2
86
"pars0grm.y"
case
90
:
#line 2
90
"pars0grm.y"
{
yyval
=
pars_select_list
(
yyvsp
[
0
],
NULL
);
;}
break
;
case
89
:
#line 29
0
"pars0grm.y"
case
91
:
#line 29
4
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
9
0
:
#line 29
1
"pars0grm.y"
case
9
2
:
#line 29
5
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
9
1
:
#line 29
5
"pars0grm.y"
case
9
3
:
#line 29
9
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
9
2
:
#line
297
"pars0grm.y"
case
9
4
:
#line
301
"pars0grm.y"
{
yyval
=
&
pars_update_token
;
;}
break
;
case
9
3
:
#line 30
1
"pars0grm.y"
case
9
5
:
#line 30
5
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
9
4
:
#line 30
3
"pars0grm.y"
case
9
6
:
#line 30
7
"pars0grm.y"
{
yyval
=
&
pars_consistent_token
;
;}
break
;
case
9
5
:
#line 3
07
"pars0grm.y"
case
9
7
:
#line 3
11
"pars0grm.y"
{
yyval
=
&
pars_asc_token
;
;}
break
;
case
9
6
:
#line 3
08
"pars0grm.y"
case
9
8
:
#line 3
12
"pars0grm.y"
{
yyval
=
&
pars_asc_token
;
;}
break
;
case
9
7
:
#line 3
09
"pars0grm.y"
case
9
9
:
#line 3
13
"pars0grm.y"
{
yyval
=
&
pars_desc_token
;
;}
break
;
case
98
:
#line 31
3
"pars0grm.y"
case
100
:
#line 31
7
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
99
:
#line 31
5
"pars0grm.y"
case
101
:
#line 31
9
"pars0grm.y"
{
yyval
=
pars_order_by
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;}
break
;
case
10
0
:
#line 32
4
"pars0grm.y"
case
10
2
:
#line 32
8
"pars0grm.y"
{
yyval
=
pars_select_statement
(
yyvsp
[
-
6
],
yyvsp
[
-
4
],
yyvsp
[
-
3
],
yyvsp
[
-
2
],
yyvsp
[
-
1
],
yyvsp
[
0
]);
;}
break
;
case
10
1
:
#line 33
0
"pars0grm.y"
case
10
3
:
#line 33
4
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
10
2
:
#line 33
5
"pars0grm.y"
case
10
4
:
#line 33
9
"pars0grm.y"
{
yyval
=
pars_insert_statement
(
yyvsp
[
-
4
],
yyvsp
[
-
1
],
NULL
);
;}
break
;
case
10
3
:
#line 3
37
"pars0grm.y"
case
10
5
:
#line 3
41
"pars0grm.y"
{
yyval
=
pars_insert_statement
(
yyvsp
[
-
1
],
NULL
,
yyvsp
[
0
]);
;}
break
;
case
10
4
:
#line 34
1
"pars0grm.y"
case
10
6
:
#line 34
5
"pars0grm.y"
{
yyval
=
pars_column_assignment
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
10
5
:
#line 34
5
"pars0grm.y"
case
10
7
:
#line 34
9
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
10
6
:
#line 3
47
"pars0grm.y"
case
10
8
:
#line 3
51
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
10
7
:
#line 35
3
"pars0grm.y"
case
10
9
:
#line 35
7
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
1
08
:
#line 3
59
"pars0grm.y"
case
1
10
:
#line 3
63
"pars0grm.y"
{
yyval
=
pars_update_statement_start
(
FALSE
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
1
09
:
#line 36
5
"pars0grm.y"
case
1
11
:
#line 36
9
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
NULL
,
yyvsp
[
0
]);
;}
break
;
case
11
0
:
#line 37
0
"pars0grm.y"
case
11
2
:
#line 37
4
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
yyvsp
[
0
],
NULL
);
;}
break
;
case
11
1
:
#line 37
5
"pars0grm.y"
case
11
3
:
#line 37
9
"pars0grm.y"
{
yyval
=
pars_update_statement_start
(
TRUE
,
yyvsp
[
0
],
NULL
);
;}
break
;
case
11
2
:
#line 38
1
"pars0grm.y"
case
11
4
:
#line 38
5
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
NULL
,
yyvsp
[
0
]);
;}
break
;
case
11
3
:
#line 3
86
"pars0grm.y"
case
11
5
:
#line 3
90
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
yyvsp
[
0
],
NULL
);
;}
break
;
case
11
4
:
#line 39
1
"pars0grm.y"
case
11
6
:
#line 39
5
"pars0grm.y"
{
yyval
=
pars_row_printf_statement
(
yyvsp
[
0
]);
;}
break
;
case
11
5
:
#line
396
"pars0grm.y"
case
11
7
:
#line
400
"pars0grm.y"
{
yyval
=
pars_assignment_statement
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
11
6
:
#line 40
2
"pars0grm.y"
case
11
8
:
#line 40
6
"pars0grm.y"
{
yyval
=
pars_elsif_element
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
11
7
:
#line 4
06
"pars0grm.y"
case
11
9
:
#line 4
10
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
1
18
:
#line 4
08
"pars0grm.y"
case
1
20
:
#line 4
12
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;}
break
;
case
1
19
:
#line 41
2
"pars0grm.y"
case
1
21
:
#line 41
6
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
12
0
:
#line 41
4
"pars0grm.y"
case
12
2
:
#line 41
8
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
12
1
:
#line 41
5
"pars0grm.y"
case
12
3
:
#line 41
9
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;}
break
;
case
12
2
:
#line 42
2
"pars0grm.y"
case
12
4
:
#line 42
6
"pars0grm.y"
{
yyval
=
pars_if_statement
(
yyvsp
[
-
5
],
yyvsp
[
-
3
],
yyvsp
[
-
2
]);
;}
break
;
case
12
3
:
#line 4
28
"pars0grm.y"
case
12
5
:
#line 4
32
"pars0grm.y"
{
yyval
=
pars_while_statement
(
yyvsp
[
-
4
],
yyvsp
[
-
2
]);
;}
break
;
case
12
4
:
#line 4
36
"pars0grm.y"
case
12
6
:
#line 4
40
"pars0grm.y"
{
yyval
=
pars_for_statement
(
yyvsp
[
-
8
],
yyvsp
[
-
6
],
yyvsp
[
-
4
],
yyvsp
[
-
2
]);
;}
break
;
case
12
5
:
#line 44
0
"pars0grm.y"
case
12
7
:
#line 44
4
"pars0grm.y"
{
yyval
=
pars_exit_statement
();
;}
break
;
case
12
6
:
#line 44
4
"pars0grm.y"
case
12
8
:
#line 44
8
"pars0grm.y"
{
yyval
=
pars_return_statement
();
;}
break
;
case
12
7
:
#line 4
49
"pars0grm.y"
case
12
9
:
#line 4
53
"pars0grm.y"
{
yyval
=
pars_open_statement
(
ROW_SEL_OPEN_CURSOR
,
yyvsp
[
0
]);
;}
break
;
case
1
28
:
#line 45
5
"pars0grm.y"
case
1
30
:
#line 45
9
"pars0grm.y"
{
yyval
=
pars_open_statement
(
ROW_SEL_CLOSE_CURSOR
,
yyvsp
[
0
]);
;}
break
;
case
129
:
#line 461 "pars0grm.y"
{
yyval
=
pars_fetch_statement
(
yyvsp
[
-
2
],
yyvsp
[
0
],
NULL
);
;}
break
;
case
130
:
#line 463 "pars0grm.y"
{
yyval
=
pars_fetch_statement
(
yyvsp
[
-
2
],
NULL
,
yyvsp
[
0
]);
;}
break
;
case
131
:
#line 46
8
"pars0grm.y"
{
yyval
=
pars_
column_def
(
yyvsp
[
-
4
],
yyvsp
[
-
3
],
yyvsp
[
-
2
],
yyvsp
[
-
1
],
yyvsp
[
0
]
);
;}
#line 46
5
"pars0grm.y"
{
yyval
=
pars_
fetch_statement
(
yyvsp
[
-
2
],
yyvsp
[
0
],
NULL
);
;}
break
;
case
132
:
#line 4
72
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
#line 4
67
"pars0grm.y"
{
yyval
=
pars_fetch_statement
(
yyvsp
[
-
2
],
NULL
,
yyvsp
[
0
]);
;}
break
;
case
133
:
#line 47
4
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 47
2
"pars0grm.y"
{
yyval
=
pars_column_def
(
yyvsp
[
-
4
],
yyvsp
[
-
3
],
yyvsp
[
-
2
],
yyvsp
[
-
1
],
yyvsp
[
0
]);
;}
break
;
case
134
:
#line 47
8
"pars0grm.y"
{
yyval
=
NULL
;
;}
#line 47
6
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
])
;
;}
break
;
case
135
:
#line 4
80
"pars0grm.y"
{
yyval
=
yyvsp
[
-
1
]
;
;}
#line 4
78
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
])
;
;}
break
;
case
136
:
#line 48
4
"pars0grm.y"
#line 48
2
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
137
:
#line 486 "pars0grm.y"
{
yyval
=
&
pars_int_token
;
/* pass any non-NULL pointer */
;}
#line 484 "pars0grm.y"
{
yyval
=
yyvsp
[
-
1
];
;}
break
;
case
138
:
#line 4
91
"pars0grm.y"
#line 4
88
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
139
:
#line 49
3
"pars0grm.y"
#line 49
0
"pars0grm.y"
{
yyval
=
&
pars_int_token
;
/* pass any non-NULL pointer */
;}
break
;
case
140
:
#line 49
8
"pars0grm.y"
#line 49
5
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
141
:
#line
500
"pars0grm.y"
#line
497
"pars0grm.y"
{
yyval
=
&
pars_int_token
;
/* pass any non-NULL pointer */
;}
break
;
case
142
:
#line 50
7
"pars0grm.y"
{
yyval
=
pars_create_table
(
yyvsp
[
-
4
],
yyvsp
[
-
2
],
yyvsp
[
0
])
;
;}
#line 50
2
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
143
:
#line 511 "pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
#line 504 "pars0grm.y"
{
yyval
=
&
pars_int_token
;
/* pass any non-NULL pointer */
;}
break
;
case
144
:
#line 51
3
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
#line 51
1
"pars0grm.y"
{
yyval
=
pars_create_table
(
yyvsp
[
-
4
],
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
145
:
#line 51
7
"pars0grm.y"
{
yyval
=
NULL
;
;}
#line 51
5
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
])
;
;}
break
;
case
146
:
#line 51
8
"pars0grm.y"
{
yyval
=
&
pars_unique_token
;
;}
#line 51
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
])
;
;}
break
;
case
147
:
#line 52
2
"pars0grm.y"
#line 52
1
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
148
:
#line 52
3
"pars0grm.y"
{
yyval
=
&
pars_
clustered
_token
;
;}
#line 52
2
"pars0grm.y"
{
yyval
=
&
pars_
unique
_token
;
;}
break
;
case
149
:
#line 5
31
"pars0grm.y"
{
yyval
=
pars_create_index
(
yyvsp
[
-
8
],
yyvsp
[
-
7
],
yyvsp
[
-
5
],
yyvsp
[
-
3
],
yyvsp
[
-
1
])
;
;}
#line 5
26
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
150
:
#line 5
36
"pars0grm.y"
{
yyval
=
pars_commit_statement
()
;
;}
#line 5
27
"pars0grm.y"
{
yyval
=
&
pars_clustered_token
;
;}
break
;
case
151
:
#line 5
41
"pars0grm.y"
{
yyval
=
pars_
rollback_statement
(
);
;}
#line 5
35
"pars0grm.y"
{
yyval
=
pars_
create_index
(
yyvsp
[
-
8
],
yyvsp
[
-
7
],
yyvsp
[
-
5
],
yyvsp
[
-
3
],
yyvsp
[
-
1
]
);
;}
break
;
case
152
:
#line 540 "pars0grm.y"
{
yyval
=
pars_commit_statement
();
;}
break
;
case
153
:
#line 545 "pars0grm.y"
{
yyval
=
pars_rollback_statement
();
;}
break
;
case
154
:
#line 549 "pars0grm.y"
{
yyval
=
&
pars_int_token
;
;}
break
;
case
15
3
:
#line 5
46
"pars0grm.y"
case
15
5
:
#line 5
50
"pars0grm.y"
{
yyval
=
&
pars_int_token
;
;}
break
;
case
15
4
:
#line 5
47
"pars0grm.y"
case
15
6
:
#line 5
51
"pars0grm.y"
{
yyval
=
&
pars_char_token
;
;}
break
;
case
15
5
:
#line 5
48
"pars0grm.y"
case
15
7
:
#line 5
52
"pars0grm.y"
{
yyval
=
&
pars_binary_token
;
;}
break
;
case
15
6
:
#line 5
49
"pars0grm.y"
case
15
8
:
#line 5
53
"pars0grm.y"
{
yyval
=
&
pars_blob_token
;
;}
break
;
case
15
7
:
#line 55
4
"pars0grm.y"
case
15
9
:
#line 55
8
"pars0grm.y"
{
yyval
=
pars_parameter_declaration
(
yyvsp
[
-
2
],
PARS_INPUT
,
yyvsp
[
0
]);
;}
break
;
case
1
58
:
#line 5
57
"pars0grm.y"
case
1
60
:
#line 5
61
"pars0grm.y"
{
yyval
=
pars_parameter_declaration
(
yyvsp
[
-
2
],
PARS_OUTPUT
,
yyvsp
[
0
]);
;}
break
;
case
1
59
:
#line 56
2
"pars0grm.y"
case
1
61
:
#line 56
6
"pars0grm.y"
{
yyval
=
NULL
;
;}
break
;
case
16
0
:
#line 56
3
"pars0grm.y"
case
16
2
:
#line 56
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;}
break
;
case
16
1
:
#line 56
5
"pars0grm.y"
case
16
3
:
#line 56
9
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;}
break
;
case
16
2
:
#line 57
0
"pars0grm.y"
case
16
4
:
#line 57
4
"pars0grm.y"
{
yyval
=
pars_variable_declaration
(
yyvsp
[
-
2
],
yyvsp
[
-
1
]);
;}
break
;
case
16
6
:
#line 58
2
"pars0grm.y"
case
16
8
:
#line 58
6
"pars0grm.y"
{
yyval
=
pars_cursor_declaration
(
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;}
break
;
case
16
7
:
#line 5
87
"pars0grm.y"
case
16
9
:
#line 5
91
"pars0grm.y"
{
yyval
=
pars_function_declaration
(
yyvsp
[
-
1
]);
;}
break
;
case
17
3
:
#line 6
08
"pars0grm.y"
case
17
5
:
#line 6
12
"pars0grm.y"
{
yyval
=
pars_procedure_definition
(
yyvsp
[
-
9
],
yyvsp
[
-
7
],
yyvsp
[
-
1
]);
;}
break
;
...
...
@@ -2309,7 +2333,7 @@ yyparse ()
}
/* Line 1010 of yacc.c. */
#line 23
13
"pars0grm.tab.c"
#line 23
37
"pars0grm.tab.c"
yyvsp
-=
yylen
;
yyssp
-=
yylen
;
...
...
@@ -2534,6 +2558,6 @@ yyparse ()
}
#line 61
2
"pars0grm.y"
#line 61
6
"pars0grm.y"
pars/pars0grm.h
View file @
727354ae
...
...
@@ -32,183 +32,187 @@
PARS_INT_LIT
=
258
,
PARS_FLOAT_LIT
=
259
,
PARS_STR_LIT
=
260
,
PARS_NULL_LIT
=
261
,
PARS_ID_TOKEN
=
262
,
PARS_AND_TOKEN
=
263
,
PARS_OR_TOKEN
=
264
,
PARS_NOT_TOKEN
=
265
,
PARS_GE_TOKEN
=
266
,
PARS_LE_TOKEN
=
267
,
PARS_NE_TOKEN
=
268
,
PARS_PROCEDURE_TOKEN
=
269
,
PARS_IN_TOKEN
=
270
,
PARS_OUT_TOKEN
=
271
,
PARS_BINARY_TOKEN
=
272
,
PARS_BLOB_TOKEN
=
273
,
PARS_INT_TOKEN
=
274
,
PARS_INTEGER_TOKEN
=
275
,
PARS_FLOAT_TOKEN
=
276
,
PARS_CHAR_TOKEN
=
277
,
PARS_IS_TOKEN
=
278
,
PARS_BEGIN_TOKEN
=
279
,
PARS_END_TOKEN
=
280
,
PARS_IF_TOKEN
=
281
,
PARS_THEN_TOKEN
=
282
,
PARS_ELSE_TOKEN
=
283
,
PARS_ELSIF_TOKEN
=
284
,
PARS_LOOP_TOKEN
=
285
,
PARS_WHILE_TOKEN
=
286
,
PARS_RETURN_TOKEN
=
287
,
PARS_SELECT_TOKEN
=
288
,
PARS_SUM_TOKEN
=
289
,
PARS_COUNT_TOKEN
=
290
,
PARS_DISTINCT_TOKEN
=
291
,
PARS_FROM_TOKEN
=
292
,
PARS_WHERE_TOKEN
=
293
,
PARS_FOR_TOKEN
=
294
,
PARS_DDOT_TOKEN
=
295
,
PARS_CONSISTENT_TOKEN
=
296
,
PARS_READ_TOKEN
=
297
,
PARS_ORDER_TOKEN
=
298
,
PARS_BY_TOKEN
=
299
,
PARS_ASC_TOKEN
=
300
,
PARS_DESC_TOKEN
=
301
,
PARS_INSERT_TOKEN
=
302
,
PARS_INTO_TOKEN
=
303
,
PARS_VALUES_TOKEN
=
304
,
PARS_UPDATE_TOKEN
=
305
,
PARS_SET_TOKEN
=
306
,
PARS_DELETE_TOKEN
=
307
,
PARS_CURRENT_TOKEN
=
308
,
PARS_OF_TOKEN
=
309
,
PARS_CREATE_TOKEN
=
310
,
PARS_TABLE_TOKEN
=
311
,
PARS_INDEX_TOKEN
=
312
,
PARS_UNIQUE_TOKEN
=
313
,
PARS_CLUSTERED_TOKEN
=
314
,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
=
315
,
PARS_ON_TOKEN
=
316
,
PARS_ASSIGN_TOKEN
=
317
,
PARS_DECLARE_TOKEN
=
318
,
PARS_CURSOR_TOKEN
=
319
,
PARS_SQL_TOKEN
=
320
,
PARS_OPEN_TOKEN
=
321
,
PARS_FETCH_TOKEN
=
322
,
PARS_CLOSE_TOKEN
=
323
,
PARS_NOTFOUND_TOKEN
=
324
,
PARS_TO_CHAR_TOKEN
=
325
,
PARS_TO_NUMBER_TOKEN
=
326
,
PARS_TO_BINARY_TOKEN
=
327
,
PARS_BINARY_TO_NUMBER_TOKEN
=
328
,
PARS_SUBSTR_TOKEN
=
329
,
PARS_REPLSTR_TOKEN
=
330
,
PARS_CONCAT_TOKEN
=
331
,
PARS_INSTR_TOKEN
=
332
,
PARS_LENGTH_TOKEN
=
333
,
PARS_SYSDATE_TOKEN
=
334
,
PARS_PRINTF_TOKEN
=
335
,
PARS_ASSERT_TOKEN
=
336
,
PARS_RND_TOKEN
=
337
,
PARS_RND_STR_TOKEN
=
338
,
PARS_ROW_PRINTF_TOKEN
=
339
,
PARS_COMMIT_TOKEN
=
340
,
PARS_ROLLBACK_TOKEN
=
341
,
PARS_WORK_TOKEN
=
342
,
PARS_UNSIGNED_TOKEN
=
343
,
PARS_EXIT_TOKEN
=
344
,
PARS_FUNCTION_TOKEN
=
345
,
NEG
=
346
PARS_FIXBINARY_LIT
=
261
,
PARS_BLOB_LIT
=
262
,
PARS_NULL_LIT
=
263
,
PARS_ID_TOKEN
=
264
,
PARS_AND_TOKEN
=
265
,
PARS_OR_TOKEN
=
266
,
PARS_NOT_TOKEN
=
267
,
PARS_GE_TOKEN
=
268
,
PARS_LE_TOKEN
=
269
,
PARS_NE_TOKEN
=
270
,
PARS_PROCEDURE_TOKEN
=
271
,
PARS_IN_TOKEN
=
272
,
PARS_OUT_TOKEN
=
273
,
PARS_BINARY_TOKEN
=
274
,
PARS_BLOB_TOKEN
=
275
,
PARS_INT_TOKEN
=
276
,
PARS_INTEGER_TOKEN
=
277
,
PARS_FLOAT_TOKEN
=
278
,
PARS_CHAR_TOKEN
=
279
,
PARS_IS_TOKEN
=
280
,
PARS_BEGIN_TOKEN
=
281
,
PARS_END_TOKEN
=
282
,
PARS_IF_TOKEN
=
283
,
PARS_THEN_TOKEN
=
284
,
PARS_ELSE_TOKEN
=
285
,
PARS_ELSIF_TOKEN
=
286
,
PARS_LOOP_TOKEN
=
287
,
PARS_WHILE_TOKEN
=
288
,
PARS_RETURN_TOKEN
=
289
,
PARS_SELECT_TOKEN
=
290
,
PARS_SUM_TOKEN
=
291
,
PARS_COUNT_TOKEN
=
292
,
PARS_DISTINCT_TOKEN
=
293
,
PARS_FROM_TOKEN
=
294
,
PARS_WHERE_TOKEN
=
295
,
PARS_FOR_TOKEN
=
296
,
PARS_DDOT_TOKEN
=
297
,
PARS_CONSISTENT_TOKEN
=
298
,
PARS_READ_TOKEN
=
299
,
PARS_ORDER_TOKEN
=
300
,
PARS_BY_TOKEN
=
301
,
PARS_ASC_TOKEN
=
302
,
PARS_DESC_TOKEN
=
303
,
PARS_INSERT_TOKEN
=
304
,
PARS_INTO_TOKEN
=
305
,
PARS_VALUES_TOKEN
=
306
,
PARS_UPDATE_TOKEN
=
307
,
PARS_SET_TOKEN
=
308
,
PARS_DELETE_TOKEN
=
309
,
PARS_CURRENT_TOKEN
=
310
,
PARS_OF_TOKEN
=
311
,
PARS_CREATE_TOKEN
=
312
,
PARS_TABLE_TOKEN
=
313
,
PARS_INDEX_TOKEN
=
314
,
PARS_UNIQUE_TOKEN
=
315
,
PARS_CLUSTERED_TOKEN
=
316
,
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
=
317
,
PARS_ON_TOKEN
=
318
,
PARS_ASSIGN_TOKEN
=
319
,
PARS_DECLARE_TOKEN
=
320
,
PARS_CURSOR_TOKEN
=
321
,
PARS_SQL_TOKEN
=
322
,
PARS_OPEN_TOKEN
=
323
,
PARS_FETCH_TOKEN
=
324
,
PARS_CLOSE_TOKEN
=
325
,
PARS_NOTFOUND_TOKEN
=
326
,
PARS_TO_CHAR_TOKEN
=
327
,
PARS_TO_NUMBER_TOKEN
=
328
,
PARS_TO_BINARY_TOKEN
=
329
,
PARS_BINARY_TO_NUMBER_TOKEN
=
330
,
PARS_SUBSTR_TOKEN
=
331
,
PARS_REPLSTR_TOKEN
=
332
,
PARS_CONCAT_TOKEN
=
333
,
PARS_INSTR_TOKEN
=
334
,
PARS_LENGTH_TOKEN
=
335
,
PARS_SYSDATE_TOKEN
=
336
,
PARS_PRINTF_TOKEN
=
337
,
PARS_ASSERT_TOKEN
=
338
,
PARS_RND_TOKEN
=
339
,
PARS_RND_STR_TOKEN
=
340
,
PARS_ROW_PRINTF_TOKEN
=
341
,
PARS_COMMIT_TOKEN
=
342
,
PARS_ROLLBACK_TOKEN
=
343
,
PARS_WORK_TOKEN
=
344
,
PARS_UNSIGNED_TOKEN
=
345
,
PARS_EXIT_TOKEN
=
346
,
PARS_FUNCTION_TOKEN
=
347
,
NEG
=
348
};
#endif
#define PARS_INT_LIT 258
#define PARS_FLOAT_LIT 259
#define PARS_STR_LIT 260
#define PARS_NULL_LIT 261
#define PARS_ID_TOKEN 262
#define PARS_AND_TOKEN 263
#define PARS_OR_TOKEN 264
#define PARS_NOT_TOKEN 265
#define PARS_GE_TOKEN 266
#define PARS_LE_TOKEN 267
#define PARS_NE_TOKEN 268
#define PARS_PROCEDURE_TOKEN 269
#define PARS_IN_TOKEN 270
#define PARS_OUT_TOKEN 271
#define PARS_BINARY_TOKEN 272
#define PARS_BLOB_TOKEN 273
#define PARS_INT_TOKEN 274
#define PARS_INTEGER_TOKEN 275
#define PARS_FLOAT_TOKEN 276
#define PARS_CHAR_TOKEN 277
#define PARS_IS_TOKEN 278
#define PARS_BEGIN_TOKEN 279
#define PARS_END_TOKEN 280
#define PARS_IF_TOKEN 281
#define PARS_THEN_TOKEN 282
#define PARS_ELSE_TOKEN 283
#define PARS_ELSIF_TOKEN 284
#define PARS_LOOP_TOKEN 285
#define PARS_WHILE_TOKEN 286
#define PARS_RETURN_TOKEN 287
#define PARS_SELECT_TOKEN 288
#define PARS_SUM_TOKEN 289
#define PARS_COUNT_TOKEN 290
#define PARS_DISTINCT_TOKEN 291
#define PARS_FROM_TOKEN 292
#define PARS_WHERE_TOKEN 293
#define PARS_FOR_TOKEN 294
#define PARS_DDOT_TOKEN 295
#define PARS_CONSISTENT_TOKEN 296
#define PARS_READ_TOKEN 297
#define PARS_ORDER_TOKEN 298
#define PARS_BY_TOKEN 299
#define PARS_ASC_TOKEN 300
#define PARS_DESC_TOKEN 301
#define PARS_INSERT_TOKEN 302
#define PARS_INTO_TOKEN 303
#define PARS_VALUES_TOKEN 304
#define PARS_UPDATE_TOKEN 305
#define PARS_SET_TOKEN 306
#define PARS_DELETE_TOKEN 307
#define PARS_CURRENT_TOKEN 308
#define PARS_OF_TOKEN 309
#define PARS_CREATE_TOKEN 310
#define PARS_TABLE_TOKEN 311
#define PARS_INDEX_TOKEN 312
#define PARS_UNIQUE_TOKEN 313
#define PARS_CLUSTERED_TOKEN 314
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 315
#define PARS_ON_TOKEN 316
#define PARS_ASSIGN_TOKEN 317
#define PARS_DECLARE_TOKEN 318
#define PARS_CURSOR_TOKEN 319
#define PARS_SQL_TOKEN 320
#define PARS_OPEN_TOKEN 321
#define PARS_FETCH_TOKEN 322
#define PARS_CLOSE_TOKEN 323
#define PARS_NOTFOUND_TOKEN 324
#define PARS_TO_CHAR_TOKEN 325
#define PARS_TO_NUMBER_TOKEN 326
#define PARS_TO_BINARY_TOKEN 327
#define PARS_BINARY_TO_NUMBER_TOKEN 328
#define PARS_SUBSTR_TOKEN 329
#define PARS_REPLSTR_TOKEN 330
#define PARS_CONCAT_TOKEN 331
#define PARS_INSTR_TOKEN 332
#define PARS_LENGTH_TOKEN 333
#define PARS_SYSDATE_TOKEN 334
#define PARS_PRINTF_TOKEN 335
#define PARS_ASSERT_TOKEN 336
#define PARS_RND_TOKEN 337
#define PARS_RND_STR_TOKEN 338
#define PARS_ROW_PRINTF_TOKEN 339
#define PARS_COMMIT_TOKEN 340
#define PARS_ROLLBACK_TOKEN 341
#define PARS_WORK_TOKEN 342
#define PARS_UNSIGNED_TOKEN 343
#define PARS_EXIT_TOKEN 344
#define PARS_FUNCTION_TOKEN 345
#define NEG 346
#define PARS_FIXBINARY_LIT 261
#define PARS_BLOB_LIT 262
#define PARS_NULL_LIT 263
#define PARS_ID_TOKEN 264
#define PARS_AND_TOKEN 265
#define PARS_OR_TOKEN 266
#define PARS_NOT_TOKEN 267
#define PARS_GE_TOKEN 268
#define PARS_LE_TOKEN 269
#define PARS_NE_TOKEN 270
#define PARS_PROCEDURE_TOKEN 271
#define PARS_IN_TOKEN 272
#define PARS_OUT_TOKEN 273
#define PARS_BINARY_TOKEN 274
#define PARS_BLOB_TOKEN 275
#define PARS_INT_TOKEN 276
#define PARS_INTEGER_TOKEN 277
#define PARS_FLOAT_TOKEN 278
#define PARS_CHAR_TOKEN 279
#define PARS_IS_TOKEN 280
#define PARS_BEGIN_TOKEN 281
#define PARS_END_TOKEN 282
#define PARS_IF_TOKEN 283
#define PARS_THEN_TOKEN 284
#define PARS_ELSE_TOKEN 285
#define PARS_ELSIF_TOKEN 286
#define PARS_LOOP_TOKEN 287
#define PARS_WHILE_TOKEN 288
#define PARS_RETURN_TOKEN 289
#define PARS_SELECT_TOKEN 290
#define PARS_SUM_TOKEN 291
#define PARS_COUNT_TOKEN 292
#define PARS_DISTINCT_TOKEN 293
#define PARS_FROM_TOKEN 294
#define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297
#define PARS_CONSISTENT_TOKEN 298
#define PARS_READ_TOKEN 299
#define PARS_ORDER_TOKEN 300
#define PARS_BY_TOKEN 301
#define PARS_ASC_TOKEN 302
#define PARS_DESC_TOKEN 303
#define PARS_INSERT_TOKEN 304
#define PARS_INTO_TOKEN 305
#define PARS_VALUES_TOKEN 306
#define PARS_UPDATE_TOKEN 307
#define PARS_SET_TOKEN 308
#define PARS_DELETE_TOKEN 309
#define PARS_CURRENT_TOKEN 310
#define PARS_OF_TOKEN 311
#define PARS_CREATE_TOKEN 312
#define PARS_TABLE_TOKEN 313
#define PARS_INDEX_TOKEN 314
#define PARS_UNIQUE_TOKEN 315
#define PARS_CLUSTERED_TOKEN 316
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317
#define PARS_ON_TOKEN 318
#define PARS_ASSIGN_TOKEN 319
#define PARS_DECLARE_TOKEN 320
#define PARS_CURSOR_TOKEN 321
#define PARS_SQL_TOKEN 322
#define PARS_OPEN_TOKEN 323
#define PARS_FETCH_TOKEN 324
#define PARS_CLOSE_TOKEN 325
#define PARS_NOTFOUND_TOKEN 326
#define PARS_TO_CHAR_TOKEN 327
#define PARS_TO_NUMBER_TOKEN 328
#define PARS_TO_BINARY_TOKEN 329
#define PARS_BINARY_TO_NUMBER_TOKEN 330
#define PARS_SUBSTR_TOKEN 331
#define PARS_REPLSTR_TOKEN 332
#define PARS_CONCAT_TOKEN 333
#define PARS_INSTR_TOKEN 334
#define PARS_LENGTH_TOKEN 335
#define PARS_SYSDATE_TOKEN 336
#define PARS_PRINTF_TOKEN 337
#define PARS_ASSERT_TOKEN 338
#define PARS_RND_TOKEN 339
#define PARS_RND_STR_TOKEN 340
#define PARS_ROW_PRINTF_TOKEN 341
#define PARS_COMMIT_TOKEN 342
#define PARS_ROLLBACK_TOKEN 343
#define PARS_WORK_TOKEN 344
#define PARS_UNSIGNED_TOKEN 345
#define PARS_EXIT_TOKEN 346
#define PARS_FUNCTION_TOKEN 347
#define NEG 348
...
...
pars/pars0grm.y
View file @
727354ae
...
...
@@ -33,6 +33,8 @@ yylex(void);
%token PARS_INT_LIT
%token PARS_FLOAT_LIT
%token PARS_STR_LIT
%token PARS_FIXBINARY_LIT
%token PARS_BLOB_LIT
%token PARS_NULL_LIT
%token PARS_ID_TOKEN
%token PARS_AND_TOKEN
...
...
@@ -169,6 +171,8 @@ exp:
| PARS_INT_LIT { $$ = $1;}
| PARS_FLOAT_LIT { $$ = $1;}
| PARS_STR_LIT { $$ = $1;}
| PARS_FIXBINARY_LIT { $$ = $1;}
| PARS_BLOB_LIT { $$ = $1;}
| PARS_NULL_LIT { $$ = $1;}
| PARS_SQL_TOKEN { $$ = $1;}
| exp '+' exp { $$ = pars_op('+', $1, $3); }
...
...
pars/pars0lex.l
View file @
727354ae
...
...
@@ -83,6 +83,8 @@ string_append(
DIGIT [0-9]
ID [a-z_A-Z][a-z_A-Z0-9]*
BOUND_LIT \:[a-z_A-Z0-9]+
%x comment
%x quoted
%x id
...
...
@@ -100,6 +102,15 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
return(PARS_FLOAT_LIT);
}
{BOUND_LIT} {
ulint type;
yylval = sym_tab_add_bound_lit(pars_sym_tab_global,
yytext + 1, &type);
return(type);
}
"'" {
/* Quoted character string literals are handled in an explicit
start state 'quoted'. This state is entered and the buffer for
...
...
pars/pars0pars.c
View file @
727354ae
...
...
@@ -1937,3 +1937,29 @@ pars_info_get_user_func(
return
(
NULL
);
}
/********************************************************************
Get bound literal with the given name.*/
pars_bound_lit_t
*
pars_info_get_bound_lit
(
/*====================*/
/* out: bound literal, or NULL if
not found */
pars_info_t
*
info
,
/* in: info struct */
const
char
*
name
)
/* in: bound literal name to find */
{
ulint
i
;
if
(
!
info
)
{
return
(
NULL
);
}
for
(
i
=
0
;
i
<
info
->
n_bound_lits
;
i
++
)
{
if
(
strcmp
(
info
->
bound_lits
[
i
].
name
,
name
)
==
0
)
{
return
(
&
info
->
bound_lits
[
i
]);
}
}
return
(
NULL
);
}
pars/pars0sym.c
View file @
727354ae
...
...
@@ -15,6 +15,7 @@ Created 12/15/1997 Heikki Tuuri
#include "mem0mem.h"
#include "data0type.h"
#include "data0data.h"
#include "pars0grm.h"
#include "pars0pars.h"
#include "que0que.h"
#include "eval0eval.h"
...
...
@@ -165,6 +166,71 @@ sym_tab_add_str_lit(
return
(
node
);
}
/**********************************************************************
Add a bound literal to a symbol table. */
sym_node_t
*
sym_tab_add_bound_lit
(
/*==================*/
/* out: symbol table node */
sym_tab_t
*
sym_tab
,
/* in: symbol table */
const
char
*
name
,
/* in: name of bound literal */
ulint
*
lit_type
)
/* out: type of literal (PARS_*_LIT) */
{
sym_node_t
*
node
;
pars_bound_lit_t
*
blit
;
ulint
len
;
blit
=
pars_info_get_bound_lit
(
sym_tab
->
info
,
name
);
ut_a
(
blit
);
ut_a
(
blit
->
length
>
0
);
node
=
mem_heap_alloc
(
sym_tab
->
heap
,
sizeof
(
sym_node_t
));
node
->
common
.
type
=
QUE_NODE_SYMBOL
;
node
->
resolved
=
TRUE
;
node
->
token_type
=
SYM_LIT
;
node
->
indirection
=
NULL
;
switch
(
blit
->
type
)
{
case
DATA_FIXBINARY
:
len
=
blit
->
length
;
*
lit_type
=
PARS_FIXBINARY_LIT
;
break
;
case
DATA_BLOB
:
len
=
0
;
*
lit_type
=
PARS_BLOB_LIT
;
break
;
case
DATA_INT
:
ut_a
(
blit
->
length
<=
8
);
len
=
blit
->
length
;
*
lit_type
=
PARS_INT_LIT
;
break
;
default:
ut_error
;
}
dtype_set
(
&
(
node
->
common
.
val
.
type
),
blit
->
type
,
blit
->
prtype
,
len
,
0
);
dfield_set_data
(
&
(
node
->
common
.
val
),
blit
->
address
,
blit
->
length
);
node
->
common
.
val_buf_size
=
0
;
node
->
prefetch_buf
=
NULL
;
node
->
cursor_def
=
NULL
;
UT_LIST_ADD_LAST
(
sym_list
,
sym_tab
->
sym_list
,
node
);
node
->
sym_table
=
sym_tab
;
return
(
node
);
}
/**********************************************************************
Adds an SQL null literal to a symbol table. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment