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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
6b6a024e
Commit
6b6a024e
authored
Aug 24, 2002
by
heikki@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lexyy.c, pars0lex.l, pars0grm.c, pars0grm.y:
Port alloca and Windows fix from 3.23
parent
fd7106a4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
288 additions
and
261 deletions
+288
-261
innobase/pars/lexyy.c
innobase/pars/lexyy.c
+139
-114
innobase/pars/pars0grm.c
innobase/pars/pars0grm.c
+145
-145
innobase/pars/pars0grm.y
innobase/pars/pars0grm.y
+2
-2
innobase/pars/pars0lex.l
innobase/pars/pars0lex.l
+2
-0
No files found.
innobase/pars/lexyy.c
View file @
6b6a024e
...
...
@@ -583,8 +583,33 @@ SQL parser lexical analyzer: input file for the GNU Flex lexer generator
Created 12/14/1997 Heikki Tuuri
Published under the GPL version 2
The InnoDB parser is frozen because MySQL takes care of SQL parsing.
Therefore we normally keep the InnoDB parser C files as they are, and do
not automatically generate them from pars0grm.y and pars0lex.l.
How to make the InnoDB parser and lexer C files:
1. First do
bison -d pars0grm.y
That generates pars0grm.tab.c and pars0grm.tab.h.
2. Rename pars0grm.tab.c to pars0grm.c and pars0grm.tab.h to pars0grm.h.
3. Copy pars0grm.h also to /innobase/include
4. Do
flex pars0lex.l
That generates lex.yy.c.
5. Rename lex.yy.c to lexyy.c.
6. Remove the #include of unistd.h from about line 2500 of lexyy.c
These instructions seem to work at least with bison-1.28 and flex-2.5.4 on
Linux.
*******************************************************/
#line
11
"pars0lex.l"
#line
36
"pars0lex.l"
#define YYSTYPE que_node_t*
#include "univ.i"
...
...
@@ -603,7 +628,7 @@ Published under the GPL version 2
#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result, max_size)
#define comment 1
#line 6
07
"lex.yy.c"
#line 6
32
"lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
...
...
@@ -754,10 +779,10 @@ YY_DECL
register
char
*
yy_cp
,
*
yy_bp
;
register
int
yy_act
;
#line
32
"pars0lex.l"
#line
57
"pars0lex.l"
#line 7
61
"lex.yy.c"
#line 7
86
"lex.yy.c"
if
(
yy_init
)
{
...
...
@@ -842,7 +867,7 @@ do_action: /* This label is used only to access EOF actions. */
case
1
:
YY_RULE_SETUP
#line
34
"pars0lex.l"
#line
59
"pars0lex.l"
{
yylval
=
sym_tab_add_int_lit
(
pars_sym_tab_global
,
atoi
(
yytext
));
...
...
@@ -851,7 +876,7 @@ YY_RULE_SETUP
YY_BREAK
case
2
:
YY_RULE_SETUP
#line
40
"pars0lex.l"
#line
65
"pars0lex.l"
{
ut_error
;
/* not implemented */
...
...
@@ -860,7 +885,7 @@ YY_RULE_SETUP
YY_BREAK
case
3
:
YY_RULE_SETUP
#line
46
"pars0lex.l"
#line
71
"pars0lex.l"
{
/* Remove the single quotes around the string */
...
...
@@ -872,7 +897,7 @@ YY_RULE_SETUP
YY_BREAK
case
4
:
YY_RULE_SETUP
#line
55
"pars0lex.l"
#line
80
"pars0lex.l"
{
yylval
=
sym_tab_add_null_lit
(
pars_sym_tab_global
);
...
...
@@ -881,7 +906,7 @@ YY_RULE_SETUP
YY_BREAK
case
5
:
YY_RULE_SETUP
#line
61
"pars0lex.l"
#line
86
"pars0lex.l"
{
/* Implicit cursor name */
yylval
=
sym_tab_add_str_lit
(
pars_sym_tab_global
,
...
...
@@ -891,511 +916,511 @@ YY_RULE_SETUP
YY_BREAK
case
6
:
YY_RULE_SETUP
#line
68
"pars0lex.l"
#line
93
"pars0lex.l"
{
return
(
PARS_AND_TOKEN
);
}
YY_BREAK
case
7
:
YY_RULE_SETUP
#line
72
"pars0lex.l"
#line
97
"pars0lex.l"
{
return
(
PARS_OR_TOKEN
);
}
YY_BREAK
case
8
:
YY_RULE_SETUP
#line
76
"pars0lex.l"
#line
101
"pars0lex.l"
{
return
(
PARS_NOT_TOKEN
);
}
YY_BREAK
case
9
:
YY_RULE_SETUP
#line
80
"pars0lex.l"
#line
105
"pars0lex.l"
{
return
(
PARS_PROCEDURE_TOKEN
);
}
YY_BREAK
case
10
:
YY_RULE_SETUP
#line
84
"pars0lex.l"
#line
109
"pars0lex.l"
{
return
(
PARS_IN_TOKEN
);
}
YY_BREAK
case
11
:
YY_RULE_SETUP
#line
88
"pars0lex.l"
#line
113
"pars0lex.l"
{
return
(
PARS_OUT_TOKEN
);
}
YY_BREAK
case
12
:
YY_RULE_SETUP
#line
92
"pars0lex.l"
#line
117
"pars0lex.l"
{
return
(
PARS_INT_TOKEN
);
}
YY_BREAK
case
13
:
YY_RULE_SETUP
#line
96
"pars0lex.l"
#line
121
"pars0lex.l"
{
return
(
PARS_INT_TOKEN
);
}
YY_BREAK
case
14
:
YY_RULE_SETUP
#line 1
00
"pars0lex.l"
#line 1
25
"pars0lex.l"
{
return
(
PARS_FLOAT_TOKEN
);
}
YY_BREAK
case
15
:
YY_RULE_SETUP
#line 1
04
"pars0lex.l"
#line 1
29
"pars0lex.l"
{
return
(
PARS_CHAR_TOKEN
);
}
YY_BREAK
case
16
:
YY_RULE_SETUP
#line 1
08
"pars0lex.l"
#line 1
33
"pars0lex.l"
{
return
(
PARS_IS_TOKEN
);
}
YY_BREAK
case
17
:
YY_RULE_SETUP
#line 1
12
"pars0lex.l"
#line 1
37
"pars0lex.l"
{
return
(
PARS_BEGIN_TOKEN
);
}
YY_BREAK
case
18
:
YY_RULE_SETUP
#line 1
16
"pars0lex.l"
#line 1
41
"pars0lex.l"
{
return
(
PARS_END_TOKEN
);
}
YY_BREAK
case
19
:
YY_RULE_SETUP
#line 1
20
"pars0lex.l"
#line 1
45
"pars0lex.l"
{
return
(
PARS_IF_TOKEN
);
}
YY_BREAK
case
20
:
YY_RULE_SETUP
#line 1
24
"pars0lex.l"
#line 1
49
"pars0lex.l"
{
return
(
PARS_THEN_TOKEN
);
}
YY_BREAK
case
21
:
YY_RULE_SETUP
#line 1
28
"pars0lex.l"
#line 1
53
"pars0lex.l"
{
return
(
PARS_ELSE_TOKEN
);
}
YY_BREAK
case
22
:
YY_RULE_SETUP
#line 1
32
"pars0lex.l"
#line 1
57
"pars0lex.l"
{
return
(
PARS_ELSIF_TOKEN
);
}
YY_BREAK
case
23
:
YY_RULE_SETUP
#line 1
36
"pars0lex.l"
#line 1
61
"pars0lex.l"
{
return
(
PARS_LOOP_TOKEN
);
}
YY_BREAK
case
24
:
YY_RULE_SETUP
#line 1
40
"pars0lex.l"
#line 1
65
"pars0lex.l"
{
return
(
PARS_WHILE_TOKEN
);
}
YY_BREAK
case
25
:
YY_RULE_SETUP
#line 1
44
"pars0lex.l"
#line 1
69
"pars0lex.l"
{
return
(
PARS_RETURN_TOKEN
);
}
YY_BREAK
case
26
:
YY_RULE_SETUP
#line 1
48
"pars0lex.l"
#line 1
73
"pars0lex.l"
{
return
(
PARS_SELECT_TOKEN
);
}
YY_BREAK
case
27
:
YY_RULE_SETUP
#line 1
52
"pars0lex.l"
#line 1
77
"pars0lex.l"
{
return
(
PARS_SUM_TOKEN
);
}
YY_BREAK
case
28
:
YY_RULE_SETUP
#line 1
56
"pars0lex.l"
#line 1
81
"pars0lex.l"
{
return
(
PARS_COUNT_TOKEN
);
}
YY_BREAK
case
29
:
YY_RULE_SETUP
#line 1
60
"pars0lex.l"
#line 1
85
"pars0lex.l"
{
return
(
PARS_DISTINCT_TOKEN
);
}
YY_BREAK
case
30
:
YY_RULE_SETUP
#line 1
64
"pars0lex.l"
#line 1
89
"pars0lex.l"
{
return
(
PARS_FROM_TOKEN
);
}
YY_BREAK
case
31
:
YY_RULE_SETUP
#line 1
68
"pars0lex.l"
#line 1
93
"pars0lex.l"
{
return
(
PARS_WHERE_TOKEN
);
}
YY_BREAK
case
32
:
YY_RULE_SETUP
#line 1
72
"pars0lex.l"
#line 1
97
"pars0lex.l"
{
return
(
PARS_FOR_TOKEN
);
}
YY_BREAK
case
33
:
YY_RULE_SETUP
#line
176
"pars0lex.l"
#line
201
"pars0lex.l"
{
return
(
PARS_CONSISTENT_TOKEN
);
}
YY_BREAK
case
34
:
YY_RULE_SETUP
#line
180
"pars0lex.l"
#line
205
"pars0lex.l"
{
return
(
PARS_READ_TOKEN
);
}
YY_BREAK
case
35
:
YY_RULE_SETUP
#line
184
"pars0lex.l"
#line
209
"pars0lex.l"
{
return
(
PARS_ORDER_TOKEN
);
}
YY_BREAK
case
36
:
YY_RULE_SETUP
#line
188
"pars0lex.l"
#line
213
"pars0lex.l"
{
return
(
PARS_BY_TOKEN
);
}
YY_BREAK
case
37
:
YY_RULE_SETUP
#line
192
"pars0lex.l"
#line
217
"pars0lex.l"
{
return
(
PARS_ASC_TOKEN
);
}
YY_BREAK
case
38
:
YY_RULE_SETUP
#line
196
"pars0lex.l"
#line
221
"pars0lex.l"
{
return
(
PARS_DESC_TOKEN
);
}
YY_BREAK
case
39
:
YY_RULE_SETUP
#line 2
00
"pars0lex.l"
#line 2
25
"pars0lex.l"
{
return
(
PARS_INSERT_TOKEN
);
}
YY_BREAK
case
40
:
YY_RULE_SETUP
#line 2
04
"pars0lex.l"
#line 2
29
"pars0lex.l"
{
return
(
PARS_INTO_TOKEN
);
}
YY_BREAK
case
41
:
YY_RULE_SETUP
#line 2
08
"pars0lex.l"
#line 2
33
"pars0lex.l"
{
return
(
PARS_VALUES_TOKEN
);
}
YY_BREAK
case
42
:
YY_RULE_SETUP
#line 2
12
"pars0lex.l"
#line 2
37
"pars0lex.l"
{
return
(
PARS_UPDATE_TOKEN
);
}
YY_BREAK
case
43
:
YY_RULE_SETUP
#line 2
16
"pars0lex.l"
#line 2
41
"pars0lex.l"
{
return
(
PARS_SET_TOKEN
);
}
YY_BREAK
case
44
:
YY_RULE_SETUP
#line 2
20
"pars0lex.l"
#line 2
45
"pars0lex.l"
{
return
(
PARS_DELETE_TOKEN
);
}
YY_BREAK
case
45
:
YY_RULE_SETUP
#line 2
24
"pars0lex.l"
#line 2
49
"pars0lex.l"
{
return
(
PARS_CURRENT_TOKEN
);
}
YY_BREAK
case
46
:
YY_RULE_SETUP
#line 2
28
"pars0lex.l"
#line 2
53
"pars0lex.l"
{
return
(
PARS_OF_TOKEN
);
}
YY_BREAK
case
47
:
YY_RULE_SETUP
#line 2
32
"pars0lex.l"
#line 2
57
"pars0lex.l"
{
return
(
PARS_CREATE_TOKEN
);
}
YY_BREAK
case
48
:
YY_RULE_SETUP
#line 2
36
"pars0lex.l"
#line 2
61
"pars0lex.l"
{
return
(
PARS_TABLE_TOKEN
);
}
YY_BREAK
case
49
:
YY_RULE_SETUP
#line 2
40
"pars0lex.l"
#line 2
65
"pars0lex.l"
{
return
(
PARS_INDEX_TOKEN
);
}
YY_BREAK
case
50
:
YY_RULE_SETUP
#line 2
44
"pars0lex.l"
#line 2
69
"pars0lex.l"
{
return
(
PARS_UNIQUE_TOKEN
);
}
YY_BREAK
case
51
:
YY_RULE_SETUP
#line 2
48
"pars0lex.l"
#line 2
73
"pars0lex.l"
{
return
(
PARS_CLUSTERED_TOKEN
);
}
YY_BREAK
case
52
:
YY_RULE_SETUP
#line 2
52
"pars0lex.l"
#line 2
77
"pars0lex.l"
{
return
(
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
);
}
YY_BREAK
case
53
:
YY_RULE_SETUP
#line 2
56
"pars0lex.l"
#line 2
81
"pars0lex.l"
{
return
(
PARS_ON_TOKEN
);
}
YY_BREAK
case
54
:
YY_RULE_SETUP
#line 2
60
"pars0lex.l"
#line 2
85
"pars0lex.l"
{
return
(
PARS_DECLARE_TOKEN
);
}
YY_BREAK
case
55
:
YY_RULE_SETUP
#line 2
64
"pars0lex.l"
#line 2
89
"pars0lex.l"
{
return
(
PARS_CURSOR_TOKEN
);
}
YY_BREAK
case
56
:
YY_RULE_SETUP
#line 2
68
"pars0lex.l"
#line 2
93
"pars0lex.l"
{
return
(
PARS_OPEN_TOKEN
);
}
YY_BREAK
case
57
:
YY_RULE_SETUP
#line 2
72
"pars0lex.l"
#line 2
97
"pars0lex.l"
{
return
(
PARS_FETCH_TOKEN
);
}
YY_BREAK
case
58
:
YY_RULE_SETUP
#line
276
"pars0lex.l"
#line
301
"pars0lex.l"
{
return
(
PARS_CLOSE_TOKEN
);
}
YY_BREAK
case
59
:
YY_RULE_SETUP
#line
280
"pars0lex.l"
#line
305
"pars0lex.l"
{
return
(
PARS_NOTFOUND_TOKEN
);
}
YY_BREAK
case
60
:
YY_RULE_SETUP
#line
284
"pars0lex.l"
#line
309
"pars0lex.l"
{
return
(
PARS_TO_CHAR_TOKEN
);
}
YY_BREAK
case
61
:
YY_RULE_SETUP
#line
288
"pars0lex.l"
#line
313
"pars0lex.l"
{
return
(
PARS_TO_NUMBER_TOKEN
);
}
YY_BREAK
case
62
:
YY_RULE_SETUP
#line
292
"pars0lex.l"
#line
317
"pars0lex.l"
{
return
(
PARS_TO_BINARY_TOKEN
);
}
YY_BREAK
case
63
:
YY_RULE_SETUP
#line
296
"pars0lex.l"
#line
321
"pars0lex.l"
{
return
(
PARS_BINARY_TO_NUMBER_TOKEN
);
}
YY_BREAK
case
64
:
YY_RULE_SETUP
#line 3
00
"pars0lex.l"
#line 3
25
"pars0lex.l"
{
return
(
PARS_SUBSTR_TOKEN
);
}
YY_BREAK
case
65
:
YY_RULE_SETUP
#line 3
04
"pars0lex.l"
#line 3
29
"pars0lex.l"
{
return
(
PARS_REPLSTR_TOKEN
);
}
YY_BREAK
case
66
:
YY_RULE_SETUP
#line 3
08
"pars0lex.l"
#line 3
33
"pars0lex.l"
{
return
(
PARS_CONCAT_TOKEN
);
}
YY_BREAK
case
67
:
YY_RULE_SETUP
#line 3
12
"pars0lex.l"
#line 3
37
"pars0lex.l"
{
return
(
PARS_INSTR_TOKEN
);
}
YY_BREAK
case
68
:
YY_RULE_SETUP
#line 3
16
"pars0lex.l"
#line 3
41
"pars0lex.l"
{
return
(
PARS_LENGTH_TOKEN
);
}
YY_BREAK
case
69
:
YY_RULE_SETUP
#line 3
20
"pars0lex.l"
#line 3
45
"pars0lex.l"
{
return
(
PARS_SYSDATE_TOKEN
);
}
YY_BREAK
case
70
:
YY_RULE_SETUP
#line 3
24
"pars0lex.l"
#line 3
49
"pars0lex.l"
{
return
(
PARS_PRINTF_TOKEN
);
}
YY_BREAK
case
71
:
YY_RULE_SETUP
#line 3
28
"pars0lex.l"
#line 3
53
"pars0lex.l"
{
return
(
PARS_ASSERT_TOKEN
);
}
YY_BREAK
case
72
:
YY_RULE_SETUP
#line 3
32
"pars0lex.l"
#line 3
57
"pars0lex.l"
{
return
(
PARS_RND_TOKEN
);
}
YY_BREAK
case
73
:
YY_RULE_SETUP
#line 3
36
"pars0lex.l"
#line 3
61
"pars0lex.l"
{
return
(
PARS_RND_STR_TOKEN
);
}
YY_BREAK
case
74
:
YY_RULE_SETUP
#line 3
40
"pars0lex.l"
#line 3
65
"pars0lex.l"
{
return
(
PARS_ROW_PRINTF_TOKEN
);
}
YY_BREAK
case
75
:
YY_RULE_SETUP
#line 3
44
"pars0lex.l"
#line 3
69
"pars0lex.l"
{
return
(
PARS_COMMIT_TOKEN
);
}
YY_BREAK
case
76
:
YY_RULE_SETUP
#line 3
48
"pars0lex.l"
#line 3
73
"pars0lex.l"
{
return
(
PARS_ROLLBACK_TOKEN
);
}
YY_BREAK
case
77
:
YY_RULE_SETUP
#line 3
52
"pars0lex.l"
#line 3
77
"pars0lex.l"
{
return
(
PARS_WORK_TOKEN
);
}
YY_BREAK
case
78
:
YY_RULE_SETUP
#line 3
56
"pars0lex.l"
#line 3
81
"pars0lex.l"
{
yylval
=
sym_tab_add_id
(
pars_sym_tab_global
,
(
byte
*
)
yytext
,
...
...
@@ -1405,42 +1430,42 @@ YY_RULE_SETUP
YY_BREAK
case
79
:
YY_RULE_SETUP
#line 3
63
"pars0lex.l"
#line 3
88
"pars0lex.l"
{
return
(
PARS_DDOT_TOKEN
);
}
YY_BREAK
case
80
:
YY_RULE_SETUP
#line 3
67
"pars0lex.l"
#line 3
92
"pars0lex.l"
{
return
(
PARS_ASSIGN_TOKEN
);
}
YY_BREAK
case
81
:
YY_RULE_SETUP
#line 3
71
"pars0lex.l"
#line 3
96
"pars0lex.l"
{
return
(
PARS_LE_TOKEN
);
}
YY_BREAK
case
82
:
YY_RULE_SETUP
#line
375
"pars0lex.l"
#line
400
"pars0lex.l"
{
return
(
PARS_GE_TOKEN
);
}
YY_BREAK
case
83
:
YY_RULE_SETUP
#line
379
"pars0lex.l"
#line
404
"pars0lex.l"
{
return
(
PARS_NE_TOKEN
);
}
YY_BREAK
case
84
:
YY_RULE_SETUP
#line
383
"pars0lex.l"
#line
408
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1448,7 +1473,7 @@ YY_RULE_SETUP
YY_BREAK
case
85
:
YY_RULE_SETUP
#line
388
"pars0lex.l"
#line
413
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1456,7 +1481,7 @@ YY_RULE_SETUP
YY_BREAK
case
86
:
YY_RULE_SETUP
#line
393
"pars0lex.l"
#line
418
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1464,7 +1489,7 @@ YY_RULE_SETUP
YY_BREAK
case
87
:
YY_RULE_SETUP
#line
398
"pars0lex.l"
#line
423
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1472,7 +1497,7 @@ YY_RULE_SETUP
YY_BREAK
case
88
:
YY_RULE_SETUP
#line 4
03
"pars0lex.l"
#line 4
28
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1480,7 +1505,7 @@ YY_RULE_SETUP
YY_BREAK
case
89
:
YY_RULE_SETUP
#line 4
08
"pars0lex.l"
#line 4
33
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1488,7 +1513,7 @@ YY_RULE_SETUP
YY_BREAK
case
90
:
YY_RULE_SETUP
#line 4
13
"pars0lex.l"
#line 4
38
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1496,7 +1521,7 @@ YY_RULE_SETUP
YY_BREAK
case
91
:
YY_RULE_SETUP
#line 4
18
"pars0lex.l"
#line 4
43
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1504,7 +1529,7 @@ YY_RULE_SETUP
YY_BREAK
case
92
:
YY_RULE_SETUP
#line 4
23
"pars0lex.l"
#line 4
48
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1512,7 +1537,7 @@ YY_RULE_SETUP
YY_BREAK
case
93
:
YY_RULE_SETUP
#line 4
28
"pars0lex.l"
#line 4
53
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1520,7 +1545,7 @@ YY_RULE_SETUP
YY_BREAK
case
94
:
YY_RULE_SETUP
#line 4
33
"pars0lex.l"
#line 4
58
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1528,7 +1553,7 @@ YY_RULE_SETUP
YY_BREAK
case
95
:
YY_RULE_SETUP
#line 4
38
"pars0lex.l"
#line 4
63
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1536,7 +1561,7 @@ YY_RULE_SETUP
YY_BREAK
case
96
:
YY_RULE_SETUP
#line 4
43
"pars0lex.l"
#line 4
68
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1544,7 +1569,7 @@ YY_RULE_SETUP
YY_BREAK
case
97
:
YY_RULE_SETUP
#line 4
48
"pars0lex.l"
#line 4
73
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1552,7 +1577,7 @@ YY_RULE_SETUP
YY_BREAK
case
98
:
YY_RULE_SETUP
#line 4
53
"pars0lex.l"
#line 4
78
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1560,42 +1585,42 @@ YY_RULE_SETUP
YY_BREAK
case
99
:
YY_RULE_SETUP
#line 4
58
"pars0lex.l"
#line 4
83
"pars0lex.l"
BEGIN
(
comment
);
/* eat up comment */
YY_BREAK
case
100
:
YY_RULE_SETUP
#line 4
60
"pars0lex.l"
#line 4
85
"pars0lex.l"
YY_BREAK
case
101
:
YY_RULE_SETUP
#line 4
61
"pars0lex.l"
#line 4
86
"pars0lex.l"
YY_BREAK
case
102
:
YY_RULE_SETUP
#line 4
62
"pars0lex.l"
#line 4
87
"pars0lex.l"
YY_BREAK
case
103
:
YY_RULE_SETUP
#line 4
63
"pars0lex.l"
#line 4
88
"pars0lex.l"
YY_BREAK
case
104
:
YY_RULE_SETUP
#line 4
64
"pars0lex.l"
#line 4
89
"pars0lex.l"
BEGIN
(
INITIAL
);
YY_BREAK
case
105
:
YY_RULE_SETUP
#line 4
66
"pars0lex.l"
#line 4
91
"pars0lex.l"
/* eat up whitespace */
YY_BREAK
case
106
:
YY_RULE_SETUP
#line 4
69
"pars0lex.l"
#line 4
94
"pars0lex.l"
{
printf
(
"Unrecognized character: %s
\n
"
,
yytext
);
...
...
@@ -1606,10 +1631,10 @@ YY_RULE_SETUP
YY_BREAK
case
107
:
YY_RULE_SETUP
#line
477
"pars0lex.l"
#line
502
"pars0lex.l"
ECHO
;
YY_BREAK
#line 16
13
"lex.yy.c"
#line 16
38
"lex.yy.c"
case
YY_STATE_EOF
(
INITIAL
):
case
YY_STATE_EOF
(
comment
):
yyterminate
();
...
...
@@ -2176,7 +2201,7 @@ YY_BUFFER_STATE b;
#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
#include<unistd.h>
#endif
#endif
...
...
@@ -2496,5 +2521,5 @@ int main()
return
0
;
}
#endif
#line
477
"pars0lex.l"
#line
502
"pars0lex.l"
innobase/pars/pars0grm.c
View file @
6b6a024e
...
...
@@ -89,12 +89,10 @@
#define PARS_WORK_TOKEN 339
#define NEG 340
#line 1
0
"pars0grm.y"
#line 1
3
"pars0grm.y"
/* The value of the semantic attribute is a pointer to a query tree node
que_node_t */
#define YYSTYPE que_node_t*
#define alloca mem_alloc
#include <math.h>
...
...
@@ -105,6 +103,8 @@ que_node_t */
#include "que0que.h"
#include "row0sel.h"
#define YYSTYPE que_node_t*
/* #define __STDC__ */
int
...
...
@@ -242,22 +242,22 @@ static const short yyrhs[] = { 162,
#if YYDEBUG != 0
static
const
short
yyrline
[]
=
{
0
,
12
6
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
1
37
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
145
,
146
,
1
47
,
148
,
151
,
153
,
157
,
159
,
161
,
162
,
163
,
164
,
16
5
,
166
,
167
,
168
,
169
,
170
,
171
,
172
,
173
,
174
,
17
5
,
176
,
177
,
178
,
179
,
180
,
181
,
183
,
187
,
189
,
19
0
,
191
,
193
,
194
,
195
,
196
,
197
,
198
,
199
,
202
,
20
4
,
205
,
208
,
213
,
218
,
220
,
221
,
224
,
226
,
230
,
23
2
,
233
,
237
,
239
,
240
,
243
,
245
,
250
,
256
,
262
,
26
4
,
265
,
269
,
272
,
274
,
277
,
279
,
282
,
284
,
288
,
29
0
,
294
,
296
,
297
,
300
,
302
,
306
,
316
,
321
,
324
,
3
28
,
332
,
334
,
338
,
344
,
351
,
356
,
361
,
367
,
372
,
3
77
,
382
,
387
,
393
,
395
,
399
,
401
,
403
,
406
,
413
,
4
19
,
427
,
431
,
437
,
443
,
448
,
452
,
454
,
458
,
460
,
46
5
,
471
,
473
,
477
,
479
,
482
,
484
,
487
,
495
,
500
,
50
5
,
507
,
510
,
514
,
519
,
521
,
522
,
526
,
531
,
533
,
53
4
,
537
,
543
,
545
,
546
,
549
12
9
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
1
40
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
1
50
,
151
,
154
,
156
,
160
,
162
,
164
,
165
,
166
,
167
,
16
8
,
169
,
170
,
171
,
172
,
173
,
174
,
175
,
176
,
177
,
17
8
,
179
,
180
,
181
,
182
,
183
,
184
,
186
,
190
,
192
,
19
3
,
194
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
205
,
20
7
,
208
,
211
,
216
,
221
,
223
,
224
,
227
,
229
,
233
,
23
5
,
236
,
240
,
242
,
243
,
246
,
248
,
253
,
259
,
265
,
26
7
,
268
,
272
,
275
,
277
,
280
,
282
,
285
,
287
,
291
,
29
3
,
297
,
299
,
300
,
303
,
305
,
309
,
319
,
324
,
327
,
3
31
,
335
,
337
,
341
,
347
,
354
,
359
,
364
,
370
,
375
,
3
80
,
385
,
390
,
396
,
398
,
402
,
404
,
406
,
409
,
416
,
4
22
,
430
,
434
,
440
,
446
,
451
,
455
,
457
,
461
,
463
,
46
8
,
474
,
476
,
480
,
482
,
485
,
487
,
490
,
498
,
503
,
50
8
,
510
,
513
,
517
,
522
,
524
,
525
,
529
,
534
,
536
,
53
7
,
540
,
546
,
548
,
549
,
552
};
#endif
...
...
@@ -1122,218 +1122,218 @@ yyreduce:
switch
(
yyn
)
{
case
23
:
#line 15
2
"pars0grm.y"
#line 15
5
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
24
:
#line 15
4
"pars0grm.y"
#line 15
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;
break
;}
case
25
:
#line 1
58
"pars0grm.y"
#line 1
61
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;
break
;}
case
26
:
#line 16
0
"pars0grm.y"
#line 16
3
"pars0grm.y"
{
yyval
=
pars_func
(
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;
break
;}
case
27
:
#line 16
1
"pars0grm.y"
#line 16
4
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;
break
;}
case
28
:
#line 16
2
"pars0grm.y"
#line 16
5
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;
break
;}
case
29
:
#line 16
3
"pars0grm.y"
#line 16
6
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;
break
;}
case
30
:
#line 16
4
"pars0grm.y"
#line 16
7
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;
break
;}
case
31
:
#line 16
5
"pars0grm.y"
#line 16
8
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];;
break
;}
case
32
:
#line 16
6
"pars0grm.y"
#line 16
9
"pars0grm.y"
{
yyval
=
pars_op
(
'+'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
33
:
#line 1
67
"pars0grm.y"
#line 1
70
"pars0grm.y"
{
yyval
=
pars_op
(
'-'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
34
:
#line 1
68
"pars0grm.y"
#line 1
71
"pars0grm.y"
{
yyval
=
pars_op
(
'*'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
35
:
#line 1
69
"pars0grm.y"
#line 1
72
"pars0grm.y"
{
yyval
=
pars_op
(
'/'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
36
:
#line 17
0
"pars0grm.y"
#line 17
3
"pars0grm.y"
{
yyval
=
pars_op
(
'-'
,
yyvsp
[
0
],
NULL
);
;
break
;}
case
37
:
#line 17
1
"pars0grm.y"
#line 17
4
"pars0grm.y"
{
yyval
=
yyvsp
[
-
1
];
;
break
;}
case
38
:
#line 17
2
"pars0grm.y"
#line 17
5
"pars0grm.y"
{
yyval
=
pars_op
(
'='
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
39
:
#line 17
3
"pars0grm.y"
#line 17
6
"pars0grm.y"
{
yyval
=
pars_op
(
'<'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
40
:
#line 17
4
"pars0grm.y"
#line 17
7
"pars0grm.y"
{
yyval
=
pars_op
(
'>'
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
41
:
#line 17
5
"pars0grm.y"
#line 17
8
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_GE_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
42
:
#line 17
6
"pars0grm.y"
#line 17
9
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_LE_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
43
:
#line 1
77
"pars0grm.y"
#line 1
80
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_NE_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
44
:
#line 1
78
"pars0grm.y"
#line 1
81
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_AND_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
45
:
#line 1
79
"pars0grm.y"
#line 1
82
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_OR_TOKEN
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
46
:
#line 18
0
"pars0grm.y"
#line 18
3
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_NOT_TOKEN
,
yyvsp
[
0
],
NULL
);
;
break
;}
case
47
:
#line 18
2
"pars0grm.y"
#line 18
5
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_NOTFOUND_TOKEN
,
yyvsp
[
-
2
],
NULL
);
;
break
;}
case
48
:
#line 18
4
"pars0grm.y"
#line 18
7
"pars0grm.y"
{
yyval
=
pars_op
(
PARS_NOTFOUND_TOKEN
,
yyvsp
[
-
2
],
NULL
);
;
break
;}
case
49
:
#line 1
88
"pars0grm.y"
#line 1
91
"pars0grm.y"
{
yyval
=
&
pars_to_char_token
;
;
break
;}
case
50
:
#line 1
89
"pars0grm.y"
#line 1
92
"pars0grm.y"
{
yyval
=
&
pars_to_number_token
;
;
break
;}
case
51
:
#line 19
0
"pars0grm.y"
#line 19
3
"pars0grm.y"
{
yyval
=
&
pars_to_binary_token
;
;
break
;}
case
52
:
#line 19
2
"pars0grm.y"
#line 19
5
"pars0grm.y"
{
yyval
=
&
pars_binary_to_number_token
;
;
break
;}
case
53
:
#line 19
3
"pars0grm.y"
#line 19
6
"pars0grm.y"
{
yyval
=
&
pars_substr_token
;
;
break
;}
case
54
:
#line 19
4
"pars0grm.y"
#line 19
7
"pars0grm.y"
{
yyval
=
&
pars_concat_token
;
;
break
;}
case
55
:
#line 19
5
"pars0grm.y"
#line 19
8
"pars0grm.y"
{
yyval
=
&
pars_instr_token
;
;
break
;}
case
56
:
#line 19
6
"pars0grm.y"
#line 19
9
"pars0grm.y"
{
yyval
=
&
pars_length_token
;
;
break
;}
case
57
:
#line
197
"pars0grm.y"
#line
200
"pars0grm.y"
{
yyval
=
&
pars_sysdate_token
;
;
break
;}
case
58
:
#line
198
"pars0grm.y"
#line
201
"pars0grm.y"
{
yyval
=
&
pars_rnd_token
;
;
break
;}
case
59
:
#line
199
"pars0grm.y"
#line
202
"pars0grm.y"
{
yyval
=
&
pars_rnd_str_token
;
;
break
;}
case
63
:
#line 21
0
"pars0grm.y"
#line 21
3
"pars0grm.y"
{
yyval
=
pars_stored_procedure_call
(
yyvsp
[
-
4
]);
;
break
;}
case
64
:
#line 21
5
"pars0grm.y"
#line 21
8
"pars0grm.y"
{
yyval
=
pars_procedure_call
(
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;
break
;}
case
65
:
#line 2
19
"pars0grm.y"
#line 2
22
"pars0grm.y"
{
yyval
=
&
pars_replstr_token
;
;
break
;}
case
66
:
#line 22
0
"pars0grm.y"
#line 22
3
"pars0grm.y"
{
yyval
=
&
pars_printf_token
;
;
break
;}
case
67
:
#line 22
1
"pars0grm.y"
#line 22
4
"pars0grm.y"
{
yyval
=
&
pars_assert_token
;
;
break
;}
case
68
:
#line 22
5
"pars0grm.y"
#line 22
8
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
69
:
#line 2
27
"pars0grm.y"
#line 2
30
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
70
:
#line 23
1
"pars0grm.y"
#line 23
4
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
71
:
#line 23
2
"pars0grm.y"
#line 23
5
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
72
:
#line 23
4
"pars0grm.y"
#line 23
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
73
:
#line 2
38
"pars0grm.y"
#line 2
41
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
74
:
#line 2
39
"pars0grm.y"
#line 2
42
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);;
break
;}
case
75
:
#line 24
0
"pars0grm.y"
#line 24
3
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
76
:
#line 24
4
"pars0grm.y"
#line 24
7
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;
break
;}
case
77
:
#line 24
6
"pars0grm.y"
#line 24
9
"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
78
:
#line 25
1
"pars0grm.y"
#line 25
4
"pars0grm.y"
{
yyval
=
pars_func
(
&
pars_count_token
,
que_node_list_add_last
(
NULL
,
pars_func
(
&
pars_distinct_token
,
...
...
@@ -1341,302 +1341,302 @@ case 78:
NULL
,
yyvsp
[
-
1
]))));
;
break
;}
case
79
:
#line 2
57
"pars0grm.y"
#line 2
60
"pars0grm.y"
{
yyval
=
pars_func
(
&
pars_sum_token
,
que_node_list_add_last
(
NULL
,
yyvsp
[
-
1
]));
;
break
;}
case
80
:
#line 26
3
"pars0grm.y"
#line 26
6
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
81
:
#line 26
4
"pars0grm.y"
#line 26
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
82
:
#line 26
6
"pars0grm.y"
#line 26
9
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
83
:
#line 27
0
"pars0grm.y"
#line 27
3
"pars0grm.y"
{
yyval
=
pars_select_list
(
&
pars_star_denoter
,
NULL
);
;
break
;}
case
84
:
#line 27
3
"pars0grm.y"
#line 27
6
"pars0grm.y"
{
yyval
=
pars_select_list
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
85
:
#line 27
4
"pars0grm.y"
#line 27
7
"pars0grm.y"
{
yyval
=
pars_select_list
(
yyvsp
[
0
],
NULL
);
;
break
;}
case
86
:
#line 2
78
"pars0grm.y"
#line 2
81
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
87
:
#line 2
79
"pars0grm.y"
#line 2
82
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;
break
;}
case
88
:
#line 28
3
"pars0grm.y"
#line 28
6
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
89
:
#line 28
5
"pars0grm.y"
#line 28
8
"pars0grm.y"
{
yyval
=
&
pars_update_token
;
;
break
;}
case
90
:
#line 2
89
"pars0grm.y"
#line 2
92
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
91
:
#line 29
1
"pars0grm.y"
#line 29
4
"pars0grm.y"
{
yyval
=
&
pars_consistent_token
;
;
break
;}
case
92
:
#line 29
5
"pars0grm.y"
#line 29
8
"pars0grm.y"
{
yyval
=
&
pars_asc_token
;
;
break
;}
case
93
:
#line 29
6
"pars0grm.y"
#line 29
9
"pars0grm.y"
{
yyval
=
&
pars_asc_token
;
;
break
;}
case
94
:
#line
297
"pars0grm.y"
#line
300
"pars0grm.y"
{
yyval
=
&
pars_desc_token
;
;
break
;}
case
95
:
#line 30
1
"pars0grm.y"
#line 30
4
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
96
:
#line 30
3
"pars0grm.y"
#line 30
6
"pars0grm.y"
{
yyval
=
pars_order_by
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;
break
;}
case
97
:
#line 31
2
"pars0grm.y"
#line 31
5
"pars0grm.y"
{
yyval
=
pars_select_statement
(
yyvsp
[
-
6
],
yyvsp
[
-
4
],
yyvsp
[
-
3
],
yyvsp
[
-
2
],
yyvsp
[
-
1
],
yyvsp
[
0
]);
;
break
;}
case
98
:
#line 3
18
"pars0grm.y"
#line 3
21
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;
break
;}
case
99
:
#line 32
3
"pars0grm.y"
#line 32
6
"pars0grm.y"
{
yyval
=
pars_insert_statement
(
yyvsp
[
-
4
],
yyvsp
[
-
1
],
NULL
);
;
break
;}
case
100
:
#line 32
5
"pars0grm.y"
#line 32
8
"pars0grm.y"
{
yyval
=
pars_insert_statement
(
yyvsp
[
-
1
],
NULL
,
yyvsp
[
0
]);
;
break
;}
case
101
:
#line 3
29
"pars0grm.y"
#line 3
32
"pars0grm.y"
{
yyval
=
pars_column_assignment
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
102
:
#line 33
3
"pars0grm.y"
#line 33
6
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
103
:
#line 33
5
"pars0grm.y"
#line 33
8
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
104
:
#line 34
1
"pars0grm.y"
#line 34
4
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;
break
;}
case
105
:
#line 3
47
"pars0grm.y"
#line 3
50
"pars0grm.y"
{
yyval
=
pars_update_statement_start
(
FALSE
,
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
106
:
#line 35
3
"pars0grm.y"
#line 35
6
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
NULL
,
yyvsp
[
0
]);
;
break
;}
case
107
:
#line 3
58
"pars0grm.y"
#line 3
61
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
yyvsp
[
0
],
NULL
);
;
break
;}
case
108
:
#line 36
3
"pars0grm.y"
#line 36
6
"pars0grm.y"
{
yyval
=
pars_update_statement_start
(
TRUE
,
yyvsp
[
0
],
NULL
);
;
break
;}
case
109
:
#line 3
69
"pars0grm.y"
#line 3
72
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
NULL
,
yyvsp
[
0
]);
;
break
;}
case
110
:
#line 37
4
"pars0grm.y"
#line 37
7
"pars0grm.y"
{
yyval
=
pars_update_statement
(
yyvsp
[
-
1
],
yyvsp
[
0
],
NULL
);
;
break
;}
case
111
:
#line 3
79
"pars0grm.y"
#line 3
82
"pars0grm.y"
{
yyval
=
pars_row_printf_statement
(
yyvsp
[
0
]);
;
break
;}
case
112
:
#line 38
4
"pars0grm.y"
#line 38
7
"pars0grm.y"
{
yyval
=
pars_assignment_statement
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
113
:
#line 39
0
"pars0grm.y"
#line 39
3
"pars0grm.y"
{
yyval
=
pars_elsif_element
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
114
:
#line 39
4
"pars0grm.y"
#line 39
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
115
:
#line 39
6
"pars0grm.y"
#line 39
9
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;
break
;}
case
116
:
#line 40
0
"pars0grm.y"
#line 40
3
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
117
:
#line 40
2
"pars0grm.y"
#line 40
5
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;
break
;}
case
118
:
#line 40
3
"pars0grm.y"
#line 40
6
"pars0grm.y"
{
yyval
=
yyvsp
[
0
];
;
break
;}
case
119
:
#line 41
0
"pars0grm.y"
#line 41
3
"pars0grm.y"
{
yyval
=
pars_if_statement
(
yyvsp
[
-
5
],
yyvsp
[
-
3
],
yyvsp
[
-
2
]);
;
break
;}
case
120
:
#line 41
6
"pars0grm.y"
#line 41
9
"pars0grm.y"
{
yyval
=
pars_while_statement
(
yyvsp
[
-
4
],
yyvsp
[
-
2
]);
;
break
;}
case
121
:
#line 42
4
"pars0grm.y"
#line 42
7
"pars0grm.y"
{
yyval
=
pars_for_statement
(
yyvsp
[
-
8
],
yyvsp
[
-
6
],
yyvsp
[
-
4
],
yyvsp
[
-
2
]);
;
break
;}
case
122
:
#line 4
28
"pars0grm.y"
#line 4
31
"pars0grm.y"
{
yyval
=
pars_return_statement
();
;
break
;}
case
123
:
#line 43
3
"pars0grm.y"
#line 43
6
"pars0grm.y"
{
yyval
=
pars_open_statement
(
ROW_SEL_OPEN_CURSOR
,
yyvsp
[
0
]);
;
break
;}
case
124
:
#line 4
39
"pars0grm.y"
#line 4
42
"pars0grm.y"
{
yyval
=
pars_open_statement
(
ROW_SEL_CLOSE_CURSOR
,
yyvsp
[
0
]);
;
break
;}
case
125
:
#line 44
5
"pars0grm.y"
#line 44
8
"pars0grm.y"
{
yyval
=
pars_fetch_statement
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
126
:
#line 4
49
"pars0grm.y"
#line 4
52
"pars0grm.y"
{
yyval
=
pars_column_def
(
yyvsp
[
-
1
],
yyvsp
[
0
]);
;
break
;}
case
127
:
#line 45
3
"pars0grm.y"
#line 45
6
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
128
:
#line 45
5
"pars0grm.y"
#line 45
8
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
129
:
#line 4
59
"pars0grm.y"
#line 4
62
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
130
:
#line 46
1
"pars0grm.y"
#line 46
4
"pars0grm.y"
{
yyval
=
&
pars_int_token
;
/* pass any non-NULL pointer */
;
break
;}
case
131
:
#line 4
68
"pars0grm.y"
#line 4
71
"pars0grm.y"
{
yyval
=
pars_create_table
(
yyvsp
[
-
4
],
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
132
:
#line 47
2
"pars0grm.y"
#line 47
5
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
133
:
#line 47
4
"pars0grm.y"
#line 47
7
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
134
:
#line 4
78
"pars0grm.y"
#line 4
81
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
135
:
#line 4
79
"pars0grm.y"
#line 4
82
"pars0grm.y"
{
yyval
=
&
pars_unique_token
;
;
break
;}
case
136
:
#line 48
3
"pars0grm.y"
#line 48
6
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
137
:
#line 48
4
"pars0grm.y"
#line 48
7
"pars0grm.y"
{
yyval
=
&
pars_clustered_token
;
;
break
;}
case
138
:
#line 49
2
"pars0grm.y"
#line 49
5
"pars0grm.y"
{
yyval
=
pars_create_index
(
yyvsp
[
-
8
],
yyvsp
[
-
7
],
yyvsp
[
-
5
],
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;
break
;}
case
139
:
#line
497
"pars0grm.y"
#line
500
"pars0grm.y"
{
yyval
=
pars_commit_statement
();
;
break
;}
case
140
:
#line 50
2
"pars0grm.y"
#line 50
5
"pars0grm.y"
{
yyval
=
pars_rollback_statement
();
;
break
;}
case
141
:
#line 50
6
"pars0grm.y"
#line 50
9
"pars0grm.y"
{
yyval
=
&
pars_int_token
;
;
break
;}
case
142
:
#line 5
07
"pars0grm.y"
#line 5
10
"pars0grm.y"
{
yyval
=
&
pars_char_token
;
;
break
;}
case
143
:
#line 51
2
"pars0grm.y"
#line 51
5
"pars0grm.y"
{
yyval
=
pars_parameter_declaration
(
yyvsp
[
-
2
],
PARS_INPUT
,
yyvsp
[
0
]);
;
break
;}
case
144
:
#line 51
5
"pars0grm.y"
#line 51
8
"pars0grm.y"
{
yyval
=
pars_parameter_declaration
(
yyvsp
[
-
2
],
PARS_OUTPUT
,
yyvsp
[
0
]);
;
break
;}
case
145
:
#line 52
0
"pars0grm.y"
#line 52
3
"pars0grm.y"
{
yyval
=
NULL
;
;
break
;}
case
146
:
#line 52
1
"pars0grm.y"
#line 52
4
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
NULL
,
yyvsp
[
0
]);
;
break
;}
case
147
:
#line 52
3
"pars0grm.y"
#line 52
6
"pars0grm.y"
{
yyval
=
que_node_list_add_last
(
yyvsp
[
-
2
],
yyvsp
[
0
]);
;
break
;}
case
148
:
#line 5
28
"pars0grm.y"
#line 5
31
"pars0grm.y"
{
yyval
=
pars_variable_declaration
(
yyvsp
[
-
2
],
yyvsp
[
-
1
]);
;
break
;}
case
152
:
#line 54
0
"pars0grm.y"
#line 54
3
"pars0grm.y"
{
yyval
=
pars_cursor_declaration
(
yyvsp
[
-
3
],
yyvsp
[
-
1
]);
;
break
;}
case
156
:
#line 55
6
"pars0grm.y"
#line 55
9
"pars0grm.y"
{
yyval
=
pars_procedure_definition
(
yyvsp
[
-
9
],
yyvsp
[
-
7
],
yyvsp
[
-
1
]);
;
break
;}
...
...
@@ -1866,5 +1866,5 @@ yyerrhandle:
#endif
return
1
;
}
#line 56
0
"pars0grm.y"
#line 56
3
"pars0grm.y"
innobase/pars/pars0grm.y
View file @
6b6a024e
...
...
@@ -13,8 +13,6 @@ the InnoDB parser.
%{
/* The value of the semantic attribute is a pointer to a query tree node
que_node_t */
#define YYSTYPE que_node_t*
#define alloca mem_alloc
#include <math.h>
...
...
@@ -25,6 +23,8 @@ que_node_t */
#include "que0que.h"
#include "row0sel.h"
#define YYSTYPE que_node_t*
/* #define __STDC__ */
int
...
...
innobase/pars/pars0lex.l
View file @
6b6a024e
...
...
@@ -26,6 +26,8 @@ How to make the InnoDB parser and lexer C files:
5. Rename lex.yy.c to lexyy.c.
6. Remove the #include of unistd.h from about line 2500 of lexyy.c
These instructions seem to work at least with bison-1.28 and flex-2.5.4 on
Linux.
*******************************************************/
...
...
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