sql-parser2 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/sql-parser.rb +13 -0
- data/lib/sql-parser/parser.racc +350 -0
- data/lib/sql-parser/parser.racc.rb +1560 -0
- data/lib/sql-parser/parser.rex +106 -0
- data/lib/sql-parser/parser.rex.rb +298 -0
- data/lib/sql-parser/sql_visitor.rb +385 -0
- data/lib/sql-parser/statement.rb +564 -0
- data/lib/sql-parser/version.rb +5 -0
- metadata +125 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 06a9cb5ad0df400571804c27cd88293effa7dd07
|
4
|
+
data.tar.gz: 64a2c37b254d69ee03d0db9a685ab4c09d441f7b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1e38306ce1c81f0efa2052b6d3e482903865ab62c69247ed5a571aca1937dffff901058806ec9e81036723ec4d36102560dd336551a1211469cd61d042fe9b21
|
7
|
+
data.tar.gz: 5b6cfb91828c02ebfd0af23b4b5985f8f56e5c78ac46e56bd4e7565b6b3d1b7adb03c791a4da70e0f30e660d6bd354e17ea0c1d24bd8b6de48d26b86e2033588
|
data/lib/sql-parser.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
module SQLParser
|
2
|
+
|
3
|
+
require 'strscan'
|
4
|
+
require 'date'
|
5
|
+
|
6
|
+
require 'racc/parser'
|
7
|
+
|
8
|
+
require_relative 'sql-parser/version'
|
9
|
+
require_relative 'sql-parser/statement'
|
10
|
+
require_relative 'sql-parser/sql_visitor'
|
11
|
+
require_relative 'sql-parser/parser.racc.rb'
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,350 @@
|
|
1
|
+
class SQLParser::Parser
|
2
|
+
|
3
|
+
rule
|
4
|
+
# dynamic sql
|
5
|
+
|
6
|
+
direct_sql_statement
|
7
|
+
: direct_sql_data_statement
|
8
|
+
|
9
|
+
direct_sql_data_statement
|
10
|
+
: direct_select_statement_multiple_rows
|
11
|
+
| insert_specification
|
12
|
+
| update_specification
|
13
|
+
| delete_specification
|
14
|
+
|
15
|
+
direct_select_statement_multiple_rows
|
16
|
+
: query_expression order_by_clause { result = SQLParser::Statement::DirectSelect.new(val[0], val[1]) }
|
17
|
+
|
18
|
+
# module contents
|
19
|
+
order_by_clause
|
20
|
+
: # no action
|
21
|
+
| ORDER BY sort_specification_list { result = SQLParser::Statement::OrderBy.new(val[2]) }
|
22
|
+
|
23
|
+
sort_specification_list
|
24
|
+
: sort_specification_list comma sort_specification { result = Array(val[0]) + Array(val[2]) }
|
25
|
+
| sort_specification
|
26
|
+
|
27
|
+
sort_specification
|
28
|
+
: sort_key ordering_specification { result = val[1].new(val[0]) }
|
29
|
+
|
30
|
+
sort_key
|
31
|
+
: column_name
|
32
|
+
| unsigned_integer { result = SQLParser::Statement::Integer.new(val[0]) }
|
33
|
+
|
34
|
+
ordering_specification
|
35
|
+
: { result = SQLParser::Statement::Ascending } # default
|
36
|
+
| ASC { result = SQLParser::Statement::Ascending }
|
37
|
+
| DESC { result = SQLParser::Statement::Descending }
|
38
|
+
|
39
|
+
# queries
|
40
|
+
subquery
|
41
|
+
# FIXME: shortcut
|
42
|
+
: left_paren query_expression right_paren { result = SQLParser::Statement::Subquery.new(val[1]) }
|
43
|
+
|
44
|
+
query_expression
|
45
|
+
: query_specification
|
46
|
+
|
47
|
+
insert_specification
|
48
|
+
: INSERT INTO table_reference value_list { result = SQLParser::Statement::Insert.new(val[2], nil, val[3]) }
|
49
|
+
| INSERT INTO table_reference column_list value_list { result = SQLParser::Statement::Insert.new(val[2], val[3], val[4]) }
|
50
|
+
|
51
|
+
update_specification
|
52
|
+
: UPDATE table_reference SET update_column_list where_clause { result = SQLParser::Statement::Update.new(val[1], val[3], val[4]) }
|
53
|
+
|
54
|
+
update_column
|
55
|
+
: column_name equals_operator value_expression { result = SQLParser::Statement::UpdateColumn.new(val[0], val[2]) }
|
56
|
+
|
57
|
+
update_column_sublist
|
58
|
+
: update_column comma update_column_sublist { result = Array(val[0]) + Array(val[2]) }
|
59
|
+
| update_column
|
60
|
+
|
61
|
+
update_column_list
|
62
|
+
: update_column_sublist { result = SQLParser::Statement::UpdateColumnList.new(val[0]) }
|
63
|
+
|
64
|
+
delete_specification
|
65
|
+
: DELETE from_clause where_clause { result = SQLParser::Statement::Delete.new(val[1], val[2]) }
|
66
|
+
|
67
|
+
column_list
|
68
|
+
: left_paren in_column_list right_paren { result = SQLParser::Statement::InColumnList.new(val[1]) }
|
69
|
+
|
70
|
+
in_column_list
|
71
|
+
: value_expression comma in_column_list { result = Array(val[0]) + Array(val[2]) }
|
72
|
+
| value_expression
|
73
|
+
|
74
|
+
value_list
|
75
|
+
: VALUES left_paren in_value_list right_paren { result = SQLParser::Statement::InValueList.new(val[2]) }
|
76
|
+
|
77
|
+
query_specification
|
78
|
+
: SELECT select_list table_expression { result = SQLParser::Statement::Select.new(val[1], val[2]) }
|
79
|
+
| SELECT select_list { result = SQLParser::Statement::Select.new(val[1]) }
|
80
|
+
|
81
|
+
select_list
|
82
|
+
: asterisk { result = SQLParser::Statement::All.new }
|
83
|
+
| select_sublist { result = SQLParser::Statement::SelectList.new(val[0]) }
|
84
|
+
|
85
|
+
select_sublist
|
86
|
+
: derived_column comma select_sublist { result = Array(val[0]) + Array(val[2]) }
|
87
|
+
| derived_column
|
88
|
+
|
89
|
+
derived_column
|
90
|
+
: value_expression AS column_name { result = SQLParser::Statement::As.new(val[0], val[2]) }
|
91
|
+
| value_expression column_name { result = SQLParser::Statement::As.new(val[0], val[1]) }
|
92
|
+
| value_expression
|
93
|
+
|
94
|
+
table_expression
|
95
|
+
: from_clause where_clause group_by_clause having_clause { result = SQLParser::Statement::TableExpression.new(val[0], val[1], val[2], val[3]) }
|
96
|
+
|
97
|
+
from_clause
|
98
|
+
: FROM table_reference { result = SQLParser::Statement::FromClause.new(val[1]) }
|
99
|
+
|
100
|
+
table_reference
|
101
|
+
: table_name AS column_name { result = SQLParser::Statement::As.new(val[0], val[2]) }
|
102
|
+
| table_name column_name { result = SQLParser::Statement::As.new(val[0], val[1]) }
|
103
|
+
| table_name
|
104
|
+
| joined_table
|
105
|
+
|
106
|
+
table_subquery
|
107
|
+
: subquery
|
108
|
+
|
109
|
+
joined_table
|
110
|
+
: cross_join
|
111
|
+
| qualified_join
|
112
|
+
|
113
|
+
cross_join
|
114
|
+
: table_reference comma table_name { result = SQLParser::Statement::CrossJoin.new(val[0], val[2]) }
|
115
|
+
| table_reference CROSS JOIN table_name { result = SQLParser::Statement::CrossJoin.new(val[0], val[3]) }
|
116
|
+
|
117
|
+
qualified_join
|
118
|
+
: table_reference join_type JOIN table_reference join_specification { result = val[1].new(val[0], val[3], val[4]) }
|
119
|
+
|
120
|
+
join_type
|
121
|
+
: INNER { result = SQLParser::Statement::InnerJoin }
|
122
|
+
| LEFT OUTER { result = SQLParser::Statement::LeftOuterJoin }
|
123
|
+
| LEFT { result = SQLParser::Statement::LeftJoin }
|
124
|
+
| RIGHT OUTER { result = SQLParser::Statement::RightOuterJoin }
|
125
|
+
| RIGHT { result = SQLParser::Statement::RightJoin }
|
126
|
+
| FULL { result = SQLParser::Statement::FullJoin }
|
127
|
+
| FULL OUTER { result = SQLParser::Statement::FullOuterJoin }
|
128
|
+
|
129
|
+
join_specification
|
130
|
+
: join_condition
|
131
|
+
| named_columns_join
|
132
|
+
|
133
|
+
join_condition
|
134
|
+
: ON search_condition { result = SQLParser::Statement::On.new(val[1]) }
|
135
|
+
|
136
|
+
named_columns_join
|
137
|
+
: USING left_paren join_column_list right_paren { result = SQLParser::Statement::Using.new(val[2]) }
|
138
|
+
|
139
|
+
join_column_list
|
140
|
+
: column_name_list
|
141
|
+
|
142
|
+
where_clause
|
143
|
+
: # no action
|
144
|
+
| WHERE search_condition { result = SQLParser::Statement::WhereClause.new(val[1]) }
|
145
|
+
|
146
|
+
group_by_clause
|
147
|
+
: # no action
|
148
|
+
| GROUP BY grouping_column_reference_list { result = SQLParser::Statement::GroupByClause.new(val[2]) }
|
149
|
+
|
150
|
+
grouping_column_reference_list
|
151
|
+
: grouping_column_reference_list comma grouping_column_reference { result = Array(val[0]) + Array(val[2]) }
|
152
|
+
| grouping_column_reference
|
153
|
+
|
154
|
+
grouping_column_reference
|
155
|
+
: column_reference
|
156
|
+
|
157
|
+
having_clause
|
158
|
+
: # no action
|
159
|
+
| HAVING search_condition { result = SQLParser::Statement::HavingClause.new(val[1]) }
|
160
|
+
|
161
|
+
# query expression components
|
162
|
+
row_subquery
|
163
|
+
: subquery
|
164
|
+
|
165
|
+
between_predicate
|
166
|
+
: row_value_constructor NOT BETWEEN row_value_constructor AND row_value_constructor { result = SQLParser::Statement::Not.new(SQLParser::Statement::Between.new(val[0], val[3], val[5])) }
|
167
|
+
| row_value_constructor BETWEEN row_value_constructor AND row_value_constructor { result = SQLParser::Statement::Between.new(val[0], val[2], val[4]) }
|
168
|
+
|
169
|
+
in_predicate
|
170
|
+
: row_value_constructor NOT IN in_predicate_value { result = SQLParser::Statement::Not.new(SQLParser::Statement::In.new(val[0], val[3])) }
|
171
|
+
| row_value_constructor IN in_predicate_value { result = SQLParser::Statement::In.new(val[0], val[2]) }
|
172
|
+
|
173
|
+
in_predicate_value
|
174
|
+
: table_subquery
|
175
|
+
| left_paren in_value_list right_paren { result = SQLParser::Statement::InValueList.new(val[1]) }
|
176
|
+
|
177
|
+
in_value_list
|
178
|
+
: value_expression comma in_value_list { result = Array(val[0]) + Array(val[2]) }
|
179
|
+
| value_expression
|
180
|
+
|
181
|
+
like_predicate
|
182
|
+
# FIXME: the SQL-92 grammar indicates these should be
|
183
|
+
# character_value_expression nodes, but changing them causes reduce/reduce
|
184
|
+
# conflicts.
|
185
|
+
: row_value_constructor NOT LIKE row_value_constructor { result = SQLParser::Statement::Not.new(SQLParser::Statement::Like.new(val[0], val[3])) }
|
186
|
+
| row_value_constructor LIKE row_value_constructor { result = SQLParser::Statement::Like.new(val[0], val[2]) }
|
187
|
+
|
188
|
+
null_predicate
|
189
|
+
: row_value_constructor IS NOT NULL { result = SQLParser::Statement::Not.new(SQLParser::Statement::Is.new(val[0], SQLParser::Statement::Null.new)) }
|
190
|
+
| row_value_constructor IS NULL { result = SQLParser::Statement::Is.new(val[0], SQLParser::Statement::Null.new) }
|
191
|
+
|
192
|
+
exists_predicate
|
193
|
+
: EXISTS table_subquery { result = SQLParser::Statement::Exists.new(val[1]) }
|
194
|
+
|
195
|
+
# constraints
|
196
|
+
table_name
|
197
|
+
: identifier { result = SQLParser::Statement::Table.new(val[0]) }
|
198
|
+
|
199
|
+
column_name_list
|
200
|
+
: column_name_list comma column_name { result = Array(val[0]) + Array(val[2]) }
|
201
|
+
| column_name
|
202
|
+
|
203
|
+
# search condition
|
204
|
+
search_condition
|
205
|
+
: boolean_term
|
206
|
+
| search_condition OR boolean_term { result = SQLParser::Statement::Or.new(val[0], val[2]) }
|
207
|
+
|
208
|
+
boolean_term
|
209
|
+
: boolean_factor
|
210
|
+
| boolean_term AND boolean_factor { result = SQLParser::Statement::And.new(val[0], val[2]) }
|
211
|
+
|
212
|
+
boolean_factor:
|
213
|
+
: NOT boolean_test { result = SQLParser::Statement::Not.new(val[1]) }
|
214
|
+
| boolean_test
|
215
|
+
|
216
|
+
boolean_test
|
217
|
+
: boolean_primary
|
218
|
+
|
219
|
+
boolean_primary
|
220
|
+
: predicate
|
221
|
+
| left_paren search_condition right_paren { result = val[1] }
|
222
|
+
|
223
|
+
predicate
|
224
|
+
: comparison_predicate
|
225
|
+
| between_predicate
|
226
|
+
| in_predicate
|
227
|
+
| like_predicate
|
228
|
+
| null_predicate
|
229
|
+
| exists_predicate
|
230
|
+
|
231
|
+
comparison_predicate
|
232
|
+
: row_value_constructor equals_operator row_value_constructor { result = SQLParser::Statement::Equals.new(val[0], val[2]) }
|
233
|
+
| row_value_constructor not_equals_operator row_value_constructor { result = SQLParser::Statement::Not.new(SQLParser::Statement::Equals.new(val[0], val[2])) }
|
234
|
+
| row_value_constructor less_than_operator row_value_constructor { result = SQLParser::Statement::Less.new(val[0], val[2]) }
|
235
|
+
| row_value_constructor greater_than_operator row_value_constructor { result = SQLParser::Statement::Greater.new(val[0], val[2]) }
|
236
|
+
| row_value_constructor less_than_or_equals_operator row_value_constructor { result = SQLParser::Statement::LessOrEquals.new(val[0], val[2]) }
|
237
|
+
| row_value_constructor greater_than_or_equals_operator row_value_constructor { result = SQLParser::Statement::GreaterOrEquals.new(val[0], val[2]) }
|
238
|
+
|
239
|
+
row_value_constructor
|
240
|
+
: row_value_constructor_element
|
241
|
+
| row_subquery
|
242
|
+
|
243
|
+
row_value_constructor_element
|
244
|
+
: value_expression
|
245
|
+
|
246
|
+
value_expression
|
247
|
+
: numeric_value_expression
|
248
|
+
| general_literal
|
249
|
+
|
250
|
+
numeric_value_expression
|
251
|
+
: term plus_sign numeric_value_expression { result = SQLParser::Statement::Add.new(val[0], val[2]) }
|
252
|
+
| term minus_sign numeric_value_expression { result = SQLParser::Statement::Subtract.new(val[0], val[2]) }
|
253
|
+
| term
|
254
|
+
|
255
|
+
term
|
256
|
+
: factor asterisk term { result = SQLParser::Statement::Multiply.new(val[0], val[2]) }
|
257
|
+
| factor solidus term { result = SQLParser::Statement::Divide.new(val[0], val[2]) }
|
258
|
+
| factor
|
259
|
+
|
260
|
+
factor
|
261
|
+
: sign value_expression_primary { result = val[0].new(val[1]) }
|
262
|
+
| value_expression_primary
|
263
|
+
|
264
|
+
value_expression_primary
|
265
|
+
: unsigned_value_specification
|
266
|
+
| column_reference
|
267
|
+
| set_function_specification
|
268
|
+
| left_paren value_expression right_paren { result = val[1] }
|
269
|
+
|
270
|
+
unsigned_value_specification
|
271
|
+
: unsigned_literal
|
272
|
+
| general_value_specification
|
273
|
+
|
274
|
+
unsigned_literal
|
275
|
+
: unsigned_numeric_literal
|
276
|
+
| general_literal
|
277
|
+
|
278
|
+
general_value_specification
|
279
|
+
: CURRENT_USER { result = SQLParser::Statement::CurrentUser.new }
|
280
|
+
|
281
|
+
column_reference
|
282
|
+
: qualifier period column_name { result = SQLParser::Statement::QualifiedColumn.new(val[0], val[2]) }
|
283
|
+
| column_name
|
284
|
+
|
285
|
+
qualifier
|
286
|
+
: table_name
|
287
|
+
|
288
|
+
set_function_specification
|
289
|
+
: COUNT left_paren asterisk right_paren { result = SQLParser::Statement::Count.new(SQLParser::Statement::All.new) }
|
290
|
+
| general_set_function
|
291
|
+
|
292
|
+
general_set_function
|
293
|
+
: COUNT left_paren value_expression right_paren { result = SQLParser::Statement::Count.new(val[2]) }
|
294
|
+
| AVG left_paren value_expression right_paren { result = SQLParser::Statement::Average.new(val[2]) }
|
295
|
+
| MAX left_paren value_expression right_paren { result = SQLParser::Statement::Maximum.new(val[2]) }
|
296
|
+
| MIN left_paren value_expression right_paren { result = SQLParser::Statement::Minimum.new(val[2]) }
|
297
|
+
| SUM left_paren value_expression right_paren { result = SQLParser::Statement::Sum.new(val[2]) }
|
298
|
+
|
299
|
+
# literal numbers, strings, dates and times
|
300
|
+
unsigned_numeric_literal
|
301
|
+
: exact_numeric_literal
|
302
|
+
| approximate_numeric_literal
|
303
|
+
|
304
|
+
exact_numeric_literal
|
305
|
+
: unsigned_integer period unsigned_integer { result = SQLParser::Statement::Float.new("#{val[0]}.#{val[2]}".to_f) }
|
306
|
+
| unsigned_integer period { result = SQLParser::Statement::Float.new(val[0]) }
|
307
|
+
| period unsigned_integer { result = SQLParser::Statement::Float.new("0.#{val[1]}".to_f) }
|
308
|
+
| unsigned_integer { result = SQLParser::Statement::Integer.new(val[0]) }
|
309
|
+
|
310
|
+
approximate_numeric_literal
|
311
|
+
: mantissa E exponent { result = SQLParser::Statement::ApproximateFloat.new(val[0], val[2]) }
|
312
|
+
|
313
|
+
mantissa
|
314
|
+
: exact_numeric_literal
|
315
|
+
|
316
|
+
exponent
|
317
|
+
: signed_integer
|
318
|
+
|
319
|
+
signed_integer
|
320
|
+
: sign unsigned_integer { result = val[0].new(SQLParser::Statement::Integer.new(val[1])) }
|
321
|
+
| unsigned_integer { result = SQLParser::Statement::Integer.new(val[0]) }
|
322
|
+
|
323
|
+
sign
|
324
|
+
: plus_sign { result = SQLParser::Statement::UnaryPlus }
|
325
|
+
| minus_sign { result = SQLParser::Statement::UnaryMinus }
|
326
|
+
|
327
|
+
# sql module
|
328
|
+
column_name
|
329
|
+
: identifier { result = SQLParser::Statement::Column.new(val[0]) }
|
330
|
+
|
331
|
+
# literals
|
332
|
+
general_literal
|
333
|
+
: quote character_string_literal quote { result = SQLParser::Statement::String.new(val[1]) }
|
334
|
+
| quote quote { result = SQLParser::Statement::String.new('') }
|
335
|
+
| datetime_literal
|
336
|
+
|
337
|
+
datetime_literal
|
338
|
+
: date_literal
|
339
|
+
|
340
|
+
date_literal
|
341
|
+
: DATE date_string { result = SQLParser::Statement::Date.new(val[1]) }
|
342
|
+
|
343
|
+
---- header ----
|
344
|
+
require File.dirname(__FILE__) + '/parser.rex.rb'
|
345
|
+
|
346
|
+
---- inner ----
|
347
|
+
|
348
|
+
def self.parse(sql)
|
349
|
+
new.scan_str(sql)
|
350
|
+
end
|
@@ -0,0 +1,1560 @@
|
|
1
|
+
#
|
2
|
+
# DO NOT MODIFY!!!!
|
3
|
+
# This file is automatically generated by Racc 1.4.12
|
4
|
+
# from Racc grammer file "".
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'racc/parser.rb'
|
8
|
+
|
9
|
+
require File.dirname(__FILE__) + '/parser.rex.rb'
|
10
|
+
|
11
|
+
module SQLParser
|
12
|
+
class Parser < Racc::Parser
|
13
|
+
|
14
|
+
module_eval(<<'...end parser.racc/module_eval...', 'parser.racc', 347)
|
15
|
+
|
16
|
+
def self.parse(sql)
|
17
|
+
new.scan_str(sql)
|
18
|
+
end
|
19
|
+
...end parser.racc/module_eval...
|
20
|
+
##### State transition tables begin ###
|
21
|
+
|
22
|
+
racc_action_table = [
|
23
|
+
56, 89, 110, 40, 110, 69, 222, 9, 198, 10,
|
24
|
+
76, 122, 11, 85, 12, 233, 224, 56, 225, 226,
|
25
|
+
227, 234, 70, 121, 72, 73, 161, 74, 75, 219,
|
26
|
+
220, 165, 78, 90, 56, 78, 30, 227, 78, 183,
|
27
|
+
78, 169, 170, 59, 60, 120, 44, 57, 48, 50,
|
28
|
+
51, 52, 53, 30, 61, 56, 64, 166, 40, 167,
|
29
|
+
59, 60, 80, 44, 57, 48, 50, 51, 52, 53,
|
30
|
+
30, 61, 114, 64, 59, 60, 22, 59, 60, 174,
|
31
|
+
44, 57, 48, 50, 51, 52, 53, 80, 61, 56,
|
32
|
+
64, 30, 126, 87, 88, 176, -131, 177, 59, 60,
|
33
|
+
22, 44, 57, 48, 50, 51, 52, 53, 22, 61,
|
34
|
+
56, 64, 78, 40, 104, 103, 183, 133, 78, 195,
|
35
|
+
198, 105, 12, 201, 130, 30, -131, -131, -131, 202,
|
36
|
+
203, 56, 59, 60, 40, 44, 57, 48, 50, 51,
|
37
|
+
52, 53, 204, 61, 26, 64, 30, 205, 206, 207,
|
38
|
+
208, 124, 210, 59, 60, 211, 44, 57, 48, 50,
|
39
|
+
51, 52, 53, 102, 61, 56, 64, 30, 227, 101,
|
40
|
+
78, 69, 100, 221, 59, 60, -150, 44, 57, 48,
|
41
|
+
50, 51, 52, 53, 153, 61, 56, 64, 70, 40,
|
42
|
+
72, 73, 99, 74, 75, 78, 98, 229, 12, 97,
|
43
|
+
78, 30, 96, 56, 95, 94, 227, 153, 59, 60,
|
44
|
+
-87, 44, 57, 48, 50, 51, 52, 53, 84, 61,
|
45
|
+
56, 64, 30, 40, 12, 24, 243, 244, 22, 59,
|
46
|
+
60, 246, 44, 57, 48, 50, 51, 52, 53, 30,
|
47
|
+
61, 56, 64, 247, 40, 80, 59, 60, 249, 44,
|
48
|
+
57, 48, 50, 51, 52, 53, 30, 61, 123, 64,
|
49
|
+
22, 229, 66, 59, 60, 65, 44, 57, 48, 50,
|
50
|
+
51, 52, 53, 253, 61, 56, 64, 30, 126, 24,
|
51
|
+
255, 22, 30, 16, 59, 60, 183, 44, 57, 48,
|
52
|
+
50, 51, 52, 53, 78, 61, 56, 64, 264, 40,
|
53
|
+
15, 266, 183, 133, 267, 268, 269, 13, 30, 78,
|
54
|
+
130, 30, nil, nil, nil, nil, nil, nil, 59, 60,
|
55
|
+
nil, 44, 57, 48, 50, 51, 52, 53, nil, 61,
|
56
|
+
56, 64, 30, 126, nil, nil, nil, nil, nil, 59,
|
57
|
+
60, nil, 44, 57, 48, 50, 51, 52, 53, nil,
|
58
|
+
61, 56, 64, nil, 227, nil, nil, nil, 133, nil,
|
59
|
+
nil, nil, nil, nil, nil, 130, 30, nil, 56, nil,
|
60
|
+
nil, 40, nil, 59, 60, nil, 44, 57, 48, 50,
|
61
|
+
51, 52, 53, nil, 61, 56, 64, 30, 227, nil,
|
62
|
+
nil, nil, nil, nil, 59, 60, nil, 44, 57, 48,
|
63
|
+
50, 51, 52, 53, 30, 61, 56, 64, nil, 40,
|
64
|
+
nil, 59, 60, nil, 44, 57, 48, 50, 51, 52,
|
65
|
+
53, 30, 61, 56, 64, nil, 227, nil, 59, 60,
|
66
|
+
nil, 44, 57, 48, 50, 51, 52, 53, nil, 61,
|
67
|
+
nil, 64, 30, nil, nil, nil, nil, nil, 56, 59,
|
68
|
+
60, 126, 44, 57, 48, 50, 51, 52, 53, 30,
|
69
|
+
61, nil, 64, nil, nil, 56, 59, 60, 40, 44,
|
70
|
+
57, 48, 50, 51, 52, 53, 133, 61, nil, 64,
|
71
|
+
nil, nil, 56, 130, 30, 40, nil, nil, nil, nil,
|
72
|
+
nil, 59, 60, nil, 44, 57, 48, 50, 51, 52,
|
73
|
+
53, 30, 61, 56, 64, nil, 227, nil, nil, nil,
|
74
|
+
nil, 44, 57, 48, 50, 51, 52, 53, 30, 61,
|
75
|
+
56, 64, nil, 227, nil, 59, 60, nil, 44, 57,
|
76
|
+
48, 50, 51, 52, 53, nil, 61, 56, 64, 30,
|
77
|
+
227, nil, nil, nil, nil, nil, 59, 60, nil, 44,
|
78
|
+
57, 48, 50, 51, 52, 53, 30, 61, 56, 64,
|
79
|
+
nil, 40, nil, 59, 60, nil, 44, 57, 48, 50,
|
80
|
+
51, 52, 53, 30, 61, 56, 64, nil, 227, nil,
|
81
|
+
59, 60, nil, 44, 57, 48, 50, 51, 52, 53,
|
82
|
+
nil, 61, nil, 64, 30, nil, nil, nil, nil, nil,
|
83
|
+
56, 59, 60, 126, 44, 57, 48, 50, 51, 52,
|
84
|
+
53, 30, 61, nil, 64, nil, nil, 56, 59, 60,
|
85
|
+
40, 44, 57, 48, 50, 51, 52, 53, 133, 61,
|
86
|
+
155, 64, nil, nil, 56, 130, 30, 40, nil, nil,
|
87
|
+
nil, nil, nil, 59, 60, nil, 44, 57, 48, 50,
|
88
|
+
51, 52, 53, 30, 61, 56, 64, nil, 40, nil,
|
89
|
+
59, 60, nil, 44, 57, 48, 50, 51, 52, 53,
|
90
|
+
30, 61, 56, 64, nil, 40, nil, 59, 60, nil,
|
91
|
+
44, 57, 48, 50, 51, 52, 53, nil, 61, 56,
|
92
|
+
64, 30, 40, nil, nil, nil, nil, nil, 59, 60,
|
93
|
+
nil, 44, 57, 48, 50, 51, 52, 53, 30, 61,
|
94
|
+
nil, 64, nil, nil, 56, 59, 60, 126, 44, 57,
|
95
|
+
48, 50, 51, 52, 53, 30, 61, nil, 64, nil,
|
96
|
+
nil, 56, 59, 60, 40, 44, 57, 48, 50, 51,
|
97
|
+
52, 53, nil, 61, nil, 64, nil, nil, 56, 130,
|
98
|
+
30, 40, nil, nil, nil, nil, nil, 59, 60, nil,
|
99
|
+
44, 57, 48, 50, 51, 52, 53, 30, 61, nil,
|
100
|
+
64, nil, nil, 56, 59, 60, 227, 44, 57, 48,
|
101
|
+
50, 51, 52, 53, 30, 61, nil, 64, nil, nil,
|
102
|
+
nil, 59, 60, nil, 44, 57, 48, 50, 51, 52,
|
103
|
+
53, nil, 61, 56, 64, nil, 126, nil, nil, 30,
|
104
|
+
nil, nil, nil, nil, nil, 12, 59, 60, nil, 44,
|
105
|
+
57, 48, 50, 51, 52, 53, nil, 61, nil, 64,
|
106
|
+
nil, 133, nil, nil, nil, nil, nil, nil, 130, 30,
|
107
|
+
nil, 189, nil, nil, nil, nil, 59, 60, nil, 44,
|
108
|
+
57, 48, 50, 51, 52, 53, nil, 61, 69, 64,
|
109
|
+
184, 185, nil, 186, 187, 188, nil, 68, nil, nil,
|
110
|
+
190, 191, 192, 193, 194, 70, nil, 72, 73, 69,
|
111
|
+
74, 75, nil, 113, nil, nil, nil, nil, nil, nil,
|
112
|
+
nil, 114, nil, nil, nil, nil, 70, nil, 72, 73,
|
113
|
+
nil, 74, 75 ]
|
114
|
+
|
115
|
+
racc_action_check = [
|
116
|
+
88, 34, 167, 88, 66, 179, 181, 0, 223, 0,
|
117
|
+
18, 73, 0, 29, 0, 188, 184, 264, 184, 184,
|
118
|
+
264, 188, 179, 71, 179, 179, 100, 179, 179, 179,
|
119
|
+
179, 102, 18, 34, 253, 29, 88, 253, 167, 181,
|
120
|
+
66, 108, 108, 88, 88, 70, 88, 88, 88, 88,
|
121
|
+
88, 88, 88, 264, 88, 247, 88, 103, 247, 106,
|
122
|
+
264, 264, 83, 264, 264, 264, 264, 264, 264, 264,
|
123
|
+
253, 264, 112, 264, 102, 102, 69, 253, 253, 114,
|
124
|
+
253, 253, 253, 253, 253, 253, 253, 115, 253, 243,
|
125
|
+
253, 247, 243, 33, 33, 116, 32, 117, 247, 247,
|
126
|
+
120, 247, 247, 247, 247, 247, 247, 247, 121, 247,
|
127
|
+
229, 247, 68, 229, 61, 61, 127, 243, 85, 130,
|
128
|
+
131, 64, 229, 146, 243, 243, 32, 32, 32, 155,
|
129
|
+
156, 12, 243, 243, 12, 243, 243, 243, 243, 243,
|
130
|
+
243, 243, 157, 243, 12, 243, 229, 158, 159, 160,
|
131
|
+
164, 75, 172, 229, 229, 173, 229, 229, 229, 229,
|
132
|
+
229, 229, 229, 58, 229, 226, 229, 12, 226, 57,
|
133
|
+
177, 81, 56, 180, 12, 12, 54, 12, 12, 12,
|
134
|
+
12, 12, 12, 12, 182, 12, 227, 12, 81, 227,
|
135
|
+
81, 81, 53, 81, 81, 76, 52, 186, 227, 51,
|
136
|
+
94, 226, 50, 224, 48, 45, 224, 93, 226, 226,
|
137
|
+
30, 226, 226, 226, 226, 226, 226, 226, 28, 226,
|
138
|
+
87, 226, 227, 87, 195, 25, 200, 201, 24, 227,
|
139
|
+
227, 212, 227, 227, 227, 227, 227, 227, 227, 224,
|
140
|
+
227, 89, 227, 213, 89, 23, 224, 224, 220, 224,
|
141
|
+
224, 224, 224, 224, 224, 224, 87, 224, 74, 224,
|
142
|
+
16, 225, 15, 87, 87, 13, 87, 87, 87, 87,
|
143
|
+
87, 87, 87, 228, 87, 219, 87, 89, 219, 11,
|
144
|
+
233, 10, 244, 9, 89, 89, 248, 89, 89, 89,
|
145
|
+
89, 89, 89, 89, 249, 89, 211, 89, 250, 211,
|
146
|
+
7, 254, 256, 219, 257, 261, 262, 1, 267, 269,
|
147
|
+
219, 219, nil, nil, nil, nil, nil, nil, 219, 219,
|
148
|
+
nil, 219, 219, 219, 219, 219, 219, 219, nil, 219,
|
149
|
+
198, 219, 211, 198, nil, nil, nil, nil, nil, 211,
|
150
|
+
211, nil, 211, 211, 211, 211, 211, 211, 211, nil,
|
151
|
+
211, 194, 211, nil, 194, nil, nil, nil, 198, nil,
|
152
|
+
nil, nil, nil, nil, nil, 198, 198, nil, 84, nil,
|
153
|
+
nil, 84, nil, 198, 198, nil, 198, 198, 198, 198,
|
154
|
+
198, 198, 198, nil, 198, 193, 198, 194, 193, nil,
|
155
|
+
nil, nil, nil, nil, 194, 194, nil, 194, 194, 194,
|
156
|
+
194, 194, 194, 194, 84, 194, 90, 194, nil, 90,
|
157
|
+
nil, 84, 84, nil, 84, 84, 84, 84, 84, 84,
|
158
|
+
84, 193, 84, 192, 84, nil, 192, nil, 193, 193,
|
159
|
+
nil, 193, 193, 193, 193, 193, 193, 193, nil, 193,
|
160
|
+
nil, 193, 90, nil, nil, nil, nil, nil, 80, 90,
|
161
|
+
90, 80, 90, 90, 90, 90, 90, 90, 90, 192,
|
162
|
+
90, nil, 90, nil, nil, 35, 192, 192, 35, 192,
|
163
|
+
192, 192, 192, 192, 192, 192, 80, 192, nil, 192,
|
164
|
+
nil, nil, 40, 80, 80, 40, nil, nil, nil, nil,
|
165
|
+
nil, 80, 80, nil, 80, 80, 80, 80, 80, 80,
|
166
|
+
80, 35, 80, 191, 80, nil, 191, nil, nil, nil,
|
167
|
+
nil, 35, 35, 35, 35, 35, 35, 35, 40, 35,
|
168
|
+
190, 35, nil, 190, nil, 40, 40, nil, 40, 40,
|
169
|
+
40, 40, 40, 40, 40, nil, 40, 189, 40, 191,
|
170
|
+
189, nil, nil, nil, nil, nil, 191, 191, nil, 191,
|
171
|
+
191, 191, 191, 191, 191, 191, 190, 191, 113, 191,
|
172
|
+
nil, 113, nil, 190, 190, nil, 190, 190, 190, 190,
|
173
|
+
190, 190, 190, 189, 190, 185, 190, nil, 185, nil,
|
174
|
+
189, 189, nil, 189, 189, 189, 189, 189, 189, 189,
|
175
|
+
nil, 189, nil, 189, 113, nil, nil, nil, nil, nil,
|
176
|
+
183, 113, 113, 183, 113, 113, 113, 113, 113, 113,
|
177
|
+
113, 185, 113, nil, 113, nil, nil, 95, 185, 185,
|
178
|
+
95, 185, 185, 185, 185, 185, 185, 185, 183, 185,
|
179
|
+
95, 185, nil, nil, 96, 183, 183, 96, nil, nil,
|
180
|
+
nil, nil, nil, 183, 183, nil, 183, 183, 183, 183,
|
181
|
+
183, 183, 183, 95, 183, 176, 183, nil, 176, nil,
|
182
|
+
95, 95, nil, 95, 95, 95, 95, 95, 95, 95,
|
183
|
+
96, 95, 174, 95, nil, 174, nil, 96, 96, nil,
|
184
|
+
96, 96, 96, 96, 96, 96, 96, nil, 96, 97,
|
185
|
+
96, 176, 97, nil, nil, nil, nil, nil, 176, 176,
|
186
|
+
nil, 176, 176, 176, 176, 176, 176, 176, 174, 176,
|
187
|
+
nil, 176, nil, nil, 133, 174, 174, 133, 174, 174,
|
188
|
+
174, 174, 174, 174, 174, 97, 174, nil, 174, nil,
|
189
|
+
nil, 98, 97, 97, 98, 97, 97, 97, 97, 97,
|
190
|
+
97, 97, nil, 97, nil, 97, nil, nil, 99, 133,
|
191
|
+
133, 99, nil, nil, nil, nil, nil, 133, 133, nil,
|
192
|
+
133, 133, 133, 133, 133, 133, 133, 98, 133, nil,
|
193
|
+
133, nil, nil, 187, 98, 98, 187, 98, 98, 98,
|
194
|
+
98, 98, 98, 98, 99, 98, nil, 98, nil, nil,
|
195
|
+
nil, 99, 99, nil, 99, 99, 99, 99, 99, 99,
|
196
|
+
99, nil, 99, 126, 99, nil, 126, nil, nil, 187,
|
197
|
+
nil, nil, nil, nil, nil, 126, 187, 187, nil, 187,
|
198
|
+
187, 187, 187, 187, 187, 187, nil, 187, nil, 187,
|
199
|
+
nil, 126, nil, nil, nil, nil, nil, nil, 126, 126,
|
200
|
+
nil, 129, nil, nil, nil, nil, 126, 126, nil, 126,
|
201
|
+
126, 126, 126, 126, 126, 126, nil, 126, 17, 126,
|
202
|
+
129, 129, nil, 129, 129, 129, nil, 17, nil, nil,
|
203
|
+
129, 129, 129, 129, 129, 17, nil, 17, 17, 67,
|
204
|
+
17, 17, nil, 67, nil, nil, nil, nil, nil, nil,
|
205
|
+
nil, 67, nil, nil, nil, nil, 67, nil, 67, 67,
|
206
|
+
nil, 67, 67 ]
|
207
|
+
|
208
|
+
racc_action_pointer = [
|
209
|
+
-3, 307, nil, nil, nil, nil, nil, 298, nil, 272,
|
210
|
+
240, 259, 126, 265, nil, 259, 219, 854, -9, nil,
|
211
|
+
nil, nil, nil, 215, 187, 205, nil, nil, 214, -6,
|
212
|
+
158, nil, 78, 45, -17, 460, nil, nil, nil, nil,
|
213
|
+
477, nil, nil, nil, nil, 153, nil, nil, 196, nil,
|
214
|
+
194, 191, 188, 184, 118, nil, 120, 164, 105, nil,
|
215
|
+
nil, 55, nil, nil, 59, nil, -1, 875, 71, 35,
|
216
|
+
23, 1, nil, -14, 233, 126, 154, nil, nil, nil,
|
217
|
+
443, 167, nil, 32, 363, 77, nil, 215, -5, 236,
|
218
|
+
401, nil, nil, 198, 159, 612, 629, 684, 726, 743,
|
219
|
+
21, nil, 26, -2, nil, nil, 55, nil, 35, nil,
|
220
|
+
nil, nil, 56, 553, 71, 57, 81, 93, nil, nil,
|
221
|
+
59, 67, nil, nil, nil, nil, 798, 74, nil, 827,
|
222
|
+
111, 85, nil, 709, nil, nil, nil, nil, nil, nil,
|
223
|
+
nil, nil, nil, nil, nil, nil, 92, nil, nil, nil,
|
224
|
+
nil, nil, nil, nil, nil, 120, 121, 133, 138, 139,
|
225
|
+
140, nil, nil, nil, 145, nil, nil, -3, nil, nil,
|
226
|
+
nil, nil, 143, 151, 667, nil, 650, 129, nil, 1,
|
227
|
+
164, -3, 175, 595, -18, 570, 189, 768, -18, 532,
|
228
|
+
515, 498, 418, 380, 346, 207, nil, nil, 325, nil,
|
229
|
+
194, 224, nil, nil, nil, nil, nil, nil, nil, nil,
|
230
|
+
nil, 291, 222, 239, nil, nil, nil, nil, nil, 270,
|
231
|
+
240, nil, nil, -27, 198, 253, 160, 181, 238, 105,
|
232
|
+
nil, nil, nil, 241, nil, nil, nil, nil, nil, nil,
|
233
|
+
nil, nil, nil, 84, 241, nil, nil, 50, 244, 253,
|
234
|
+
263, nil, nil, 29, 292, nil, 260, 300, nil, nil,
|
235
|
+
nil, 296, 302, nil, 12, nil, nil, 267, nil, 268,
|
236
|
+
nil, nil, nil ]
|
237
|
+
|
238
|
+
racc_action_default = [
|
239
|
+
-162, -162, -1, -2, -3, -4, -5, -7, -18, -162,
|
240
|
+
-162, -162, -162, -162, -6, -162, -162, -162, -44, -45,
|
241
|
+
-47, -48, -87, -64, -162, -32, -33, -34, -36, -39,
|
242
|
+
-156, -114, -115, -118, -121, -162, -123, -124, -125, -126,
|
243
|
+
-162, -128, -129, -130, -132, -162, -134, -135, -162, -137,
|
244
|
+
-162, -162, -162, -162, -143, -144, -148, -162, -162, -154,
|
245
|
+
-155, -162, -159, -160, -162, 273, -162, -162, -162, -162,
|
246
|
+
-162, -162, -52, -54, -56, -57, -162, -43, -156, -26,
|
247
|
+
-162, -41, -31, -64, -162, -162, -38, -162, -162, -162,
|
248
|
+
-162, -122, -131, -162, -162, -162, -162, -162, -162, -162,
|
249
|
+
-146, -147, -162, -162, -158, -161, -8, -10, -14, -12,
|
250
|
+
-13, -19, -162, -162, -162, -64, -162, -24, -25, -49,
|
251
|
+
-162, -162, -53, -55, -58, -42, -162, -65, -73, -162,
|
252
|
+
-162, -90, -92, -162, -95, -96, -97, -99, -100, -101,
|
253
|
+
-102, -103, -104, -111, -112, -113, -66, -35, -37, -116,
|
254
|
+
-117, -119, -120, -127, -133, -162, -162, -162, -162, -162,
|
255
|
+
-162, -145, -149, -151, -162, -153, -157, -162, -11, -15,
|
256
|
+
-16, -20, -162, -29, -162, -21, -162, -162, -50, -162,
|
257
|
+
-162, -162, -113, -162, -162, -162, -162, -162, -162, -162,
|
258
|
+
-162, -162, -162, -162, -162, -162, -46, -86, -162, -94,
|
259
|
+
-71, -162, -136, -138, -139, -140, -141, -142, -152, -9,
|
260
|
+
-27, -162, -162, -81, -22, -23, -51, -59, -60, -162,
|
261
|
+
-162, -17, -98, -91, -162, -162, -162, -162, -162, -162,
|
262
|
+
-77, -78, -83, -162, -85, -105, -106, -107, -108, -109,
|
263
|
+
-110, -93, -40, -162, -162, -28, -30, -162, -61, -162,
|
264
|
+
-162, -76, -82, -162, -162, -84, -72, -67, -69, -70,
|
265
|
+
-80, -162, -63, -89, -162, -75, -79, -162, -62, -162,
|
266
|
+
-74, -68, -88 ]
|
267
|
+
|
268
|
+
racc_goto_table = [
|
269
|
+
77, 29, 17, 127, 107, 118, 18, 212, 67, 172,
|
270
|
+
27, 86, 18, 196, 79, 111, 81, 230, 23, 259,
|
271
|
+
18, 258, 151, 152, 149, 150, 1, 112, 25, 93,
|
272
|
+
82, 228, 83, 232, 115, 235, 236, 237, 238, 239,
|
273
|
+
240, 92, 259, 200, 271, 242, 168, 197, 109, 181,
|
274
|
+
116, 216, 217, 218, 106, 261, 251, 262, 125, 257,
|
275
|
+
171, 14, 254, 7, 6, 119, 5, 148, 223, 196,
|
276
|
+
250, 241, 252, 29, 146, 199, 154, 4, 3, 2,
|
277
|
+
260, 164, 147, 91, 156, 157, 158, 159, 160, 162,
|
278
|
+
163, nil, nil, 92, 92, 92, 92, nil, nil, 265,
|
279
|
+
nil, nil, 173, nil, nil, 209, 175, 245, 196, nil,
|
280
|
+
270, nil, nil, 179, 215, 182, 178, 18, nil, nil,
|
281
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
282
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
283
|
+
nil, nil, 248, nil, nil, nil, nil, nil, nil, 109,
|
284
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 116,
|
285
|
+
nil, nil, nil, 213, nil, 214, 256, nil, nil, nil,
|
286
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
287
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
288
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
289
|
+
173, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
290
|
+
nil, nil, nil, nil, nil, nil, 93, nil, 213, nil,
|
291
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
292
|
+
nil, 263, nil, nil, nil, nil, 213, nil, nil, nil,
|
293
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
294
|
+
nil, 272 ]
|
295
|
+
|
296
|
+
racc_goto_check = [
|
297
|
+
13, 22, 16, 42, 10, 23, 33, 26, 16, 25,
|
298
|
+
29, 13, 33, 14, 20, 17, 16, 52, 24, 47,
|
299
|
+
33, 46, 65, 65, 63, 63, 1, 18, 27, 22,
|
300
|
+
28, 50, 24, 50, 19, 50, 50, 50, 50, 50,
|
301
|
+
50, 64, 47, 31, 46, 32, 12, 35, 13, 42,
|
302
|
+
13, 39, 40, 41, 9, 43, 52, 44, 13, 45,
|
303
|
+
17, 8, 26, 7, 6, 33, 5, 13, 56, 14,
|
304
|
+
50, 57, 50, 22, 20, 58, 13, 4, 3, 2,
|
305
|
+
26, 67, 29, 68, 22, 22, 22, 22, 22, 79,
|
306
|
+
80, nil, nil, 64, 64, 64, 64, nil, nil, 50,
|
307
|
+
nil, nil, 22, nil, nil, 10, 20, 25, 14, nil,
|
308
|
+
50, nil, nil, 16, 23, 22, 33, 33, nil, nil,
|
309
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
310
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
311
|
+
nil, nil, 42, nil, nil, nil, nil, nil, nil, 13,
|
312
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 13,
|
313
|
+
nil, nil, nil, 22, nil, 22, 42, nil, nil, nil,
|
314
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
315
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
316
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
317
|
+
22, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
318
|
+
nil, nil, nil, nil, nil, nil, 22, nil, 22, nil,
|
319
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
320
|
+
nil, 13, nil, nil, nil, nil, 22, nil, nil, nil,
|
321
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
322
|
+
nil, 13 ]
|
323
|
+
|
324
|
+
racc_goto_pointer = [
|
325
|
+
nil, 26, 79, 78, 77, 66, 64, 63, 54, -12,
|
326
|
+
-62, nil, -62, -18, -117, nil, -8, -52, -40, -34,
|
327
|
+
-9, nil, -11, -63, 7, -104, -167, 16, 5, -2,
|
328
|
+
nil, -103, -155, -4, nil, -83, nil, nil, nil, -128,
|
329
|
+
-127, -126, -77, -194, -192, -185, -223, -225, nil, nil,
|
330
|
+
-154, nil, -169, nil, nil, nil, -115, -127, -58, nil,
|
331
|
+
nil, nil, nil, -63, 6, -67, nil, -21, 48, nil,
|
332
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, -13,
|
333
|
+
-12, nil, nil ]
|
334
|
+
|
335
|
+
racc_goto_default = [
|
336
|
+
nil, nil, nil, nil, nil, nil, nil, 180, nil, nil,
|
337
|
+
nil, 108, nil, 46, 128, 8, nil, nil, nil, nil,
|
338
|
+
nil, 117, 145, nil, nil, nil, nil, nil, nil, nil,
|
339
|
+
28, nil, nil, 47, 19, 231, 20, 21, 71, nil,
|
340
|
+
nil, nil, nil, nil, nil, nil, nil, 38, 144, 138,
|
341
|
+
129, 139, nil, 140, 141, 142, 131, 132, 134, 135,
|
342
|
+
136, 137, 143, 31, 32, 33, 34, 35, 36, 37,
|
343
|
+
39, 41, 42, 43, 45, 49, 54, 55, 58, nil,
|
344
|
+
nil, 62, 63 ]
|
345
|
+
|
346
|
+
racc_reduce_table = [
|
347
|
+
0, 0, :racc_error,
|
348
|
+
1, 64, :_reduce_none,
|
349
|
+
1, 65, :_reduce_none,
|
350
|
+
1, 65, :_reduce_none,
|
351
|
+
1, 65, :_reduce_none,
|
352
|
+
1, 65, :_reduce_none,
|
353
|
+
2, 66, :_reduce_6,
|
354
|
+
0, 71, :_reduce_none,
|
355
|
+
3, 71, :_reduce_8,
|
356
|
+
3, 72, :_reduce_9,
|
357
|
+
1, 72, :_reduce_none,
|
358
|
+
2, 73, :_reduce_11,
|
359
|
+
1, 74, :_reduce_none,
|
360
|
+
1, 74, :_reduce_13,
|
361
|
+
0, 75, :_reduce_14,
|
362
|
+
1, 75, :_reduce_15,
|
363
|
+
1, 75, :_reduce_16,
|
364
|
+
3, 77, :_reduce_17,
|
365
|
+
1, 70, :_reduce_none,
|
366
|
+
4, 67, :_reduce_19,
|
367
|
+
5, 67, :_reduce_20,
|
368
|
+
5, 68, :_reduce_21,
|
369
|
+
3, 84, :_reduce_22,
|
370
|
+
3, 86, :_reduce_23,
|
371
|
+
1, 86, :_reduce_none,
|
372
|
+
1, 82, :_reduce_25,
|
373
|
+
3, 69, :_reduce_26,
|
374
|
+
3, 81, :_reduce_27,
|
375
|
+
3, 88, :_reduce_28,
|
376
|
+
1, 88, :_reduce_none,
|
377
|
+
4, 80, :_reduce_30,
|
378
|
+
3, 78, :_reduce_31,
|
379
|
+
2, 78, :_reduce_32,
|
380
|
+
1, 90, :_reduce_33,
|
381
|
+
1, 90, :_reduce_34,
|
382
|
+
3, 92, :_reduce_35,
|
383
|
+
1, 92, :_reduce_none,
|
384
|
+
3, 93, :_reduce_37,
|
385
|
+
2, 93, :_reduce_38,
|
386
|
+
1, 93, :_reduce_none,
|
387
|
+
4, 91, :_reduce_40,
|
388
|
+
2, 87, :_reduce_41,
|
389
|
+
3, 79, :_reduce_42,
|
390
|
+
2, 79, :_reduce_43,
|
391
|
+
1, 79, :_reduce_none,
|
392
|
+
1, 79, :_reduce_none,
|
393
|
+
1, 98, :_reduce_none,
|
394
|
+
1, 97, :_reduce_none,
|
395
|
+
1, 97, :_reduce_none,
|
396
|
+
3, 99, :_reduce_49,
|
397
|
+
4, 99, :_reduce_50,
|
398
|
+
5, 100, :_reduce_51,
|
399
|
+
1, 101, :_reduce_52,
|
400
|
+
2, 101, :_reduce_53,
|
401
|
+
1, 101, :_reduce_54,
|
402
|
+
2, 101, :_reduce_55,
|
403
|
+
1, 101, :_reduce_56,
|
404
|
+
1, 101, :_reduce_57,
|
405
|
+
2, 101, :_reduce_58,
|
406
|
+
1, 102, :_reduce_none,
|
407
|
+
1, 102, :_reduce_none,
|
408
|
+
2, 103, :_reduce_61,
|
409
|
+
4, 104, :_reduce_62,
|
410
|
+
1, 106, :_reduce_none,
|
411
|
+
0, 83, :_reduce_none,
|
412
|
+
2, 83, :_reduce_65,
|
413
|
+
0, 94, :_reduce_none,
|
414
|
+
3, 94, :_reduce_67,
|
415
|
+
3, 108, :_reduce_68,
|
416
|
+
1, 108, :_reduce_none,
|
417
|
+
1, 109, :_reduce_none,
|
418
|
+
0, 95, :_reduce_none,
|
419
|
+
2, 95, :_reduce_72,
|
420
|
+
1, 111, :_reduce_none,
|
421
|
+
6, 112, :_reduce_74,
|
422
|
+
5, 112, :_reduce_75,
|
423
|
+
4, 114, :_reduce_76,
|
424
|
+
3, 114, :_reduce_77,
|
425
|
+
1, 115, :_reduce_none,
|
426
|
+
3, 115, :_reduce_79,
|
427
|
+
3, 89, :_reduce_80,
|
428
|
+
1, 89, :_reduce_none,
|
429
|
+
4, 116, :_reduce_82,
|
430
|
+
3, 116, :_reduce_83,
|
431
|
+
4, 117, :_reduce_84,
|
432
|
+
3, 117, :_reduce_85,
|
433
|
+
2, 118, :_reduce_86,
|
434
|
+
1, 96, :_reduce_87,
|
435
|
+
3, 107, :_reduce_88,
|
436
|
+
1, 107, :_reduce_none,
|
437
|
+
1, 105, :_reduce_none,
|
438
|
+
3, 105, :_reduce_91,
|
439
|
+
1, 119, :_reduce_none,
|
440
|
+
3, 119, :_reduce_93,
|
441
|
+
2, 120, :_reduce_94,
|
442
|
+
1, 120, :_reduce_none,
|
443
|
+
1, 121, :_reduce_none,
|
444
|
+
1, 122, :_reduce_none,
|
445
|
+
3, 122, :_reduce_98,
|
446
|
+
1, 123, :_reduce_none,
|
447
|
+
1, 123, :_reduce_none,
|
448
|
+
1, 123, :_reduce_none,
|
449
|
+
1, 123, :_reduce_none,
|
450
|
+
1, 123, :_reduce_none,
|
451
|
+
1, 123, :_reduce_none,
|
452
|
+
3, 124, :_reduce_105,
|
453
|
+
3, 124, :_reduce_106,
|
454
|
+
3, 124, :_reduce_107,
|
455
|
+
3, 124, :_reduce_108,
|
456
|
+
3, 124, :_reduce_109,
|
457
|
+
3, 124, :_reduce_110,
|
458
|
+
1, 113, :_reduce_none,
|
459
|
+
1, 113, :_reduce_none,
|
460
|
+
1, 125, :_reduce_none,
|
461
|
+
1, 85, :_reduce_none,
|
462
|
+
1, 85, :_reduce_none,
|
463
|
+
3, 126, :_reduce_116,
|
464
|
+
3, 126, :_reduce_117,
|
465
|
+
1, 126, :_reduce_none,
|
466
|
+
3, 128, :_reduce_119,
|
467
|
+
3, 128, :_reduce_120,
|
468
|
+
1, 128, :_reduce_none,
|
469
|
+
2, 129, :_reduce_122,
|
470
|
+
1, 129, :_reduce_none,
|
471
|
+
1, 131, :_reduce_none,
|
472
|
+
1, 131, :_reduce_none,
|
473
|
+
1, 131, :_reduce_none,
|
474
|
+
3, 131, :_reduce_127,
|
475
|
+
1, 132, :_reduce_none,
|
476
|
+
1, 132, :_reduce_none,
|
477
|
+
1, 134, :_reduce_none,
|
478
|
+
1, 134, :_reduce_none,
|
479
|
+
1, 135, :_reduce_132,
|
480
|
+
3, 110, :_reduce_133,
|
481
|
+
1, 110, :_reduce_none,
|
482
|
+
1, 137, :_reduce_none,
|
483
|
+
4, 133, :_reduce_136,
|
484
|
+
1, 133, :_reduce_none,
|
485
|
+
4, 138, :_reduce_138,
|
486
|
+
4, 138, :_reduce_139,
|
487
|
+
4, 138, :_reduce_140,
|
488
|
+
4, 138, :_reduce_141,
|
489
|
+
4, 138, :_reduce_142,
|
490
|
+
1, 136, :_reduce_none,
|
491
|
+
1, 136, :_reduce_none,
|
492
|
+
3, 139, :_reduce_145,
|
493
|
+
2, 139, :_reduce_146,
|
494
|
+
2, 139, :_reduce_147,
|
495
|
+
1, 139, :_reduce_148,
|
496
|
+
3, 140, :_reduce_149,
|
497
|
+
1, 141, :_reduce_none,
|
498
|
+
1, 142, :_reduce_none,
|
499
|
+
2, 143, :_reduce_152,
|
500
|
+
1, 143, :_reduce_153,
|
501
|
+
1, 130, :_reduce_154,
|
502
|
+
1, 130, :_reduce_155,
|
503
|
+
1, 76, :_reduce_156,
|
504
|
+
3, 127, :_reduce_157,
|
505
|
+
2, 127, :_reduce_158,
|
506
|
+
1, 127, :_reduce_none,
|
507
|
+
1, 144, :_reduce_none,
|
508
|
+
2, 145, :_reduce_161 ]
|
509
|
+
|
510
|
+
racc_reduce_n = 162
|
511
|
+
|
512
|
+
racc_shift_n = 273
|
513
|
+
|
514
|
+
racc_token_table = {
|
515
|
+
false => 0,
|
516
|
+
:error => 1,
|
517
|
+
:ORDER => 2,
|
518
|
+
:BY => 3,
|
519
|
+
:comma => 4,
|
520
|
+
:unsigned_integer => 5,
|
521
|
+
:ASC => 6,
|
522
|
+
:DESC => 7,
|
523
|
+
:left_paren => 8,
|
524
|
+
:right_paren => 9,
|
525
|
+
:INSERT => 10,
|
526
|
+
:INTO => 11,
|
527
|
+
:UPDATE => 12,
|
528
|
+
:SET => 13,
|
529
|
+
:equals_operator => 14,
|
530
|
+
:DELETE => 15,
|
531
|
+
:VALUES => 16,
|
532
|
+
:SELECT => 17,
|
533
|
+
:asterisk => 18,
|
534
|
+
:AS => 19,
|
535
|
+
:FROM => 20,
|
536
|
+
:CROSS => 21,
|
537
|
+
:JOIN => 22,
|
538
|
+
:INNER => 23,
|
539
|
+
:LEFT => 24,
|
540
|
+
:OUTER => 25,
|
541
|
+
:RIGHT => 26,
|
542
|
+
:FULL => 27,
|
543
|
+
:ON => 28,
|
544
|
+
:USING => 29,
|
545
|
+
:WHERE => 30,
|
546
|
+
:GROUP => 31,
|
547
|
+
:HAVING => 32,
|
548
|
+
:NOT => 33,
|
549
|
+
:BETWEEN => 34,
|
550
|
+
:AND => 35,
|
551
|
+
:IN => 36,
|
552
|
+
:LIKE => 37,
|
553
|
+
:IS => 38,
|
554
|
+
:NULL => 39,
|
555
|
+
:EXISTS => 40,
|
556
|
+
:identifier => 41,
|
557
|
+
:OR => 42,
|
558
|
+
:not_equals_operator => 43,
|
559
|
+
:less_than_operator => 44,
|
560
|
+
:greater_than_operator => 45,
|
561
|
+
:less_than_or_equals_operator => 46,
|
562
|
+
:greater_than_or_equals_operator => 47,
|
563
|
+
:plus_sign => 48,
|
564
|
+
:minus_sign => 49,
|
565
|
+
:solidus => 50,
|
566
|
+
:CURRENT_USER => 51,
|
567
|
+
:period => 52,
|
568
|
+
:COUNT => 53,
|
569
|
+
:AVG => 54,
|
570
|
+
:MAX => 55,
|
571
|
+
:MIN => 56,
|
572
|
+
:SUM => 57,
|
573
|
+
:E => 58,
|
574
|
+
:quote => 59,
|
575
|
+
:character_string_literal => 60,
|
576
|
+
:DATE => 61,
|
577
|
+
:date_string => 62 }
|
578
|
+
|
579
|
+
racc_nt_base = 63
|
580
|
+
|
581
|
+
racc_use_result_var = true
|
582
|
+
|
583
|
+
Racc_arg = [
|
584
|
+
racc_action_table,
|
585
|
+
racc_action_check,
|
586
|
+
racc_action_default,
|
587
|
+
racc_action_pointer,
|
588
|
+
racc_goto_table,
|
589
|
+
racc_goto_check,
|
590
|
+
racc_goto_default,
|
591
|
+
racc_goto_pointer,
|
592
|
+
racc_nt_base,
|
593
|
+
racc_reduce_table,
|
594
|
+
racc_token_table,
|
595
|
+
racc_shift_n,
|
596
|
+
racc_reduce_n,
|
597
|
+
racc_use_result_var ]
|
598
|
+
|
599
|
+
Racc_token_to_s_table = [
|
600
|
+
"$end",
|
601
|
+
"error",
|
602
|
+
"ORDER",
|
603
|
+
"BY",
|
604
|
+
"comma",
|
605
|
+
"unsigned_integer",
|
606
|
+
"ASC",
|
607
|
+
"DESC",
|
608
|
+
"left_paren",
|
609
|
+
"right_paren",
|
610
|
+
"INSERT",
|
611
|
+
"INTO",
|
612
|
+
"UPDATE",
|
613
|
+
"SET",
|
614
|
+
"equals_operator",
|
615
|
+
"DELETE",
|
616
|
+
"VALUES",
|
617
|
+
"SELECT",
|
618
|
+
"asterisk",
|
619
|
+
"AS",
|
620
|
+
"FROM",
|
621
|
+
"CROSS",
|
622
|
+
"JOIN",
|
623
|
+
"INNER",
|
624
|
+
"LEFT",
|
625
|
+
"OUTER",
|
626
|
+
"RIGHT",
|
627
|
+
"FULL",
|
628
|
+
"ON",
|
629
|
+
"USING",
|
630
|
+
"WHERE",
|
631
|
+
"GROUP",
|
632
|
+
"HAVING",
|
633
|
+
"NOT",
|
634
|
+
"BETWEEN",
|
635
|
+
"AND",
|
636
|
+
"IN",
|
637
|
+
"LIKE",
|
638
|
+
"IS",
|
639
|
+
"NULL",
|
640
|
+
"EXISTS",
|
641
|
+
"identifier",
|
642
|
+
"OR",
|
643
|
+
"not_equals_operator",
|
644
|
+
"less_than_operator",
|
645
|
+
"greater_than_operator",
|
646
|
+
"less_than_or_equals_operator",
|
647
|
+
"greater_than_or_equals_operator",
|
648
|
+
"plus_sign",
|
649
|
+
"minus_sign",
|
650
|
+
"solidus",
|
651
|
+
"CURRENT_USER",
|
652
|
+
"period",
|
653
|
+
"COUNT",
|
654
|
+
"AVG",
|
655
|
+
"MAX",
|
656
|
+
"MIN",
|
657
|
+
"SUM",
|
658
|
+
"E",
|
659
|
+
"quote",
|
660
|
+
"character_string_literal",
|
661
|
+
"DATE",
|
662
|
+
"date_string",
|
663
|
+
"$start",
|
664
|
+
"direct_sql_statement",
|
665
|
+
"direct_sql_data_statement",
|
666
|
+
"direct_select_statement_multiple_rows",
|
667
|
+
"insert_specification",
|
668
|
+
"update_specification",
|
669
|
+
"delete_specification",
|
670
|
+
"query_expression",
|
671
|
+
"order_by_clause",
|
672
|
+
"sort_specification_list",
|
673
|
+
"sort_specification",
|
674
|
+
"sort_key",
|
675
|
+
"ordering_specification",
|
676
|
+
"column_name",
|
677
|
+
"subquery",
|
678
|
+
"query_specification",
|
679
|
+
"table_reference",
|
680
|
+
"value_list",
|
681
|
+
"column_list",
|
682
|
+
"update_column_list",
|
683
|
+
"where_clause",
|
684
|
+
"update_column",
|
685
|
+
"value_expression",
|
686
|
+
"update_column_sublist",
|
687
|
+
"from_clause",
|
688
|
+
"in_column_list",
|
689
|
+
"in_value_list",
|
690
|
+
"select_list",
|
691
|
+
"table_expression",
|
692
|
+
"select_sublist",
|
693
|
+
"derived_column",
|
694
|
+
"group_by_clause",
|
695
|
+
"having_clause",
|
696
|
+
"table_name",
|
697
|
+
"joined_table",
|
698
|
+
"table_subquery",
|
699
|
+
"cross_join",
|
700
|
+
"qualified_join",
|
701
|
+
"join_type",
|
702
|
+
"join_specification",
|
703
|
+
"join_condition",
|
704
|
+
"named_columns_join",
|
705
|
+
"search_condition",
|
706
|
+
"join_column_list",
|
707
|
+
"column_name_list",
|
708
|
+
"grouping_column_reference_list",
|
709
|
+
"grouping_column_reference",
|
710
|
+
"column_reference",
|
711
|
+
"row_subquery",
|
712
|
+
"between_predicate",
|
713
|
+
"row_value_constructor",
|
714
|
+
"in_predicate",
|
715
|
+
"in_predicate_value",
|
716
|
+
"like_predicate",
|
717
|
+
"null_predicate",
|
718
|
+
"exists_predicate",
|
719
|
+
"boolean_term",
|
720
|
+
"boolean_factor",
|
721
|
+
"boolean_test",
|
722
|
+
"boolean_primary",
|
723
|
+
"predicate",
|
724
|
+
"comparison_predicate",
|
725
|
+
"row_value_constructor_element",
|
726
|
+
"numeric_value_expression",
|
727
|
+
"general_literal",
|
728
|
+
"term",
|
729
|
+
"factor",
|
730
|
+
"sign",
|
731
|
+
"value_expression_primary",
|
732
|
+
"unsigned_value_specification",
|
733
|
+
"set_function_specification",
|
734
|
+
"unsigned_literal",
|
735
|
+
"general_value_specification",
|
736
|
+
"unsigned_numeric_literal",
|
737
|
+
"qualifier",
|
738
|
+
"general_set_function",
|
739
|
+
"exact_numeric_literal",
|
740
|
+
"approximate_numeric_literal",
|
741
|
+
"mantissa",
|
742
|
+
"exponent",
|
743
|
+
"signed_integer",
|
744
|
+
"datetime_literal",
|
745
|
+
"date_literal" ]
|
746
|
+
|
747
|
+
Racc_debug_parser = false
|
748
|
+
|
749
|
+
##### State transition tables end #####
|
750
|
+
|
751
|
+
# reduce 0 omitted
|
752
|
+
|
753
|
+
# reduce 1 omitted
|
754
|
+
|
755
|
+
# reduce 2 omitted
|
756
|
+
|
757
|
+
# reduce 3 omitted
|
758
|
+
|
759
|
+
# reduce 4 omitted
|
760
|
+
|
761
|
+
# reduce 5 omitted
|
762
|
+
|
763
|
+
module_eval(<<'.,.,', 'parser.racc', 15)
|
764
|
+
def _reduce_6(val, _values, result)
|
765
|
+
result = SQLParser::Statement::DirectSelect.new(val[0], val[1])
|
766
|
+
result
|
767
|
+
end
|
768
|
+
.,.,
|
769
|
+
|
770
|
+
# reduce 7 omitted
|
771
|
+
|
772
|
+
module_eval(<<'.,.,', 'parser.racc', 20)
|
773
|
+
def _reduce_8(val, _values, result)
|
774
|
+
result = SQLParser::Statement::OrderBy.new(val[2])
|
775
|
+
result
|
776
|
+
end
|
777
|
+
.,.,
|
778
|
+
|
779
|
+
module_eval(<<'.,.,', 'parser.racc', 23)
|
780
|
+
def _reduce_9(val, _values, result)
|
781
|
+
result = Array(val[0]) + Array(val[2])
|
782
|
+
result
|
783
|
+
end
|
784
|
+
.,.,
|
785
|
+
|
786
|
+
# reduce 10 omitted
|
787
|
+
|
788
|
+
module_eval(<<'.,.,', 'parser.racc', 27)
|
789
|
+
def _reduce_11(val, _values, result)
|
790
|
+
result = val[1].new(val[0])
|
791
|
+
result
|
792
|
+
end
|
793
|
+
.,.,
|
794
|
+
|
795
|
+
# reduce 12 omitted
|
796
|
+
|
797
|
+
module_eval(<<'.,.,', 'parser.racc', 31)
|
798
|
+
def _reduce_13(val, _values, result)
|
799
|
+
result = SQLParser::Statement::Integer.new(val[0])
|
800
|
+
result
|
801
|
+
end
|
802
|
+
.,.,
|
803
|
+
|
804
|
+
module_eval(<<'.,.,', 'parser.racc', 34)
|
805
|
+
def _reduce_14(val, _values, result)
|
806
|
+
result = SQLParser::Statement::Ascending
|
807
|
+
result
|
808
|
+
end
|
809
|
+
.,.,
|
810
|
+
|
811
|
+
module_eval(<<'.,.,', 'parser.racc', 35)
|
812
|
+
def _reduce_15(val, _values, result)
|
813
|
+
result = SQLParser::Statement::Ascending
|
814
|
+
result
|
815
|
+
end
|
816
|
+
.,.,
|
817
|
+
|
818
|
+
module_eval(<<'.,.,', 'parser.racc', 36)
|
819
|
+
def _reduce_16(val, _values, result)
|
820
|
+
result = SQLParser::Statement::Descending
|
821
|
+
result
|
822
|
+
end
|
823
|
+
.,.,
|
824
|
+
|
825
|
+
module_eval(<<'.,.,', 'parser.racc', 41)
|
826
|
+
def _reduce_17(val, _values, result)
|
827
|
+
result = SQLParser::Statement::Subquery.new(val[1])
|
828
|
+
result
|
829
|
+
end
|
830
|
+
.,.,
|
831
|
+
|
832
|
+
# reduce 18 omitted
|
833
|
+
|
834
|
+
module_eval(<<'.,.,', 'parser.racc', 47)
|
835
|
+
def _reduce_19(val, _values, result)
|
836
|
+
result = SQLParser::Statement::Insert.new(val[2], nil, val[3])
|
837
|
+
result
|
838
|
+
end
|
839
|
+
.,.,
|
840
|
+
|
841
|
+
module_eval(<<'.,.,', 'parser.racc', 48)
|
842
|
+
def _reduce_20(val, _values, result)
|
843
|
+
result = SQLParser::Statement::Insert.new(val[2], val[3], val[4])
|
844
|
+
result
|
845
|
+
end
|
846
|
+
.,.,
|
847
|
+
|
848
|
+
module_eval(<<'.,.,', 'parser.racc', 51)
|
849
|
+
def _reduce_21(val, _values, result)
|
850
|
+
result = SQLParser::Statement::Update.new(val[1], val[3], val[4])
|
851
|
+
result
|
852
|
+
end
|
853
|
+
.,.,
|
854
|
+
|
855
|
+
module_eval(<<'.,.,', 'parser.racc', 54)
|
856
|
+
def _reduce_22(val, _values, result)
|
857
|
+
result = SQLParser::Statement::UpdateColumn.new(val[0], val[2])
|
858
|
+
result
|
859
|
+
end
|
860
|
+
.,.,
|
861
|
+
|
862
|
+
module_eval(<<'.,.,', 'parser.racc', 57)
|
863
|
+
def _reduce_23(val, _values, result)
|
864
|
+
result = Array(val[0]) + Array(val[2])
|
865
|
+
result
|
866
|
+
end
|
867
|
+
.,.,
|
868
|
+
|
869
|
+
# reduce 24 omitted
|
870
|
+
|
871
|
+
module_eval(<<'.,.,', 'parser.racc', 61)
|
872
|
+
def _reduce_25(val, _values, result)
|
873
|
+
result = SQLParser::Statement::UpdateColumnList.new(val[0])
|
874
|
+
result
|
875
|
+
end
|
876
|
+
.,.,
|
877
|
+
|
878
|
+
module_eval(<<'.,.,', 'parser.racc', 64)
|
879
|
+
def _reduce_26(val, _values, result)
|
880
|
+
result = SQLParser::Statement::Delete.new(val[1], val[2])
|
881
|
+
result
|
882
|
+
end
|
883
|
+
.,.,
|
884
|
+
|
885
|
+
module_eval(<<'.,.,', 'parser.racc', 67)
|
886
|
+
def _reduce_27(val, _values, result)
|
887
|
+
result = SQLParser::Statement::InColumnList.new(val[1])
|
888
|
+
result
|
889
|
+
end
|
890
|
+
.,.,
|
891
|
+
|
892
|
+
module_eval(<<'.,.,', 'parser.racc', 70)
|
893
|
+
def _reduce_28(val, _values, result)
|
894
|
+
result = Array(val[0]) + Array(val[2])
|
895
|
+
result
|
896
|
+
end
|
897
|
+
.,.,
|
898
|
+
|
899
|
+
# reduce 29 omitted
|
900
|
+
|
901
|
+
module_eval(<<'.,.,', 'parser.racc', 74)
|
902
|
+
def _reduce_30(val, _values, result)
|
903
|
+
result = SQLParser::Statement::InValueList.new(val[2])
|
904
|
+
result
|
905
|
+
end
|
906
|
+
.,.,
|
907
|
+
|
908
|
+
module_eval(<<'.,.,', 'parser.racc', 77)
|
909
|
+
def _reduce_31(val, _values, result)
|
910
|
+
result = SQLParser::Statement::Select.new(val[1], val[2])
|
911
|
+
result
|
912
|
+
end
|
913
|
+
.,.,
|
914
|
+
|
915
|
+
module_eval(<<'.,.,', 'parser.racc', 78)
|
916
|
+
def _reduce_32(val, _values, result)
|
917
|
+
result = SQLParser::Statement::Select.new(val[1])
|
918
|
+
result
|
919
|
+
end
|
920
|
+
.,.,
|
921
|
+
|
922
|
+
module_eval(<<'.,.,', 'parser.racc', 81)
|
923
|
+
def _reduce_33(val, _values, result)
|
924
|
+
result = SQLParser::Statement::All.new
|
925
|
+
result
|
926
|
+
end
|
927
|
+
.,.,
|
928
|
+
|
929
|
+
module_eval(<<'.,.,', 'parser.racc', 82)
|
930
|
+
def _reduce_34(val, _values, result)
|
931
|
+
result = SQLParser::Statement::SelectList.new(val[0])
|
932
|
+
result
|
933
|
+
end
|
934
|
+
.,.,
|
935
|
+
|
936
|
+
module_eval(<<'.,.,', 'parser.racc', 85)
|
937
|
+
def _reduce_35(val, _values, result)
|
938
|
+
result = Array(val[0]) + Array(val[2])
|
939
|
+
result
|
940
|
+
end
|
941
|
+
.,.,
|
942
|
+
|
943
|
+
# reduce 36 omitted
|
944
|
+
|
945
|
+
module_eval(<<'.,.,', 'parser.racc', 89)
|
946
|
+
def _reduce_37(val, _values, result)
|
947
|
+
result = SQLParser::Statement::As.new(val[0], val[2])
|
948
|
+
result
|
949
|
+
end
|
950
|
+
.,.,
|
951
|
+
|
952
|
+
module_eval(<<'.,.,', 'parser.racc', 90)
|
953
|
+
def _reduce_38(val, _values, result)
|
954
|
+
result = SQLParser::Statement::As.new(val[0], val[1])
|
955
|
+
result
|
956
|
+
end
|
957
|
+
.,.,
|
958
|
+
|
959
|
+
# reduce 39 omitted
|
960
|
+
|
961
|
+
module_eval(<<'.,.,', 'parser.racc', 94)
|
962
|
+
def _reduce_40(val, _values, result)
|
963
|
+
result = SQLParser::Statement::TableExpression.new(val[0], val[1], val[2], val[3])
|
964
|
+
result
|
965
|
+
end
|
966
|
+
.,.,
|
967
|
+
|
968
|
+
module_eval(<<'.,.,', 'parser.racc', 97)
|
969
|
+
def _reduce_41(val, _values, result)
|
970
|
+
result = SQLParser::Statement::FromClause.new(val[1])
|
971
|
+
result
|
972
|
+
end
|
973
|
+
.,.,
|
974
|
+
|
975
|
+
module_eval(<<'.,.,', 'parser.racc', 100)
|
976
|
+
def _reduce_42(val, _values, result)
|
977
|
+
result = SQLParser::Statement::As.new(val[0], val[2])
|
978
|
+
result
|
979
|
+
end
|
980
|
+
.,.,
|
981
|
+
|
982
|
+
module_eval(<<'.,.,', 'parser.racc', 101)
|
983
|
+
def _reduce_43(val, _values, result)
|
984
|
+
result = SQLParser::Statement::As.new(val[0], val[1])
|
985
|
+
result
|
986
|
+
end
|
987
|
+
.,.,
|
988
|
+
|
989
|
+
# reduce 44 omitted
|
990
|
+
|
991
|
+
# reduce 45 omitted
|
992
|
+
|
993
|
+
# reduce 46 omitted
|
994
|
+
|
995
|
+
# reduce 47 omitted
|
996
|
+
|
997
|
+
# reduce 48 omitted
|
998
|
+
|
999
|
+
module_eval(<<'.,.,', 'parser.racc', 113)
|
1000
|
+
def _reduce_49(val, _values, result)
|
1001
|
+
result = SQLParser::Statement::CrossJoin.new(val[0], val[2])
|
1002
|
+
result
|
1003
|
+
end
|
1004
|
+
.,.,
|
1005
|
+
|
1006
|
+
module_eval(<<'.,.,', 'parser.racc', 114)
|
1007
|
+
def _reduce_50(val, _values, result)
|
1008
|
+
result = SQLParser::Statement::CrossJoin.new(val[0], val[3])
|
1009
|
+
result
|
1010
|
+
end
|
1011
|
+
.,.,
|
1012
|
+
|
1013
|
+
module_eval(<<'.,.,', 'parser.racc', 117)
|
1014
|
+
def _reduce_51(val, _values, result)
|
1015
|
+
result = val[1].new(val[0], val[3], val[4])
|
1016
|
+
result
|
1017
|
+
end
|
1018
|
+
.,.,
|
1019
|
+
|
1020
|
+
module_eval(<<'.,.,', 'parser.racc', 120)
|
1021
|
+
def _reduce_52(val, _values, result)
|
1022
|
+
result = SQLParser::Statement::InnerJoin
|
1023
|
+
result
|
1024
|
+
end
|
1025
|
+
.,.,
|
1026
|
+
|
1027
|
+
module_eval(<<'.,.,', 'parser.racc', 121)
|
1028
|
+
def _reduce_53(val, _values, result)
|
1029
|
+
result = SQLParser::Statement::LeftOuterJoin
|
1030
|
+
result
|
1031
|
+
end
|
1032
|
+
.,.,
|
1033
|
+
|
1034
|
+
module_eval(<<'.,.,', 'parser.racc', 122)
|
1035
|
+
def _reduce_54(val, _values, result)
|
1036
|
+
result = SQLParser::Statement::LeftJoin
|
1037
|
+
result
|
1038
|
+
end
|
1039
|
+
.,.,
|
1040
|
+
|
1041
|
+
module_eval(<<'.,.,', 'parser.racc', 123)
|
1042
|
+
def _reduce_55(val, _values, result)
|
1043
|
+
result = SQLParser::Statement::RightOuterJoin
|
1044
|
+
result
|
1045
|
+
end
|
1046
|
+
.,.,
|
1047
|
+
|
1048
|
+
module_eval(<<'.,.,', 'parser.racc', 124)
|
1049
|
+
def _reduce_56(val, _values, result)
|
1050
|
+
result = SQLParser::Statement::RightJoin
|
1051
|
+
result
|
1052
|
+
end
|
1053
|
+
.,.,
|
1054
|
+
|
1055
|
+
module_eval(<<'.,.,', 'parser.racc', 125)
|
1056
|
+
def _reduce_57(val, _values, result)
|
1057
|
+
result = SQLParser::Statement::FullJoin
|
1058
|
+
result
|
1059
|
+
end
|
1060
|
+
.,.,
|
1061
|
+
|
1062
|
+
module_eval(<<'.,.,', 'parser.racc', 126)
|
1063
|
+
def _reduce_58(val, _values, result)
|
1064
|
+
result = SQLParser::Statement::FullOuterJoin
|
1065
|
+
result
|
1066
|
+
end
|
1067
|
+
.,.,
|
1068
|
+
|
1069
|
+
# reduce 59 omitted
|
1070
|
+
|
1071
|
+
# reduce 60 omitted
|
1072
|
+
|
1073
|
+
module_eval(<<'.,.,', 'parser.racc', 133)
|
1074
|
+
def _reduce_61(val, _values, result)
|
1075
|
+
result = SQLParser::Statement::On.new(val[1])
|
1076
|
+
result
|
1077
|
+
end
|
1078
|
+
.,.,
|
1079
|
+
|
1080
|
+
module_eval(<<'.,.,', 'parser.racc', 136)
|
1081
|
+
def _reduce_62(val, _values, result)
|
1082
|
+
result = SQLParser::Statement::Using.new(val[2])
|
1083
|
+
result
|
1084
|
+
end
|
1085
|
+
.,.,
|
1086
|
+
|
1087
|
+
# reduce 63 omitted
|
1088
|
+
|
1089
|
+
# reduce 64 omitted
|
1090
|
+
|
1091
|
+
module_eval(<<'.,.,', 'parser.racc', 143)
|
1092
|
+
def _reduce_65(val, _values, result)
|
1093
|
+
result = SQLParser::Statement::WhereClause.new(val[1])
|
1094
|
+
result
|
1095
|
+
end
|
1096
|
+
.,.,
|
1097
|
+
|
1098
|
+
# reduce 66 omitted
|
1099
|
+
|
1100
|
+
module_eval(<<'.,.,', 'parser.racc', 147)
|
1101
|
+
def _reduce_67(val, _values, result)
|
1102
|
+
result = SQLParser::Statement::GroupByClause.new(val[2])
|
1103
|
+
result
|
1104
|
+
end
|
1105
|
+
.,.,
|
1106
|
+
|
1107
|
+
module_eval(<<'.,.,', 'parser.racc', 150)
|
1108
|
+
def _reduce_68(val, _values, result)
|
1109
|
+
result = Array(val[0]) + Array(val[2])
|
1110
|
+
result
|
1111
|
+
end
|
1112
|
+
.,.,
|
1113
|
+
|
1114
|
+
# reduce 69 omitted
|
1115
|
+
|
1116
|
+
# reduce 70 omitted
|
1117
|
+
|
1118
|
+
# reduce 71 omitted
|
1119
|
+
|
1120
|
+
module_eval(<<'.,.,', 'parser.racc', 158)
|
1121
|
+
def _reduce_72(val, _values, result)
|
1122
|
+
result = SQLParser::Statement::HavingClause.new(val[1])
|
1123
|
+
result
|
1124
|
+
end
|
1125
|
+
.,.,
|
1126
|
+
|
1127
|
+
# reduce 73 omitted
|
1128
|
+
|
1129
|
+
module_eval(<<'.,.,', 'parser.racc', 165)
|
1130
|
+
def _reduce_74(val, _values, result)
|
1131
|
+
result = SQLParser::Statement::Not.new(SQLParser::Statement::Between.new(val[0], val[3], val[5]))
|
1132
|
+
result
|
1133
|
+
end
|
1134
|
+
.,.,
|
1135
|
+
|
1136
|
+
module_eval(<<'.,.,', 'parser.racc', 166)
|
1137
|
+
def _reduce_75(val, _values, result)
|
1138
|
+
result = SQLParser::Statement::Between.new(val[0], val[2], val[4])
|
1139
|
+
result
|
1140
|
+
end
|
1141
|
+
.,.,
|
1142
|
+
|
1143
|
+
module_eval(<<'.,.,', 'parser.racc', 169)
|
1144
|
+
def _reduce_76(val, _values, result)
|
1145
|
+
result = SQLParser::Statement::Not.new(SQLParser::Statement::In.new(val[0], val[3]))
|
1146
|
+
result
|
1147
|
+
end
|
1148
|
+
.,.,
|
1149
|
+
|
1150
|
+
module_eval(<<'.,.,', 'parser.racc', 170)
|
1151
|
+
def _reduce_77(val, _values, result)
|
1152
|
+
result = SQLParser::Statement::In.new(val[0], val[2])
|
1153
|
+
result
|
1154
|
+
end
|
1155
|
+
.,.,
|
1156
|
+
|
1157
|
+
# reduce 78 omitted
|
1158
|
+
|
1159
|
+
module_eval(<<'.,.,', 'parser.racc', 174)
|
1160
|
+
def _reduce_79(val, _values, result)
|
1161
|
+
result = SQLParser::Statement::InValueList.new(val[1])
|
1162
|
+
result
|
1163
|
+
end
|
1164
|
+
.,.,
|
1165
|
+
|
1166
|
+
module_eval(<<'.,.,', 'parser.racc', 177)
|
1167
|
+
def _reduce_80(val, _values, result)
|
1168
|
+
result = Array(val[0]) + Array(val[2])
|
1169
|
+
result
|
1170
|
+
end
|
1171
|
+
.,.,
|
1172
|
+
|
1173
|
+
# reduce 81 omitted
|
1174
|
+
|
1175
|
+
module_eval(<<'.,.,', 'parser.racc', 184)
|
1176
|
+
def _reduce_82(val, _values, result)
|
1177
|
+
result = SQLParser::Statement::Not.new(SQLParser::Statement::Like.new(val[0], val[3]))
|
1178
|
+
result
|
1179
|
+
end
|
1180
|
+
.,.,
|
1181
|
+
|
1182
|
+
module_eval(<<'.,.,', 'parser.racc', 185)
|
1183
|
+
def _reduce_83(val, _values, result)
|
1184
|
+
result = SQLParser::Statement::Like.new(val[0], val[2])
|
1185
|
+
result
|
1186
|
+
end
|
1187
|
+
.,.,
|
1188
|
+
|
1189
|
+
module_eval(<<'.,.,', 'parser.racc', 188)
|
1190
|
+
def _reduce_84(val, _values, result)
|
1191
|
+
result = SQLParser::Statement::Not.new(SQLParser::Statement::Is.new(val[0], SQLParser::Statement::Null.new))
|
1192
|
+
result
|
1193
|
+
end
|
1194
|
+
.,.,
|
1195
|
+
|
1196
|
+
module_eval(<<'.,.,', 'parser.racc', 189)
|
1197
|
+
def _reduce_85(val, _values, result)
|
1198
|
+
result = SQLParser::Statement::Is.new(val[0], SQLParser::Statement::Null.new)
|
1199
|
+
result
|
1200
|
+
end
|
1201
|
+
.,.,
|
1202
|
+
|
1203
|
+
module_eval(<<'.,.,', 'parser.racc', 192)
|
1204
|
+
def _reduce_86(val, _values, result)
|
1205
|
+
result = SQLParser::Statement::Exists.new(val[1])
|
1206
|
+
result
|
1207
|
+
end
|
1208
|
+
.,.,
|
1209
|
+
|
1210
|
+
module_eval(<<'.,.,', 'parser.racc', 196)
|
1211
|
+
def _reduce_87(val, _values, result)
|
1212
|
+
result = SQLParser::Statement::Table.new(val[0])
|
1213
|
+
result
|
1214
|
+
end
|
1215
|
+
.,.,
|
1216
|
+
|
1217
|
+
module_eval(<<'.,.,', 'parser.racc', 199)
|
1218
|
+
def _reduce_88(val, _values, result)
|
1219
|
+
result = Array(val[0]) + Array(val[2])
|
1220
|
+
result
|
1221
|
+
end
|
1222
|
+
.,.,
|
1223
|
+
|
1224
|
+
# reduce 89 omitted
|
1225
|
+
|
1226
|
+
# reduce 90 omitted
|
1227
|
+
|
1228
|
+
module_eval(<<'.,.,', 'parser.racc', 205)
|
1229
|
+
def _reduce_91(val, _values, result)
|
1230
|
+
result = SQLParser::Statement::Or.new(val[0], val[2])
|
1231
|
+
result
|
1232
|
+
end
|
1233
|
+
.,.,
|
1234
|
+
|
1235
|
+
# reduce 92 omitted
|
1236
|
+
|
1237
|
+
module_eval(<<'.,.,', 'parser.racc', 209)
|
1238
|
+
def _reduce_93(val, _values, result)
|
1239
|
+
result = SQLParser::Statement::And.new(val[0], val[2])
|
1240
|
+
result
|
1241
|
+
end
|
1242
|
+
.,.,
|
1243
|
+
|
1244
|
+
module_eval(<<'.,.,', 'parser.racc', 212)
|
1245
|
+
def _reduce_94(val, _values, result)
|
1246
|
+
result = SQLParser::Statement::Not.new(val[1])
|
1247
|
+
result
|
1248
|
+
end
|
1249
|
+
.,.,
|
1250
|
+
|
1251
|
+
# reduce 95 omitted
|
1252
|
+
|
1253
|
+
# reduce 96 omitted
|
1254
|
+
|
1255
|
+
# reduce 97 omitted
|
1256
|
+
|
1257
|
+
module_eval(<<'.,.,', 'parser.racc', 220)
|
1258
|
+
def _reduce_98(val, _values, result)
|
1259
|
+
result = val[1]
|
1260
|
+
result
|
1261
|
+
end
|
1262
|
+
.,.,
|
1263
|
+
|
1264
|
+
# reduce 99 omitted
|
1265
|
+
|
1266
|
+
# reduce 100 omitted
|
1267
|
+
|
1268
|
+
# reduce 101 omitted
|
1269
|
+
|
1270
|
+
# reduce 102 omitted
|
1271
|
+
|
1272
|
+
# reduce 103 omitted
|
1273
|
+
|
1274
|
+
# reduce 104 omitted
|
1275
|
+
|
1276
|
+
module_eval(<<'.,.,', 'parser.racc', 231)
|
1277
|
+
def _reduce_105(val, _values, result)
|
1278
|
+
result = SQLParser::Statement::Equals.new(val[0], val[2])
|
1279
|
+
result
|
1280
|
+
end
|
1281
|
+
.,.,
|
1282
|
+
|
1283
|
+
module_eval(<<'.,.,', 'parser.racc', 232)
|
1284
|
+
def _reduce_106(val, _values, result)
|
1285
|
+
result = SQLParser::Statement::Not.new(SQLParser::Statement::Equals.new(val[0], val[2]))
|
1286
|
+
result
|
1287
|
+
end
|
1288
|
+
.,.,
|
1289
|
+
|
1290
|
+
module_eval(<<'.,.,', 'parser.racc', 233)
|
1291
|
+
def _reduce_107(val, _values, result)
|
1292
|
+
result = SQLParser::Statement::Less.new(val[0], val[2])
|
1293
|
+
result
|
1294
|
+
end
|
1295
|
+
.,.,
|
1296
|
+
|
1297
|
+
module_eval(<<'.,.,', 'parser.racc', 234)
|
1298
|
+
def _reduce_108(val, _values, result)
|
1299
|
+
result = SQLParser::Statement::Greater.new(val[0], val[2])
|
1300
|
+
result
|
1301
|
+
end
|
1302
|
+
.,.,
|
1303
|
+
|
1304
|
+
module_eval(<<'.,.,', 'parser.racc', 235)
|
1305
|
+
def _reduce_109(val, _values, result)
|
1306
|
+
result = SQLParser::Statement::LessOrEquals.new(val[0], val[2])
|
1307
|
+
result
|
1308
|
+
end
|
1309
|
+
.,.,
|
1310
|
+
|
1311
|
+
module_eval(<<'.,.,', 'parser.racc', 236)
|
1312
|
+
def _reduce_110(val, _values, result)
|
1313
|
+
result = SQLParser::Statement::GreaterOrEquals.new(val[0], val[2])
|
1314
|
+
result
|
1315
|
+
end
|
1316
|
+
.,.,
|
1317
|
+
|
1318
|
+
# reduce 111 omitted
|
1319
|
+
|
1320
|
+
# reduce 112 omitted
|
1321
|
+
|
1322
|
+
# reduce 113 omitted
|
1323
|
+
|
1324
|
+
# reduce 114 omitted
|
1325
|
+
|
1326
|
+
# reduce 115 omitted
|
1327
|
+
|
1328
|
+
module_eval(<<'.,.,', 'parser.racc', 250)
|
1329
|
+
def _reduce_116(val, _values, result)
|
1330
|
+
result = SQLParser::Statement::Add.new(val[0], val[2])
|
1331
|
+
result
|
1332
|
+
end
|
1333
|
+
.,.,
|
1334
|
+
|
1335
|
+
module_eval(<<'.,.,', 'parser.racc', 251)
|
1336
|
+
def _reduce_117(val, _values, result)
|
1337
|
+
result = SQLParser::Statement::Subtract.new(val[0], val[2])
|
1338
|
+
result
|
1339
|
+
end
|
1340
|
+
.,.,
|
1341
|
+
|
1342
|
+
# reduce 118 omitted
|
1343
|
+
|
1344
|
+
module_eval(<<'.,.,', 'parser.racc', 255)
|
1345
|
+
def _reduce_119(val, _values, result)
|
1346
|
+
result = SQLParser::Statement::Multiply.new(val[0], val[2])
|
1347
|
+
result
|
1348
|
+
end
|
1349
|
+
.,.,
|
1350
|
+
|
1351
|
+
module_eval(<<'.,.,', 'parser.racc', 256)
|
1352
|
+
def _reduce_120(val, _values, result)
|
1353
|
+
result = SQLParser::Statement::Divide.new(val[0], val[2])
|
1354
|
+
result
|
1355
|
+
end
|
1356
|
+
.,.,
|
1357
|
+
|
1358
|
+
# reduce 121 omitted
|
1359
|
+
|
1360
|
+
module_eval(<<'.,.,', 'parser.racc', 260)
|
1361
|
+
def _reduce_122(val, _values, result)
|
1362
|
+
result = val[0].new(val[1])
|
1363
|
+
result
|
1364
|
+
end
|
1365
|
+
.,.,
|
1366
|
+
|
1367
|
+
# reduce 123 omitted
|
1368
|
+
|
1369
|
+
# reduce 124 omitted
|
1370
|
+
|
1371
|
+
# reduce 125 omitted
|
1372
|
+
|
1373
|
+
# reduce 126 omitted
|
1374
|
+
|
1375
|
+
module_eval(<<'.,.,', 'parser.racc', 267)
|
1376
|
+
def _reduce_127(val, _values, result)
|
1377
|
+
result = val[1]
|
1378
|
+
result
|
1379
|
+
end
|
1380
|
+
.,.,
|
1381
|
+
|
1382
|
+
# reduce 128 omitted
|
1383
|
+
|
1384
|
+
# reduce 129 omitted
|
1385
|
+
|
1386
|
+
# reduce 130 omitted
|
1387
|
+
|
1388
|
+
# reduce 131 omitted
|
1389
|
+
|
1390
|
+
module_eval(<<'.,.,', 'parser.racc', 278)
|
1391
|
+
def _reduce_132(val, _values, result)
|
1392
|
+
result = SQLParser::Statement::CurrentUser.new
|
1393
|
+
result
|
1394
|
+
end
|
1395
|
+
.,.,
|
1396
|
+
|
1397
|
+
module_eval(<<'.,.,', 'parser.racc', 281)
|
1398
|
+
def _reduce_133(val, _values, result)
|
1399
|
+
result = SQLParser::Statement::QualifiedColumn.new(val[0], val[2])
|
1400
|
+
result
|
1401
|
+
end
|
1402
|
+
.,.,
|
1403
|
+
|
1404
|
+
# reduce 134 omitted
|
1405
|
+
|
1406
|
+
# reduce 135 omitted
|
1407
|
+
|
1408
|
+
module_eval(<<'.,.,', 'parser.racc', 288)
|
1409
|
+
def _reduce_136(val, _values, result)
|
1410
|
+
result = SQLParser::Statement::Count.new(SQLParser::Statement::All.new)
|
1411
|
+
result
|
1412
|
+
end
|
1413
|
+
.,.,
|
1414
|
+
|
1415
|
+
# reduce 137 omitted
|
1416
|
+
|
1417
|
+
module_eval(<<'.,.,', 'parser.racc', 292)
|
1418
|
+
def _reduce_138(val, _values, result)
|
1419
|
+
result = SQLParser::Statement::Count.new(val[2])
|
1420
|
+
result
|
1421
|
+
end
|
1422
|
+
.,.,
|
1423
|
+
|
1424
|
+
module_eval(<<'.,.,', 'parser.racc', 293)
|
1425
|
+
def _reduce_139(val, _values, result)
|
1426
|
+
result = SQLParser::Statement::Average.new(val[2])
|
1427
|
+
result
|
1428
|
+
end
|
1429
|
+
.,.,
|
1430
|
+
|
1431
|
+
module_eval(<<'.,.,', 'parser.racc', 294)
|
1432
|
+
def _reduce_140(val, _values, result)
|
1433
|
+
result = SQLParser::Statement::Maximum.new(val[2])
|
1434
|
+
result
|
1435
|
+
end
|
1436
|
+
.,.,
|
1437
|
+
|
1438
|
+
module_eval(<<'.,.,', 'parser.racc', 295)
|
1439
|
+
def _reduce_141(val, _values, result)
|
1440
|
+
result = SQLParser::Statement::Minimum.new(val[2])
|
1441
|
+
result
|
1442
|
+
end
|
1443
|
+
.,.,
|
1444
|
+
|
1445
|
+
module_eval(<<'.,.,', 'parser.racc', 296)
|
1446
|
+
def _reduce_142(val, _values, result)
|
1447
|
+
result = SQLParser::Statement::Sum.new(val[2])
|
1448
|
+
result
|
1449
|
+
end
|
1450
|
+
.,.,
|
1451
|
+
|
1452
|
+
# reduce 143 omitted
|
1453
|
+
|
1454
|
+
# reduce 144 omitted
|
1455
|
+
|
1456
|
+
module_eval(<<'.,.,', 'parser.racc', 304)
|
1457
|
+
def _reduce_145(val, _values, result)
|
1458
|
+
result = SQLParser::Statement::Float.new("#{val[0]}.#{val[2]}".to_f)
|
1459
|
+
result
|
1460
|
+
end
|
1461
|
+
.,.,
|
1462
|
+
|
1463
|
+
module_eval(<<'.,.,', 'parser.racc', 305)
|
1464
|
+
def _reduce_146(val, _values, result)
|
1465
|
+
result = SQLParser::Statement::Float.new(val[0])
|
1466
|
+
result
|
1467
|
+
end
|
1468
|
+
.,.,
|
1469
|
+
|
1470
|
+
module_eval(<<'.,.,', 'parser.racc', 306)
|
1471
|
+
def _reduce_147(val, _values, result)
|
1472
|
+
result = SQLParser::Statement::Float.new("0.#{val[1]}".to_f)
|
1473
|
+
result
|
1474
|
+
end
|
1475
|
+
.,.,
|
1476
|
+
|
1477
|
+
module_eval(<<'.,.,', 'parser.racc', 307)
|
1478
|
+
def _reduce_148(val, _values, result)
|
1479
|
+
result = SQLParser::Statement::Integer.new(val[0])
|
1480
|
+
result
|
1481
|
+
end
|
1482
|
+
.,.,
|
1483
|
+
|
1484
|
+
module_eval(<<'.,.,', 'parser.racc', 310)
|
1485
|
+
def _reduce_149(val, _values, result)
|
1486
|
+
result = SQLParser::Statement::ApproximateFloat.new(val[0], val[2])
|
1487
|
+
result
|
1488
|
+
end
|
1489
|
+
.,.,
|
1490
|
+
|
1491
|
+
# reduce 150 omitted
|
1492
|
+
|
1493
|
+
# reduce 151 omitted
|
1494
|
+
|
1495
|
+
module_eval(<<'.,.,', 'parser.racc', 319)
|
1496
|
+
def _reduce_152(val, _values, result)
|
1497
|
+
result = val[0].new(SQLParser::Statement::Integer.new(val[1]))
|
1498
|
+
result
|
1499
|
+
end
|
1500
|
+
.,.,
|
1501
|
+
|
1502
|
+
module_eval(<<'.,.,', 'parser.racc', 320)
|
1503
|
+
def _reduce_153(val, _values, result)
|
1504
|
+
result = SQLParser::Statement::Integer.new(val[0])
|
1505
|
+
result
|
1506
|
+
end
|
1507
|
+
.,.,
|
1508
|
+
|
1509
|
+
module_eval(<<'.,.,', 'parser.racc', 323)
|
1510
|
+
def _reduce_154(val, _values, result)
|
1511
|
+
result = SQLParser::Statement::UnaryPlus
|
1512
|
+
result
|
1513
|
+
end
|
1514
|
+
.,.,
|
1515
|
+
|
1516
|
+
module_eval(<<'.,.,', 'parser.racc', 324)
|
1517
|
+
def _reduce_155(val, _values, result)
|
1518
|
+
result = SQLParser::Statement::UnaryMinus
|
1519
|
+
result
|
1520
|
+
end
|
1521
|
+
.,.,
|
1522
|
+
|
1523
|
+
module_eval(<<'.,.,', 'parser.racc', 328)
|
1524
|
+
def _reduce_156(val, _values, result)
|
1525
|
+
result = SQLParser::Statement::Column.new(val[0])
|
1526
|
+
result
|
1527
|
+
end
|
1528
|
+
.,.,
|
1529
|
+
|
1530
|
+
module_eval(<<'.,.,', 'parser.racc', 332)
|
1531
|
+
def _reduce_157(val, _values, result)
|
1532
|
+
result = SQLParser::Statement::String.new(val[1])
|
1533
|
+
result
|
1534
|
+
end
|
1535
|
+
.,.,
|
1536
|
+
|
1537
|
+
module_eval(<<'.,.,', 'parser.racc', 333)
|
1538
|
+
def _reduce_158(val, _values, result)
|
1539
|
+
result = SQLParser::Statement::String.new('')
|
1540
|
+
result
|
1541
|
+
end
|
1542
|
+
.,.,
|
1543
|
+
|
1544
|
+
# reduce 159 omitted
|
1545
|
+
|
1546
|
+
# reduce 160 omitted
|
1547
|
+
|
1548
|
+
module_eval(<<'.,.,', 'parser.racc', 340)
|
1549
|
+
def _reduce_161(val, _values, result)
|
1550
|
+
result = SQLParser::Statement::Date.new(val[1])
|
1551
|
+
result
|
1552
|
+
end
|
1553
|
+
.,.,
|
1554
|
+
|
1555
|
+
def _reduce_none(val, _values, result)
|
1556
|
+
val[0]
|
1557
|
+
end
|
1558
|
+
|
1559
|
+
end # class Parser
|
1560
|
+
end # module SQLParser
|