@@ -132,160 +132,160 @@ SKIP:
132132
133133TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
134134{
135- <K_AS: "AS">
136- | <K_BY:"BY">
137- | <K_DO:"DO">
138- | <K_IS:"IS">
139- | <K_IN:"IN">
140- | <K_OR:"OR">
141- | <K_ON:"ON">
135+ <K_ACTION: "ACTION">
136+ | <K_ADD:"ADD">
142137| <K_ALL:"ALL">
138+ | <K_ALTER:"ALTER">
143139| <K_AND:"AND">
144140| <K_ANY:"ANY">
145- | <K_KEY:"KEY">
146- | <K_NOT:"NOT">
147- | <K_SET:"SET">
141+ | <K_AS: "AS">
148142| <K_ASC:"ASC">
149- | <K_TOP:"TOP">
150- | <K_PERCENT:"PERCENT">
151- | <K_END:"END">
143+ | <K_BEGIN:"BEGIN">
144+ | <K_BETWEEN:"BETWEEN">
145+ | <K_BINARY: "BINARY">
146+ | <K_BIT:"BIT">
147+ | <K_BY:"BY">
148+ | <K_CALL : "CALL">
149+ | <K_CASCADE: "CASCADE">
150+ | <K_CASE:"CASE">
151+ | <K_CAST:"CAST">
152+ | <K_CHARACTER:"CHARACTER">
153+ | <K_CHECK:"CHECK">
154+ | <K_COLUMN:"COLUMN">
155+ | <K_COMMIT:"COMMIT">
156+ | <K_CONNECT:"CONNECT">
157+ | <K_CONSTRAINT:"CONSTRAINT">
158+ | <K_CREATE:"CREATE">
159+ | <K_CROSS:"CROSS">
160+ | <K_CURRENT: "CURRENT">
161+ | <K_DATETIMELITERAL : ("DATE" | "TIME" | "TIMESTAMP") >
162+ | <K_DEFERRABLE : "DEFERRABLE">
163+ | <K_DELAYED : "DELAYED">
164+ | <K_DELETE:"DELETE">
152165| <K_DESC:"DESC">
153- | <K_INTO:"INTO ">
154- | <K_NULL:"NULL ">
155- | <K_LIKE:"LIKE ">
156- | <K_ILIKE:"ILIKE ">
166+ | <K_DISABLE : "DISABLE ">
167+ | <K_DISTINCT:"DISTINCT ">
168+ | <K_DO:"DO ">
169+ | <K_DOUBLE : "DOUBLE ">
157170| <K_DROP:"DROP">
158- | <K_JOIN:"JOIN">
159- | <K_LEFT:"LEFT">
160- | <K_CROSS:"CROSS">
161- | <K_FROM:"FROM">
162- | <K_OPEN:"OPEN">
163- | <K_CASE:"CASE">
164- | <K_WHEN:"WHEN">
165- | <K_THEN:"THEN">
171+ | <K_DUPLICATE: "DUPLICATE">
166172| <K_ELSE:"ELSE">
167- | <K_SOME:"SOME">
168- | <K_FULL:"FULL">
169- | <K_WITH:"WITH">
170- | <K_WITHOUT:"WITHOUT">
171- | <K_TABLE:"TABLE">
172- | <K_VIEW:"VIEW">
173- | <K_WHERE:"WHERE">
173+ | <K_ENABLE : "ENABLE">
174+ | <K_END:"END">
175+ | <K_ESCAPE:"ESCAPE">
176+ | <K_EXCEPT:"EXCEPT">
177+ | <K_EXCLUDE : "EXCLUDE">
178+ | <K_EXEC: "EXEC">
179+ | <K_EXECUTE: "EXECUTE">
180+ | <K_EXISTS:"EXISTS">
181+ | <K_EXTRACT:"EXTRACT">
182+ | <K_FETCH:"FETCH">
183+ | <K_FIRST: "FIRST">
184+ | <K_FOLLOWING: "FOLLOWING">
174185| <K_FOR:"FOR">
175- | <K_PIVOT:"PIVOT">
176- | <K_XML:"XML">
177- | <K_USING:"USING">
178- | <K_UNION:"UNION">
186+ | <K_FORCE : "FORCE">
187+ | <K_FOREIGN:"FOREIGN">
188+ | <K_FROM:"FROM">
189+ | <K_FULL:"FULL">
190+ | <K_FULLTEXT:"FULLTEXT">
179191| <K_GROUP:"GROUP">
180- | <K_BEGIN:"BEGIN">
192+ | <K_GROUP_CONCAT:"GROUP_CONCAT">
193+ | <K_HAVING:"HAVING">
194+ | <K_HIGH_PRIORITY : "HIGH_PRIORITY">
195+ | <K_IF:"IF">
196+ | <K_IGNORE : "IGNORE">
197+ | <K_ILIKE:"ILIKE">
198+ | <K_IN:"IN">
181199| <K_INDEX: "INDEX">
182200| <K_INNER:"INNER">
183- | <K_LIMIT:"LIMIT">
184- | <K_OUTER:"OUTER">
185- | <K_ORDER:"ORDER">
186- | <K_RIGHT:"RIGHT">
187- | <K_VALUE:"VALUE">
188- | <K_DELETE:"DELETE">
189- | <K_CREATE:"CREATE">
190- | <K_SELECT:"SELECT">
191- | <K_OFFSET:"OFFSET">
192- | <K_EXISTS:"EXISTS">
193- | <K_HAVING:"HAVING">
194201| <K_INSERT:"INSERT">
195- | <K_UPDATE:"UPDATE">
196- | <K_UPSERT:"UPSERT">
197- | <K_VALUES:"VALUES">
198- | <K_ESCAPE:"ESCAPE">
199- | <K_PRIMARY:"PRIMARY">
200- | <K_FULLTEXT:"FULLTEXT">
201- | <K_NATURAL:"NATURAL">
202- | <K_REPLACE:"REPLACE">
203- | <K_BETWEEN:"BETWEEN">
204- | <K_TRUNCATE:"TRUNCATE">
205- | <K_DISTINCT:"DISTINCT">
206202| <K_INTERSECT:"INTERSECT">
207- | <K_CAST:"CAST">
208- | <K_EXCEPT:"EXCEPT">
209- | <K_MINUS:"MINUS">
210- | <K_OVER:"OVER">
211- | <K_PARTITION:"PARTITION">
212- | <K_EXTRACT:"EXTRACT">
213- | <K_LATERAL:"LATERAL">
214- | <K_MATERIALIZED:"MATERIALIZED">
215203| <K_INTERVAL:"INTERVAL">
216- | <K_FOREIGN:"FOREIGN">
217- | <K_CONSTRAINT:"CONSTRAINT">
218- | <K_REFERENCES:"REFERENCES">
219- | <K_CHECK:"CHECK">
220- | <K_CHARACTER:"CHARACTER">
221- | <K_BIT:"BIT">
222- | <K_VARYING:"VARYING">
223- | <K_START:"START">
224- | <K_CONNECT:"CONNECT">
225- | <K_PRIOR:"PRIOR">
226- | <K_NOCYCLE:"NOCYCLE">
227- | <K_SIBLINGS:"SIBLINGS">
228- | <K_ALTER:"ALTER">
229- | <K_ADD:"ADD">
230- | <K_MODIFY: "MODIFY">
231- | <K_COLUMN:"COLUMN">
232- | <K_NULLS: "NULLS">
233- | <K_FIRST: "FIRST">
204+ | <K_INTO:"INTO">
205+ | <K_IS:"IS">
206+ | <K_JOIN:"JOIN">
207+ | <K_KEEP:"KEEP">
208+ | <K_KEY:"KEY">
234209| <K_LAST: "LAST">
235- | <K_ROWS: "ROWS">
236- | <K_RANGE: "RANGE">
237- | <K_UNBOUNDED: "UNBOUNDED">
238- | <K_PRECEDING: "PRECEDING">
239- | <K_FOLLOWING: "FOLLOWING">
240- | <K_CURRENT: "CURRENT">
241- | <K_ROW: "ROW">
242- | <K_RETURNING: "RETURNING">
243- | <K_BINARY: "BINARY">
244- | <K_REGEXP: "REGEXP">
245- | <K_UNLOGGED: "UNLOGGED">
246- | <K_EXEC: "EXEC">
247- | <K_EXECUTE: "EXECUTE">
248- | <K_FETCH:"FETCH">
210+ | <K_LATERAL:"LATERAL">
211+ | <K_LEFT:"LEFT">
212+ | <K_LIKE:"LIKE">
213+ | <K_LIMIT:"LIMIT">
214+ | <K_LOW_PRIORITY : "LOW_PRIORITY">
215+ | <K_MATCHED: "MATCHED">
216+ | <K_MATERIALIZED:"MATERIALIZED">
217+ | <K_MERGE: "MERGE">
218+ | <K_MINUS:"MINUS">
219+ | <K_MODIFY: "MODIFY">
220+ | <K_NATURAL:"NATURAL">
249221| <K_NEXT:"NEXT">
222+ | <K_NO:"NO">
223+ | <K_NOCYCLE:"NOCYCLE">
224+ | <K_NOT:"NOT">
225+ | <K_NOVALIDATE : "NOVALIDATE">
226+ | <K_NULL:"NULL">
227+ | <K_NULLS: "NULLS">
228+ | <K_OF:"OF">
229+ | <K_OFFSET:"OFFSET">
230+ | <K_ON:"ON">
250231| <K_ONLY:"ONLY">
251- | <K_COMMIT:"COMMIT">
252- | <K_UNIQUE:"UNIQUE">
253- | <K_WITHIN:"WITHIN">
254- | <K_IF:"IF">
232+ | <K_OPEN:"OPEN">
233+ | <K_OR:"OR">
234+ | <K_ORDER:"ORDER">
235+ | <K_OUTER:"OUTER">
236+ | <K_OVER:"OVER">
237+ | <K_PARTITION:"PARTITION">
238+ | <K_PERCENT:"PERCENT">
239+ | <K_PIVOT:"PIVOT">
240+ | <K_PRECEDING: "PRECEDING">
241+ | <K_PRECISION : "PRECISION">
242+ | <K_PRIMARY:"PRIMARY">
243+ | <K_PRIOR:"PRIOR">
244+ | <K_RANGE: "RANGE">
255245| <K_RECURSIVE:"RECURSIVE">
256- | <K_OF:"OF">
257- | <K_KEEP:"KEEP">
258- | <K_GROUP_CONCAT:"GROUP_CONCAT">
259- | <K_SEPARATOR:"SEPARATOR">
260- | <K_SKIP: "SKIP">
261- | <K_MERGE: "MERGE">
262- | <K_MATCHED: "MATCHED">
263- | <K_CASCADE: "CASCADE">
246+ | <K_REFERENCES:"REFERENCES">
247+ | <K_REGEXP: "REGEXP">
248+ | <K_REPLACE:"REPLACE">
264249| <K_RESTRICT: "RESTRICT">
265- | <K_NO:"NO">
266- | <K_ACTION: "ACTION">
267- | <K_DUPLICATE: "DUPLICATE">
268- | <K_LOW_PRIORITY : "LOW_PRIORITY">
269- | <K_DELAYED : "DELAYED">
270- | <K_HIGH_PRIORITY : "HIGH_PRIORITY">
271- | <K_IGNORE : "IGNORE">
250+ | <K_RETURNING: "RETURNING">
251+ | <K_RIGHT:"RIGHT">
252+ | <K_ROW: "ROW">
253+ | <K_ROWS: "ROWS">
254+ | <K_SELECT:"SELECT">
272255| <K_SEMI : "SEMI">
273- | <K_DATETIMELITERAL : ("DATE" | "TIME" | "TIMESTAMP") >
274- | <K_ZONE:"ZONE">
275- | <K_TIME_KEY_EXPR : ( "CURRENT_TIMESTAMP" | "CURRENT_TIME" | "CURRENT_DATE" ) ( "()" )?>
276- | <K_DOUBLE : "DOUBLE">
277- | <K_PRECISION : "PRECISION">
256+ | <K_SEPARATOR:"SEPARATOR">
257+ | <K_SET:"SET">
258+ | <K_SIBLINGS:"SIBLINGS">
259+ | <K_SKIP: "SKIP">
260+ | <K_SOME:"SOME">
261+ | <K_START:"START">
262+ | <K_TABLE:"TABLE">
278263| <K_TABLESPACE : "TABLESPACE">
279- | <K_EXCLUDE : "EXCLUDE">
280- | <K_WAIT : "WAIT">
281- | <K_DEFERRABLE : "DEFERRABLE">
282- | <K_VALIDATE : "VALIDATE">
283- | <K_NOVALIDATE : "NOVALIDATE">
284- | <K_ENABLE : "ENABLE">
285- | <K_DISABLE : "DISABLE">
264+ | <K_THEN:"THEN">
265+ | <K_TIME_KEY_EXPR : ( "CURRENT_TIMESTAMP" | "CURRENT_TIME" | "CURRENT_DATE" ) ( "()" )?>
266+ | <K_TOP:"TOP">
267+ | <K_TRUNCATE:"TRUNCATE">
268+ | <K_UNBOUNDED: "UNBOUNDED">
269+ | <K_UNION:"UNION">
270+ | <K_UNIQUE:"UNIQUE">
271+ | <K_UNLOGGED: "UNLOGGED">
272+ | <K_UPDATE:"UPDATE">
273+ | <K_UPSERT:"UPSERT">
286274| <K_USE : "USE">
287- | <K_FORCE : "FORCE">
288- | <K_CALL : "CALL">
275+ | <K_USING:"USING">
276+ | <K_VALIDATE : "VALIDATE">
277+ | <K_VALUE:"VALUE">
278+ | <K_VALUES:"VALUES">
279+ | <K_VARYING:"VARYING">
280+ | <K_VIEW:"VIEW">
281+ | <K_WAIT : "WAIT">
282+ | <K_WHEN:"WHEN">
283+ | <K_WHERE:"WHERE">
284+ | <K_WITH:"WITH">
285+ | <K_WITHIN:"WITHIN">
286+ | <K_WITHOUT:"WITHOUT">
287+ | <K_XML:"XML">
288+ | <K_ZONE:"ZONE">
289289}
290290
291291TOKEN : /* Stuff */
@@ -2189,7 +2189,7 @@ Expression SimpleExpression():
21892189}
21902190{
21912191 (
2192- retval=BitwiseAndOr ()
2192+ retval=ConcatExpression ()
21932193 )
21942194
21952195 {
@@ -2204,10 +2204,10 @@ Expression ConcatExpression():
22042204 Expression rightExpression = null;
22052205}
22062206{
2207- leftExpression=AdditiveExpression () { result = leftExpression; }
2207+ leftExpression=BitwiseAndOr () { result = leftExpression; }
22082208 (LOOKAHEAD(2)
22092209 "||"
2210- rightExpression=AdditiveExpression ()
2210+ rightExpression=BitwiseAndOr ()
22112211 {
22122212 Concat binExp = new Concat();
22132213 binExp.setLeftExpression(leftExpression);
@@ -2227,15 +2227,15 @@ Expression BitwiseAndOr():
22272227 Expression rightExpression = null;
22282228}
22292229{
2230- leftExpression=ConcatExpression () { result = leftExpression; }
2230+ leftExpression=AdditiveExpression () { result = leftExpression; }
22312231 (
22322232 (
2233- "|" { result = new BitwiseOr(); }
2234- |
2235- "&" { result = new BitwiseAnd(); }
2233+ "|" { result = new BitwiseOr(); }
2234+ |
2235+ "&" { result = new BitwiseAnd(); }
22362236 )
22372237
2238- rightExpression=ConcatExpression ()
2238+ rightExpression=AdditiveExpression ()
22392239
22402240 {
22412241 BinaryExpression binExp = (BinaryExpression) result;
@@ -2372,7 +2372,7 @@ Expression PrimaryExpression():
23722372
23732373 | LOOKAHEAD(["+" | "-"] Column()) [sign="+" | sign="-"] retval=Column()
23742374
2375- | LOOKAHEAD(["+" | "-"] "(" BitwiseAndOr () ")") [sign="+" | sign="-"] "(" retval=BitwiseAndOr () ")" {retval = new Parenthesis(retval); }
2375+ | LOOKAHEAD(["+" | "-"] "(" SimpleExpression () ")") [sign="+" | sign="-"] "(" retval=SimpleExpression () ")" {retval = new Parenthesis(retval); }
23762376
23772377 | LOOKAHEAD(3) [sign="+" | sign="-"] "(" retval=SubSelect() ")"
23782378
0 commit comments