KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > repository > sqlparser > core > SqlParserEngine


1 /* Generated By:JavaCC: Do not edit this line. SqlParserEngine.java */
2 package com.genimen.djeneric.repository.sqlparser.core;
3
4 import java.io.ByteArrayInputStream JavaDoc;
5
6 import com.genimen.djeneric.repository.sqlparser.SqlParserEngineListener;
7
8 public class SqlParserEngine implements SqlParserEngineConstants
9 {
10
11   private SqlParserEngineListener _handler;
12   private String JavaDoc _result;
13   private TokenContext _currentContext = new TokenContext();
14
15   public static SqlParserEngine parse(String JavaDoc src, SqlParserEngineListener handler) throws Exception JavaDoc
16   {
17     ByteArrayInputStream JavaDoc sr = new ByteArrayInputStream JavaDoc(src.getBytes("UTF8"));
18     SqlParserEngine parser = new SqlParserEngine(sr);
19     parser._handler = handler;
20
21     parser.parseSqlStatement();
22     return parser;
23   }
24
25   public String JavaDoc getResult()
26   {
27     return _result;
28   }
29
30   /*******************************************************************
31    * SQL grammar starts here
32    *******************************************************************/

33   final public String JavaDoc SQLAndExpr() throws ParseException
34   {
35     String JavaDoc rs = "", ts;
36     ts = SQLNotExpr();
37     rs += ts;
38     label_1 : while (true)
39     {
40       if (jj_2_1(2))
41       {
42         ;
43       }
44       else
45       {
46         break label_1;
47       }
48       jj_consume_token(AND);
49       rs += "\nand ";
50       ts = SQLNotExpr();
51       rs += ts;
52     }
53     {
54       if (true) return rs;
55     }
56     throw new Error JavaDoc("Missing return statement in function");
57   }
58
59   final public String JavaDoc SQLNotExpr() throws ParseException
60   {
61     String JavaDoc rs = "", ts;
62     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
63     {
64       case NOT :
65         jj_consume_token(NOT);
66         rs += "not ";
67         break;
68       default :
69         jj_la1[0] = jj_gen;
70         ;
71     }
72     ts = SQLCompareExpr();
73     rs += ts;
74     {
75       if (true) return rs;
76     }
77     throw new Error JavaDoc("Missing return statement in function");
78   }
79
80   final public String JavaDoc SQLCompareExpr() throws ParseException
81   {
82     String JavaDoc rs = "", ts;
83     if (jj_2_2(2147483647))
84     {
85       ts = SQLSelect();
86       rs += ts;
87     }
88     else if (jj_2_3(2147483647))
89     {
90       ts = SQLIsClause();
91       rs += ts;
92     }
93     else if (jj_2_4(2147483647))
94     {
95       ts = SQLExistsClause();
96       rs += ts;
97     }
98     else
99     {
100       switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
101       {
102         case NULL :
103         case INTEGER_LITERAL :
104         case FLOATING_POINT_LITERAL :
105         case STRING_LITERAL :
106         case ID :
107         case OPENPAREN :
108         case ASTERISK :
109         case PLUS :
110         case MINUS :
111         case 73 :
112           ts = SQLSumExpr();
113           rs += ts;
114           switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
115           {
116             case BETWEEN :
117             case IN :
118             case LIKE :
119             case NOT :
120             case LESS :
121             case LESSEQUAL :
122             case GREATER :
123             case GREATEREQUAL :
124             case EQUAL :
125             case NOTEQUAL :
126             case NOTEQUAL2 :
127             case JOINPLUS :
128               ts = SQLCompareExprRight();
129               rs += ts;
130               break;
131             default :
132               jj_la1[1] = jj_gen;
133               ;
134           }
135           break;
136         default :
137           jj_la1[2] = jj_gen;
138           jj_consume_token(-1);
139           throw new ParseException();
140       }
141     }
142     {
143       if (true) return rs;
144     }
145     throw new Error JavaDoc("Missing return statement in function");
146   }
147
148   final public String JavaDoc SQLCompareExprRight() throws ParseException
149   {
150     String JavaDoc rs = "", ts;
151     if (jj_2_5(2))
152     {
153       ts = SQLLikeClause();
154       rs += ts;
155     }
156     else if (jj_2_6(2))
157     {
158       ts = SQLInClause();
159       rs += ts;
160     }
161     else
162     {
163       switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
164       {
165         case JOINPLUS :
166           ts = SQLLeftJoinClause();
167           rs += ts;
168           break;
169         default :
170           jj_la1[3] = jj_gen;
171           if (jj_2_7(2147483647))
172           {
173             ts = SQLRightJoinClause();
174             rs += ts;
175           }
176           else if (jj_2_8(2))
177           {
178             ts = SQLBetweenClause();
179             rs += ts;
180           }
181           else
182           {
183             switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
184             {
185               case LESS :
186               case LESSEQUAL :
187               case GREATER :
188               case GREATEREQUAL :
189               case EQUAL :
190               case NOTEQUAL :
191               case NOTEQUAL2 :
192                 ts = SQLCompareOp();
193                 rs += ts;
194                 ts = SQLSumExpr();
195                 rs += ts;
196                 break;
197               default :
198                 jj_la1[4] = jj_gen;
199                 jj_consume_token(-1);
200                 throw new ParseException();
201             }
202           }
203       }
204     }
205     {
206       if (true) return rs;
207     }
208     throw new Error JavaDoc("Missing return statement in function");
209   }
210
211   final public String JavaDoc SQLCompareOp() throws ParseException
212   {
213     String JavaDoc rs = "";
214     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
215     {
216       case EQUAL :
217         jj_consume_token(EQUAL);
218         rs += " = ";
219         break;
220       case NOTEQUAL :
221         jj_consume_token(NOTEQUAL);
222         rs += " != ";
223         break;
224       case NOTEQUAL2 :
225         jj_consume_token(NOTEQUAL2);
226         rs += " != ";
227         break;
228       case GREATER :
229         jj_consume_token(GREATER);
230         rs += " > ";
231         break;
232       case GREATEREQUAL :
233         jj_consume_token(GREATEREQUAL);
234         rs += " >= ";
235         break;
236       case LESS :
237         jj_consume_token(LESS);
238         rs += " < ";
239         break;
240       case LESSEQUAL :
241         jj_consume_token(LESSEQUAL);
242         rs += " <= ";
243         break;
244       default :
245         jj_la1[5] = jj_gen;
246         jj_consume_token(-1);
247         throw new ParseException();
248     }
249     {
250       if (true) return rs;
251     }
252     throw new Error JavaDoc("Missing return statement in function");
253   }
254
255   final public String JavaDoc SQLBetweenClause() throws ParseException
256   {
257     String JavaDoc rs = "", ts;
258     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
259     {
260       case NOT :
261         jj_consume_token(NOT);
262         rs += " not ";
263         break;
264       default :
265         jj_la1[6] = jj_gen;
266         ;
267     }
268     jj_consume_token(BETWEEN);
269     rs += " between ";
270     ts = SQLSumExpr();
271     rs += ts;
272     jj_consume_token(AND);
273     rs += " and ";
274     ts = SQLSumExpr();
275     rs += ts;
276     {
277       if (true) return rs;
278     }
279     throw new Error JavaDoc("Missing return statement in function");
280   }
281
282   final public String JavaDoc SQLReference() throws ParseException
283   {
284     String JavaDoc s;
285     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
286     {
287       case ID :
288         s = SQLColumn();
289         break;
290       case 73 :
291         s = SQLParameter();
292         break;
293       default :
294         jj_la1[7] = jj_gen;
295         jj_consume_token(-1);
296         throw new ParseException();
297     }
298     {
299       if (true) return s;
300     }
301     throw new Error JavaDoc("Missing return statement in function");
302   }
303
304   final public String JavaDoc SQLDelete() throws ParseException
305   {
306     String JavaDoc rs = "", ts;
307     _currentContext.push(TokenContext.STMTDELETE);
308     _handler.enterStatement(_currentContext, TokenContext.STMT_TYPE_DELETE);
309     boolean hasWhere = false;
310     jj_consume_token(DELETE);
311     jj_consume_token(FROM);
312     rs += "delete from ";
313     ts = SQLTableList();
314     rs += ts;
315     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
316     {
317       case WHERE :
318         ts = SQLWhere();
319         rs += ts;
320         hasWhere = true;
321         break;
322       default :
323         jj_la1[8] = jj_gen;
324         ;
325     }
326     if (!hasWhere)
327     {
328       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
329       _handler.handleWhereClause(_currentContext, sb);
330       if (sb.length() > 0) rs += "\nwhere " + sb.toString();
331     }
332
333     StringBuffer JavaDoc theResult = new StringBuffer JavaDoc(rs.length());
334     theResult.append(rs);
335     _handler.exitStatement(_currentContext, TokenContext.STMT_TYPE_DELETE, theResult);
336     _currentContext.pop();
337     {
338       if (true) return theResult.toString();
339     }
340     throw new Error JavaDoc("Missing return statement in function");
341   }
342
343   final public String JavaDoc SQLExistsClause() throws ParseException
344   {
345     String JavaDoc rs = "", ts;
346     _currentContext.push(TokenContext.EXISTS);
347     jj_consume_token(EXISTS);
348     rs += " exists (";
349     jj_consume_token(OPENPAREN);
350     ts = SQLSelect();
351     rs += ts;
352     jj_consume_token(CLOSEPAREN);
353     _currentContext.pop();
354     rs += ") ";
355     {
356       if (true) return rs;
357     }
358     throw new Error JavaDoc("Missing return statement in function");
359   }
360
361   final public String JavaDoc SQLFunction() throws ParseException
362   {
363     Token otherFunction;
364     String JavaDoc ts;
365     _currentContext.push(TokenContext.FUNCTION);
366     StringBuffer JavaDoc function = new StringBuffer JavaDoc(50);
367     StringBuffer JavaDoc args = new StringBuffer JavaDoc(50);
368     otherFunction = jj_consume_token(ID);
369     function.append(otherFunction.image);
370     ts = SQLFunctionArgs();
371     args.append(ts.substring(1)); // Strip '('
372
args.setLength(args.length() - 1); // Strip ')'
373

374     _handler.handleFunction(_currentContext, function, args);
375
376     _currentContext.pop();
377     {
378       if (true) return function.toString() + "(" + args.toString() + ")";
379     }
380     throw new Error JavaDoc("Missing return statement in function");
381   }
382
383   final public String JavaDoc SQLFunctionArgs() throws ParseException
384   {
385     String JavaDoc rs = "", ts;
386     _currentContext.push(TokenContext.FUNCTIONARGS);
387     jj_consume_token(OPENPAREN);
388     rs += "(";
389     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
390     {
391       case NULL :
392       case INTEGER_LITERAL :
393       case FLOATING_POINT_LITERAL :
394       case STRING_LITERAL :
395       case ID :
396       case OPENPAREN :
397       case ASTERISK :
398       case PLUS :
399       case MINUS :
400       case 73 :
401         ts = SQLSumExpr();
402         rs += ts;
403         label_2 : while (true)
404         {
405           switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
406           {
407             case 72 :
408               ;
409               break;
410             default :
411               jj_la1[9] = jj_gen;
412               break label_2;
413           }
414           jj_consume_token(72);
415           rs += ", ";
416           ts = SQLSumExpr();
417           rs += ts;
418         }
419         break;
420       default :
421         jj_la1[10] = jj_gen;
422         ;
423     }
424     jj_consume_token(CLOSEPAREN);
425     _currentContext.pop();
426     rs += ")";
427     {
428       if (true) return rs;
429     }
430     throw new Error JavaDoc("Missing return statement in function");
431   }
432
433   final public String JavaDoc SQLGroupBy() throws ParseException
434   {
435     String JavaDoc rs = "", ts;
436     StringBuffer JavaDoc having = new StringBuffer JavaDoc(100);
437     _currentContext.push(TokenContext.GROUPBY);
438     jj_consume_token(GROUP);
439     jj_consume_token(BY);
440     rs += " group by ";
441     ts = SQLOrderByList();
442     StringBuffer JavaDoc sb = new StringBuffer JavaDoc(100);
443     sb.append(ts);
444     _handler.handleGroupBy(_currentContext, sb);
445     rs += sb.toString();
446     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
447     {
448       case HAVING :
449         jj_consume_token(HAVING);
450         _currentContext.push(TokenContext.HAVING);
451         ts = SQLSumExpr();
452         having.append(ts);
453         ts = SQLCompareExprRight();
454         having.append(ts);
455         _currentContext.pop();
456         break;
457       default :
458         jj_la1[11] = jj_gen;
459         ;
460     }
461     if (having.length() > 0)
462     {
463       _handler.handleHaving(_currentContext, having);
464       if (having.length() > 0)
465       {
466         rs += " having " + having.toString();
467       }
468     }
469     _currentContext.pop();
470     {
471       if (true) return rs;
472     }
473     throw new Error JavaDoc("Missing return statement in function");
474   }
475
476   final public String JavaDoc SQLInClause() throws ParseException
477   {
478     String JavaDoc rs = "", ts;
479     _currentContext.push(TokenContext.IN);
480     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
481     {
482       case NOT :
483         jj_consume_token(NOT);
484         rs += " not ";
485         break;
486       default :
487         jj_la1[12] = jj_gen;
488         ;
489     }
490     jj_consume_token(IN);
491     rs += " in ";
492     jj_consume_token(OPENPAREN);
493     rs += "(";
494     ts = SQLColumnList();
495     rs += ts;
496     jj_consume_token(CLOSEPAREN);
497     rs += ")";
498     _currentContext.pop();
499     {
500       if (true) return rs;
501     }
502     throw new Error JavaDoc("Missing return statement in function");
503   }
504
505   final public String JavaDoc SQLInsert() throws ParseException
506   {
507     String JavaDoc rs = "", ts;
508     _currentContext.push(TokenContext.STMTINSERT);
509     StringBuffer JavaDoc selCols = new StringBuffer JavaDoc(100);
510     _handler.enterStatement(_currentContext, TokenContext.STMT_TYPE_INSERT);
511     jj_consume_token(INSERT);
512     jj_consume_token(INTO);
513     rs += "insert into ";
514     ts = SQLTableList();
515     rs += ts;
516     if (jj_2_9(2))
517     {
518       jj_consume_token(OPENPAREN);
519       ts = SQLInsertCols();
520       selCols.append(ts);
521       jj_consume_token(CLOSEPAREN);
522     }
523     else
524     {
525       ;
526     }
527     _handler.handleInsertColumnList(_currentContext, selCols);
528     ts = selCols.toString();
529     if (ts.length() > 0)
530     {
531       rs += "(" + ts + ") ";
532     }
533     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
534     {
535       case VALUES :
536         jj_consume_token(VALUES);
537         rs += "\nvalues";
538         jj_consume_token(OPENPAREN);
539         rs += " (";
540         ts = SQLValueCols();
541         rs += ts;
542         jj_consume_token(CLOSEPAREN);
543         rs += ")";
544         break;
545       case SELECT :
546         ts = SQLSelect();
547         rs += "\n" + ts;
548         break;
549       default :
550         jj_la1[13] = jj_gen;
551         jj_consume_token(-1);
552         throw new ParseException();
553     }
554     StringBuffer JavaDoc theResult = new StringBuffer JavaDoc(rs.length());
555     theResult.append(rs);
556     _handler.exitStatement(_currentContext, TokenContext.STMT_TYPE_INSERT, theResult);
557     _currentContext.pop();
558     {
559       if (true) return theResult.toString();
560     }
561     throw new Error JavaDoc("Missing return statement in function");
562   }
563
564   final public String JavaDoc SQLIsClause() throws ParseException
565   {
566     String JavaDoc rs = "", ts;
567     ts = SQLReference();
568     rs += ts;
569     jj_consume_token(IS);
570     rs += " is";
571     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
572     {
573       case NOT :
574         jj_consume_token(NOT);
575         rs += " not";
576         break;
577       default :
578         jj_la1[14] = jj_gen;
579         ;
580     }
581     jj_consume_token(NULL);
582     rs += " null";
583     {
584       if (true) return rs;
585     }
586     throw new Error JavaDoc("Missing return statement in function");
587   }
588
589   final public String JavaDoc SQLLeftJoinClause() throws ParseException
590   {
591     String JavaDoc rs = "", ts;
592     jj_consume_token(JOINPLUS);
593     ts = SQLCompareOp();
594     rs += " (+)";
595     rs += ts;
596     ts = SQLSumExpr();
597     rs += ts;
598     {
599       if (true) return rs;
600     }
601     throw new Error JavaDoc("Missing return statement in function");
602   }
603
604   final public String JavaDoc SQLLikeClause() throws ParseException
605   {
606     String JavaDoc rs = "", ts;
607     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
608     {
609       case NOT :
610         jj_consume_token(NOT);
611         rs += " not";
612         break;
613       default :
614         jj_la1[15] = jj_gen;
615         ;
616     }
617     jj_consume_token(LIKE);
618     rs += " like ";
619     ts = SQLPattern();
620     rs += ts;
621     {
622       if (true) return rs;
623     }
624     throw new Error JavaDoc("Missing return statement in function");
625   }
626
627   final public String JavaDoc SQLLiteral() throws ParseException
628   {
629     Token x;
630     String JavaDoc rs = "";
631     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
632     {
633       case STRING_LITERAL :
634         x = jj_consume_token(STRING_LITERAL);
635         rs += x.image;
636         break;
637       case INTEGER_LITERAL :
638         x = jj_consume_token(INTEGER_LITERAL);
639         rs += x.image;
640         break;
641       case FLOATING_POINT_LITERAL :
642         x = jj_consume_token(FLOATING_POINT_LITERAL);
643         rs += x.image;
644         break;
645       case ASTERISK :
646         x = jj_consume_token(ASTERISK);
647         rs += x.image;
648         break;
649       case NULL :
650         x = jj_consume_token(NULL);
651         rs += x.image;
652         break;
653       default :
654         jj_la1[16] = jj_gen;
655         jj_consume_token(-1);
656         throw new ParseException();
657     }
658     {
659       if (true) return rs;
660     }
661     throw new Error JavaDoc("Missing return statement in function");
662   }
663
664   final public String JavaDoc SQLColumn() throws ParseException
665   {
666     Token x, y;
667     String JavaDoc s = "";
668     StringBuffer JavaDoc tableAlias = new StringBuffer JavaDoc(50);
669     StringBuffer JavaDoc columnName = new StringBuffer JavaDoc(50);
670     x = jj_consume_token(ID);
671     columnName.append(x.image);
672     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
673     {
674       case DOT :
675         jj_consume_token(DOT);
676         y = jj_consume_token(ID);
677         tableAlias.append(x.image);
678         columnName.setLength(0);
679         columnName.append(y.image);
680         break;
681       default :
682         jj_la1[17] = jj_gen;
683         ;
684     }
685     _handler.handleColumn(_currentContext, tableAlias, columnName);
686     if (tableAlias.length() > 0)
687     {
688       s = tableAlias.toString() + ".";
689     }
690     s += columnName.toString();
691     {
692       if (true) return s;
693     }
694     throw new Error JavaDoc("Missing return statement in function");
695   }
696
697   final public String JavaDoc SQLParameter() throws ParseException
698   {
699     Token x, y;
700     StringBuffer JavaDoc parameterName = new StringBuffer JavaDoc(50);
701     jj_consume_token(73);
702     x = jj_consume_token(ID);
703     parameterName.append(x.image);
704     label_3 : while (true)
705     {
706       switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
707       {
708         case DOT :
709           ;
710           break;
711         default :
712           jj_la1[18] = jj_gen;
713           break label_3;
714       }
715       jj_consume_token(DOT);
716       y = jj_consume_token(ID);
717       parameterName.append(".");
718       parameterName.append(y.image);
719     }
720     _handler.handleParameter(_currentContext, parameterName);
721     {
722       if (true) return ":" + parameterName.toString() + " ";
723     }
724     throw new Error JavaDoc("Missing return statement in function");
725   }
726
727   final public String JavaDoc SQLOrderBy() throws ParseException
728   {
729     String JavaDoc rs = "", ts;
730     _currentContext.push(TokenContext.ORDERBY);
731     jj_consume_token(ORDER);
732     jj_consume_token(BY);
733     rs += "\norder by ";
734     ts = SQLOrderByList();
735     StringBuffer JavaDoc sb = new StringBuffer JavaDoc(100);
736     sb.append(ts);
737     _handler.handleOrderBy(_currentContext, sb);
738     rs += sb.toString();
739     if (sb.length() == 0) rs = "";
740     _currentContext.pop();
741     {
742       if (true) return rs;
743     }
744     throw new Error JavaDoc("Missing return statement in function");
745   }
746
747   final public String JavaDoc SQLOrderByElem() throws ParseException
748   {
749     String JavaDoc rs = "", ts;
750     Token tok;
751     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
752     {
753       case ID :
754       case 73 :
755         ts = SQLReference();
756         rs += ts;
757         break;
758       case INTEGER_LITERAL :
759         tok = jj_consume_token(INTEGER_LITERAL);
760         rs += tok.image;
761         break;
762       default :
763         jj_la1[19] = jj_gen;
764         jj_consume_token(-1);
765         throw new ParseException();
766     }
767     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
768     {
769       case ASC :
770       case DESC :
771         ts = SQLOrderDirection();
772         rs += ts;
773         break;
774       default :
775         jj_la1[20] = jj_gen;
776         ;
777     }
778     {
779       if (true) return rs;
780     }
781     throw new Error JavaDoc("Missing return statement in function");
782   }
783
784   final public String JavaDoc SQLOrderByList() throws ParseException
785   {
786     String JavaDoc rs = "", ts;
787     ts = SQLOrderByElem();
788     rs += ts;
789     label_4 : while (true)
790     {
791       if (jj_2_10(2))
792       {
793         ;
794       }
795       else
796       {
797         break label_4;
798       }
799       jj_consume_token(72);
800       rs += ", ";
801       ts = SQLOrderByElem();
802       rs += ts;
803     }
804     {
805       if (true) return rs;
806     }
807     throw new Error JavaDoc("Missing return statement in function");
808   }
809
810   final public String JavaDoc SQLOrderDirection() throws ParseException
811   {
812     String JavaDoc rs = "";
813     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
814     {
815       case ASC :
816         jj_consume_token(ASC);
817         rs += " asc";
818         break;
819       case DESC :
820         jj_consume_token(DESC);
821         rs += " desc";
822         break;
823       default :
824         jj_la1[21] = jj_gen;
825         jj_consume_token(-1);
826         throw new ParseException();
827     }
828     {
829       if (true) return rs;
830     }
831     throw new Error JavaDoc("Missing return statement in function");
832   }
833
834   final public String JavaDoc SQLOrExpr() throws ParseException
835   {
836     String JavaDoc rs = "", ts;
837     ts = SQLAndExpr();
838     rs += ts;
839     label_5 : while (true)
840     {
841       if (jj_2_11(2))
842       {
843         ;
844       }
845       else
846       {
847         break label_5;
848       }
849       jj_consume_token(OR);
850       rs += "\nor ";
851       ts = SQLAndExpr();
852       rs += ts;
853     }
854     {
855       if (true) return rs;
856     }
857     throw new Error JavaDoc("Missing return statement in function");
858   }
859
860   final public String JavaDoc SQLPattern() throws ParseException
861   {
862     Token x;
863     String JavaDoc rs = "", ts;
864     switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
865     {
866       case STRING_LITERAL :
867         x = jj_consume_token(STRING_LITERAL);
868         rs += x.image;
869         break;
870       case QUESTIONMARK :
871         jj_consume_token(QUESTIONMARK);
872         rs += "?";
873         break;
874       case 73 :
875         ts = SQLParameter();
876         rs += ts;
877         break;
878       case ID :
879         ts = SQLColumn();
880         rs += ts;
881         break;
882       default :
883         jj_la1[22] = jj_gen;
884         jj_consume_token(-1);
885         throw new ParseException();
886     }
887     {
888       if (true) return rs;
889     }
890     throw new Error JavaDoc("Missing return statement in function");
891   }
892
893   final public String JavaDoc SQLProductExpr() throws ParseException
894   {
895     String JavaDoc rs = "", ts;
896     ts = SQLUnaryExpr();
897     rs += ts;
898     label_6 : while (true)
899     {
900       switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
901       {
902         case ASTERISK :
903         case SLASH :
904           ;
905           break;
906         default :
907           jj_la1[23] = jj_gen;
908           break label_6;
909       }
910       switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
911       {
912         case ASTERISK :
913           jj_consume_token(ASTERISK);
914           rs += " * ";
915           break;
916         case SLASH :
917           jj_consume_token(SLASH);
918           rs += " / ";
919           break;
920         default :
921           jj_la1[24] = jj_gen;
922           jj_consume_token(-1);
923           throw new ParseException();
924       }
925       ts = SQLUnaryExpr();
926       rs += ts;
927     }
928     {
929       if (true) return rs;
930     }
931     throw new Error JavaDoc("Missing return statement in function");
932   }
933
934   final public String JavaDoc SQLRightJoinClause() throws ParseException
935   {
936     String JavaDoc rs = "", ts;
937     rs += "*";
938     ts = SQLCompareOp();
939     rs += ts;
940     ts = SQLSumExpr();
941     rs += ts;
942     jj_consume_token(JOINPLUS);
943     {
944       if (true) return rs;
945     }
946     throw new Error JavaDoc("Missing return statement in function");
947   }
948
949   final public String JavaDoc SQLSelect() throws ParseException
950   {
951     String JavaDoc rs = "", ts, ts2;
952     _currentContext.push(TokenContext.STMTSELECT);
953     ts = SQLSingleSelect();
954     rs += ts;
955     label_7 : while (true)
956     {
957       if (jj_2_12(2))
958       {
959         ;
960       }
961       else
962       {
963         break label_7;
964       }
965       jj_consume_token(UNION);
966       _currentContext.push(TokenContext.UNION);
967       rs += "\nunion ";
968       switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
969       {
970         case ALL :
971           jj_consume_token(ALL);
972           rs += " all ";
973           break;
974         default :
975           jj_la1[25] = jj_gen;
976           ;
977       }
978       ts2 = SQLSingleSelect();
979       _currentContext.pop();
980       rs += ts2;
981     }
982     _currentContext.pop();
983     {
984       if (true) return rs;
985     }
986     throw new Error JavaDoc("Missing return statement in function");
987   }
988
989   final public String JavaDoc SQLSingleSelect() throws ParseException
990   {
991     String JavaDoc rs = "", ts;
992     _currentContext.push(TokenContext.SELECT);
993     _handler.enterStatement(_currentContext, TokenContext.STMT_TYPE_SELECT);
994     boolean hasWhere = false;
995     jj_consume_token(SELECT);
996     rs += "select ";
997     ts = SQLSelectCols();
998     rs += ts;
999     jj_consume_token(FROM);
1000    rs += "\nfrom ";
1001    ts = SQLTableList();
1002    rs += ts;
1003    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1004    {
1005      case WHERE :
1006        ts = SQLWhere();
1007        rs += ts;
1008        hasWhere = true;
1009        break;
1010      default :
1011        jj_la1[26] = jj_gen;
1012        ;
1013    }
1014    if (!hasWhere)
1015    {
1016      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
1017      _handler.handleWhereClause(_currentContext, sb);
1018      if (sb.length() > 0) rs += "\nwhere " + sb.toString();
1019    }
1020    if (jj_2_13(2))
1021    {
1022      ts = SQLGroupBy();
1023      rs += ts;
1024    }
1025    else
1026    {
1027      ;
1028    }
1029    if (jj_2_14(2))
1030    {
1031      ts = SQLOrderBy();
1032      rs += ts;
1033    }
1034    else
1035    {
1036      ;
1037    }
1038    if (jj_2_15(2))
1039    {
1040      jj_consume_token(FOR);
1041      jj_consume_token(UPDATE);
1042      rs += " for update ";
1043      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1044      {
1045        case NOWAIT :
1046          jj_consume_token(NOWAIT);
1047          break;
1048        default :
1049          jj_la1[27] = jj_gen;
1050          ;
1051      }
1052      rs += " nowait ";
1053    }
1054    else
1055    {
1056      ;
1057    }
1058    StringBuffer JavaDoc theResult = new StringBuffer JavaDoc(rs.length());
1059    theResult.append(rs);
1060    _handler.exitStatement(_currentContext, TokenContext.STMT_TYPE_SELECT, theResult);
1061    _currentContext.pop();
1062    {
1063      if (true) return theResult.toString();
1064    }
1065    throw new Error JavaDoc("Missing return statement in function");
1066  }
1067
1068  final public String JavaDoc SQLInsertCols() throws ParseException
1069  {
1070    String JavaDoc rs;
1071    rs = SQLColumnExpressionList();
1072    {
1073      if (true) return rs;
1074    }
1075    throw new Error JavaDoc("Missing return statement in function");
1076  }
1077
1078  final public String JavaDoc SQLValueCols() throws ParseException
1079  {
1080    String JavaDoc rs = "", ts;
1081    ts = SQLColumnExpressionList();
1082    rs += ts;
1083    StringBuffer JavaDoc selCols = new StringBuffer JavaDoc(100);
1084    selCols.append(rs);
1085    _handler.handleInsertValueList(_currentContext, selCols);
1086    {
1087      if (true) return selCols.toString();
1088    }
1089    throw new Error JavaDoc("Missing return statement in function");
1090  }
1091
1092  final public String JavaDoc SqlRecordSelect() throws ParseException
1093  {
1094    String JavaDoc rs = "", ts;
1095    StringBuffer JavaDoc tableRecord;
1096    Token tok;
1097    if (jj_2_16(2))
1098    {
1099      jj_consume_token(ASTERISK);
1100      tableRecord = new StringBuffer JavaDoc(30);
1101      tableRecord.append("*");
1102      _handler.handleSelectFullRecord(_currentContext, "", tableRecord);
1103      rs += tableRecord.toString();
1104    }
1105    else if (jj_2_17(2))
1106    {
1107      tok = jj_consume_token(ID);
1108      jj_consume_token(74);
1109      tableRecord = new StringBuffer JavaDoc(30);
1110      tableRecord.append(tok.image + ".*");
1111      _handler.handleSelectFullRecord(_currentContext, tok.image, tableRecord);
1112      rs += tableRecord.toString();
1113    }
1114    else
1115    {
1116      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1117      {
1118        case NULL :
1119        case INTEGER_LITERAL :
1120        case FLOATING_POINT_LITERAL :
1121        case STRING_LITERAL :
1122        case ID :
1123        case OPENPAREN :
1124        case ASTERISK :
1125        case PLUS :
1126        case MINUS :
1127        case 73 :
1128          ts = SQLColumnSelectExpr();
1129          rs += ts;
1130          break;
1131        default :
1132          jj_la1[28] = jj_gen;
1133          jj_consume_token(-1);
1134          throw new ParseException();
1135      }
1136    }
1137    {
1138      if (true) return rs;
1139    }
1140    throw new Error JavaDoc("Missing return statement in function");
1141  }
1142
1143  final public String JavaDoc SQLSelectCols() throws ParseException
1144  {
1145    String JavaDoc rs = "", ts;
1146    label_8 : while (true)
1147    {
1148      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1149      {
1150        case ALL :
1151        case DISTINCT :
1152          ;
1153          break;
1154        default :
1155          jj_la1[29] = jj_gen;
1156          break label_8;
1157      }
1158      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1159      {
1160        case ALL :
1161          jj_consume_token(ALL);
1162          rs += " all ";
1163          break;
1164        case DISTINCT :
1165          jj_consume_token(DISTINCT);
1166          rs += " distinct ";
1167          break;
1168        default :
1169          jj_la1[30] = jj_gen;
1170          jj_consume_token(-1);
1171          throw new ParseException();
1172      }
1173    }
1174    ts = SqlRecordSelect();
1175    rs += ts;
1176    label_9 : while (true)
1177    {
1178      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1179      {
1180        case 72 :
1181          ;
1182          break;
1183        default :
1184          jj_la1[31] = jj_gen;
1185          break label_9;
1186      }
1187      jj_consume_token(72);
1188      ts = SqlRecordSelect();
1189      rs += ", " + ts;
1190    }
1191    StringBuffer JavaDoc selCols = new StringBuffer JavaDoc(100);
1192    selCols.append(rs);
1193    _handler.handleSelectList(_currentContext, selCols);
1194    {
1195      if (true) return selCols.toString();
1196    }
1197    throw new Error JavaDoc("Missing return statement in function");
1198  }
1199
1200  final public String JavaDoc SQLColumnSelectExpr() throws ParseException
1201  {
1202    String JavaDoc rs = "", ts;
1203    Token alias;
1204    StringBuffer JavaDoc expression = new StringBuffer JavaDoc(50);
1205    StringBuffer JavaDoc aliasName = new StringBuffer JavaDoc(50);
1206    ts = SQLProductExpr();
1207    expression.append(ts);
1208    label_10 : while (true)
1209    {
1210      if (jj_2_18(2))
1211      {
1212        ;
1213      }
1214      else
1215      {
1216        break label_10;
1217      }
1218      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1219      {
1220        case PLUS :
1221          jj_consume_token(PLUS);
1222          expression.append(" + ");
1223          break;
1224        case MINUS :
1225          jj_consume_token(MINUS);
1226          expression.append(" - ");
1227          break;
1228        case CONCAT :
1229          jj_consume_token(CONCAT);
1230          expression.append(" || ");
1231          break;
1232        default :
1233          jj_la1[32] = jj_gen;
1234          jj_consume_token(-1);
1235          throw new ParseException();
1236      }
1237      ts = SQLProductExpr();
1238      expression.append(ts);
1239    }
1240    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1241    {
1242      case AS :
1243      case ID :
1244        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1245        {
1246          case AS :
1247            jj_consume_token(AS);
1248            break;
1249          default :
1250            jj_la1[33] = jj_gen;
1251            ;
1252        }
1253        alias = jj_consume_token(ID);
1254        aliasName.append(alias.image);
1255        break;
1256      default :
1257        jj_la1[34] = jj_gen;
1258        ;
1259    }
1260    _handler.handleSelectedColumnExpression(_currentContext, expression, aliasName);
1261
1262    rs = expression.toString();
1263    if (aliasName.length() > 0) rs += " as " + aliasName.toString();
1264    {
1265      if (true) return rs;
1266    }
1267    throw new Error JavaDoc("Missing return statement in function");
1268  }
1269
1270  final public String JavaDoc SQLColumnExpressionList() throws ParseException
1271  {
1272    String JavaDoc rs = "", ts;
1273    _currentContext.push(TokenContext.SELECTLIST);
1274    ts = SQLColumnExpr();
1275    rs += ts;
1276    label_11 : while (true)
1277    {
1278      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1279      {
1280        case 72 :
1281          ;
1282          break;
1283        default :
1284          jj_la1[35] = jj_gen;
1285          break label_11;
1286      }
1287      jj_consume_token(72);
1288      rs += ", ";
1289      ts = SQLColumnExpr();
1290      rs += ts;
1291    }
1292    _currentContext.pop();
1293    {
1294      if (true) return rs;
1295    }
1296    throw new Error JavaDoc("Missing return statement in function");
1297  }
1298
1299  final public String JavaDoc SQLColumnExpr() throws ParseException
1300  {
1301    String JavaDoc rs = "", ts;
1302    StringBuffer JavaDoc expression = new StringBuffer JavaDoc(50);
1303    ts = SQLProductExpr();
1304    expression.append(ts);
1305    label_12 : while (true)
1306    {
1307      if (jj_2_19(2))
1308      {
1309        ;
1310      }
1311      else
1312      {
1313        break label_12;
1314      }
1315      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1316      {
1317        case PLUS :
1318          jj_consume_token(PLUS);
1319          expression.append(" + ");
1320          break;
1321        case MINUS :
1322          jj_consume_token(MINUS);
1323          expression.append(" - ");
1324          break;
1325        case CONCAT :
1326          jj_consume_token(CONCAT);
1327          expression.append(" || ");
1328          break;
1329        default :
1330          jj_la1[36] = jj_gen;
1331          jj_consume_token(-1);
1332          throw new ParseException();
1333      }
1334      ts = SQLProductExpr();
1335      expression.append(ts);
1336    }
1337    _handler.handleColumnExpression(_currentContext, expression);
1338    rs = expression.toString();
1339    {
1340      if (true) return rs;
1341    }
1342    throw new Error JavaDoc("Missing return statement in function");
1343  }
1344
1345  final public String JavaDoc SQLSumExpr() throws ParseException
1346  {
1347    String JavaDoc rs = "", ts;
1348    ts = SQLProductExpr();
1349    rs += ts;
1350    label_13 : while (true)
1351    {
1352      if (jj_2_20(2))
1353      {
1354        ;
1355      }
1356      else
1357      {
1358        break label_13;
1359      }
1360      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1361      {
1362        case PLUS :
1363          jj_consume_token(PLUS);
1364          rs += " + ";
1365          break;
1366        case MINUS :
1367          jj_consume_token(MINUS);
1368          rs += " - ";
1369          break;
1370        case CONCAT :
1371          jj_consume_token(CONCAT);
1372          rs += " || ";
1373          break;
1374        default :
1375          jj_la1[37] = jj_gen;
1376          jj_consume_token(-1);
1377          throw new ParseException();
1378      }
1379      ts = SQLProductExpr();
1380      rs += ts;
1381    }
1382    {
1383      if (true) return rs;
1384    }
1385    throw new Error JavaDoc("Missing return statement in function");
1386  }
1387
1388  final public String JavaDoc SQLTableList() throws ParseException
1389  {
1390    String JavaDoc rs = "", ts;
1391    _currentContext.push(TokenContext.TABLESPEC);
1392    ts = SQLTable();
1393    rs += ts;
1394    label_14 : while (true)
1395    {
1396      if (jj_2_21(2))
1397      {
1398        ;
1399      }
1400      else
1401      {
1402        break label_14;
1403      }
1404      jj_consume_token(72);
1405      rs += ", ";
1406      ts = SQLTable();
1407      rs += ts;
1408    }
1409    StringBuffer JavaDoc tables = new StringBuffer JavaDoc(100);
1410    tables.append(rs);
1411    _handler.handleTableList(_currentContext, tables);
1412    _currentContext.pop();
1413    {
1414      if (true) return tables.toString();
1415    }
1416    throw new Error JavaDoc("Missing return statement in function");
1417  }
1418
1419  final public String JavaDoc SQLTable() throws ParseException
1420  {
1421    Token tableName, aliasName;
1422    StringBuffer JavaDoc name = new StringBuffer JavaDoc(50);
1423    StringBuffer JavaDoc alias = new StringBuffer JavaDoc(50);
1424    String JavaDoc rs;
1425    tableName = jj_consume_token(ID);
1426    name.append(tableName.image);
1427    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1428    {
1429      case ID :
1430        aliasName = jj_consume_token(ID);
1431        alias.append(aliasName.image);
1432        break;
1433      default :
1434        jj_la1[38] = jj_gen;
1435        ;
1436    }
1437    _handler.handleTable(_currentContext, name, alias);
1438    rs = name.toString();
1439    if (alias.length() != 0)
1440    {
1441      rs += " " + alias.toString();
1442    }
1443    {
1444      if (true) return rs;
1445    }
1446    throw new Error JavaDoc("Missing return statement in function");
1447  }
1448
1449  final public String JavaDoc SQLTerm() throws ParseException
1450  {
1451    String JavaDoc rs = "", ts;
1452    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1453    {
1454      case OPENPAREN :
1455        jj_consume_token(OPENPAREN);
1456        rs += "(";
1457        ts = SQLOrExpr();
1458        rs += ts;
1459        jj_consume_token(CLOSEPAREN);
1460        rs += ")";
1461        break;
1462      default :
1463        jj_la1[39] = jj_gen;
1464        if (jj_2_22(2))
1465        {
1466          ts = SQLFunction();
1467          rs += ts;
1468        }
1469        else
1470        {
1471          switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1472          {
1473            case ID :
1474            case 73 :
1475              ts = SQLReference();
1476              rs += ts;
1477              break;
1478            case NULL :
1479            case INTEGER_LITERAL :
1480            case FLOATING_POINT_LITERAL :
1481            case STRING_LITERAL :
1482            case ASTERISK :
1483              ts = SQLLiteral();
1484              rs += ts;
1485              break;
1486            default :
1487              jj_la1[40] = jj_gen;
1488              jj_consume_token(-1);
1489              throw new ParseException();
1490          }
1491        }
1492    }
1493    {
1494      if (true) return rs;
1495    }
1496    throw new Error JavaDoc("Missing return statement in function");
1497  }
1498
1499  final public String JavaDoc SQLUnaryExpr() throws ParseException
1500  {
1501    String JavaDoc rs = "", ts;
1502    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1503    {
1504      case PLUS :
1505      case MINUS :
1506        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1507        {
1508          case PLUS :
1509            jj_consume_token(PLUS);
1510            rs += "+";
1511            break;
1512          case MINUS :
1513            jj_consume_token(MINUS);
1514            rs += "-";
1515            break;
1516          default :
1517            jj_la1[41] = jj_gen;
1518            jj_consume_token(-1);
1519            throw new ParseException();
1520        }
1521        break;
1522      default :
1523        jj_la1[42] = jj_gen;
1524        ;
1525    }
1526    ts = SQLTerm();
1527    rs += ts;
1528    {
1529      if (true) return rs;
1530    }
1531    throw new Error JavaDoc("Missing return statement in function");
1532  }
1533
1534  final public String JavaDoc SQLUpdate() throws ParseException
1535  {
1536    String JavaDoc rs = "", ts;
1537    _currentContext.push(TokenContext.STMTUPDATE);
1538    _handler.enterStatement(_currentContext, TokenContext.STMT_TYPE_UPDATE);
1539    boolean hasWhere = false;
1540    jj_consume_token(UPDATE);
1541    rs += "update ";
1542    ts = SQLTableList();
1543    rs += ts;
1544    jj_consume_token(SET);
1545    rs += "\nset ";
1546    label_15 : while (true)
1547    {
1548      ts = SQLUpdateAssignment();
1549      rs += ts;
1550      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1551      {
1552        case 72 :
1553          jj_consume_token(72);
1554          rs += ", ";
1555          break;
1556        default :
1557          jj_la1[43] = jj_gen;
1558          ;
1559      }
1560      if (jj_2_23(2147483647))
1561      {
1562        ;
1563      }
1564      else
1565      {
1566        break label_15;
1567      }
1568    }
1569    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1570    {
1571      case WHERE :
1572        ts = SQLWhere();
1573        rs += ts;
1574        hasWhere = true;
1575        break;
1576      default :
1577        jj_la1[44] = jj_gen;
1578        ;
1579    }
1580    if (!hasWhere)
1581    {
1582      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
1583      _handler.handleWhereClause(_currentContext, sb);
1584      if (sb.length() > 0) rs += "\nwhere " + sb.toString();
1585    }
1586    StringBuffer JavaDoc theResult = new StringBuffer JavaDoc(rs.length());
1587    theResult.append(rs);
1588    _handler.exitStatement(_currentContext, TokenContext.STMT_TYPE_UPDATE, theResult);
1589    _currentContext.pop();
1590    {
1591      if (true) return theResult.toString();
1592    }
1593    throw new Error JavaDoc("Missing return statement in function");
1594  }
1595
1596  final public String JavaDoc SQLUpdateAssignment() throws ParseException
1597  {
1598    String JavaDoc s, rs = "", ts;
1599    _currentContext.push(TokenContext.SET);
1600    s = SQLColumn();
1601    jj_consume_token(EQUAL);
1602    rs += s;
1603    rs += " = ";
1604    if (jj_2_24(2147483647))
1605    {
1606      rs += " concat ";
1607      ts = SQLTerm();
1608      rs += ts;
1609      label_16 : while (true)
1610      {
1611        jj_consume_token(CONCAT);
1612        rs += ", ";
1613        ts = SQLTerm();
1614        rs += ts;
1615        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1616        {
1617          case CONCAT :
1618            ;
1619            break;
1620          default :
1621            jj_la1[45] = jj_gen;
1622            break label_16;
1623        }
1624      }
1625    }
1626    else
1627    {
1628      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1629      {
1630        case NULL :
1631        case INTEGER_LITERAL :
1632        case FLOATING_POINT_LITERAL :
1633        case STRING_LITERAL :
1634        case ID :
1635        case OPENPAREN :
1636        case ASTERISK :
1637        case PLUS :
1638        case MINUS :
1639        case 73 :
1640          ts = SQLSumExpr();
1641          rs += ts;
1642          break;
1643        default :
1644          jj_la1[46] = jj_gen;
1645          jj_consume_token(-1);
1646          throw new ParseException();
1647      }
1648    }
1649    _currentContext.pop();
1650    {
1651      if (true) return rs;
1652    }
1653    throw new Error JavaDoc("Missing return statement in function");
1654  }
1655
1656  final public String JavaDoc SQLColumnElement() throws ParseException
1657  {
1658    String JavaDoc rs = "", ts;
1659    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1660    {
1661      case NULL :
1662      case INTEGER_LITERAL :
1663      case FLOATING_POINT_LITERAL :
1664      case STRING_LITERAL :
1665      case ID :
1666      case OPENPAREN :
1667      case ASTERISK :
1668      case PLUS :
1669      case MINUS :
1670      case 73 :
1671        ts = SQLSumExpr();
1672        rs += ts;
1673        break;
1674      case SELECT :
1675        ts = SQLSelect();
1676        rs += ts;
1677        break;
1678      default :
1679        jj_la1[47] = jj_gen;
1680        jj_consume_token(-1);
1681        throw new ParseException();
1682    }
1683    {
1684      if (true) return rs;
1685    }
1686    throw new Error JavaDoc("Missing return statement in function");
1687  }
1688
1689  final public String JavaDoc SQLColumnList() throws ParseException
1690  {
1691    String JavaDoc rs = "", ts;
1692    ts = SQLColumnElement();
1693    rs += ts;
1694    label_17 : while (true)
1695    {
1696      switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1697      {
1698        case 72 :
1699          ;
1700          break;
1701        default :
1702          jj_la1[48] = jj_gen;
1703          break label_17;
1704      }
1705      jj_consume_token(72);
1706      rs += ", ";
1707      ts = SQLColumnElement();
1708      rs += ts;
1709    }
1710    {
1711      if (true) return rs;
1712    }
1713    throw new Error JavaDoc("Missing return statement in function");
1714  }
1715
1716  final public String JavaDoc SQLWhere() throws ParseException
1717  {
1718    String JavaDoc ts;
1719    _currentContext.push(TokenContext.WHERE);
1720    jj_consume_token(WHERE);
1721    ts = SQLOrExpr();
1722    StringBuffer JavaDoc where = new StringBuffer JavaDoc(100);
1723    where.append(ts);
1724    _handler.handleWhereClause(_currentContext, where);
1725    _currentContext.pop();
1726    {
1727      if (true) return "\nwhere " + where.toString();
1728    }
1729    throw new Error JavaDoc("Missing return statement in function");
1730  }
1731
1732  final public String JavaDoc parseSqlStatement() throws ParseException
1733  {
1734    String JavaDoc rs = "", ts;
1735    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1736    {
1737      case SELECT :
1738        ts = SQLSelect();
1739        rs += ts;
1740        break;
1741      case INSERT :
1742        ts = SQLInsert();
1743        rs += ts;
1744        break;
1745      case UPDATE :
1746        ts = SQLUpdate();
1747        rs += ts;
1748        break;
1749      case DELETE :
1750        ts = SQLDelete();
1751        rs += ts;
1752        break;
1753      case COMMIT :
1754        jj_consume_token(COMMIT);
1755        rs += "commit";
1756        break;
1757      case ROLLBACK :
1758        jj_consume_token(ROLLBACK);
1759        rs += "rollback";
1760        break;
1761      default :
1762        jj_la1[49] = jj_gen;
1763        jj_consume_token(-1);
1764        throw new ParseException();
1765    }
1766    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
1767    {
1768      case SEMICOLON :
1769        jj_consume_token(SEMICOLON);
1770        break;
1771      default :
1772        jj_la1[50] = jj_gen;
1773        ;
1774    }
1775    jj_consume_token(0);
1776    rs = rs.trim();
1777    _result = rs;
1778    {
1779      if (true) return rs;
1780    }
1781    throw new Error JavaDoc("Missing return statement in function");
1782  }
1783
1784  final private boolean jj_2_1(int xla)
1785  {
1786    jj_la = xla;
1787    jj_lastpos = jj_scanpos = token;
1788    boolean retval = !jj_3_1();
1789    jj_save(0, xla);
1790    return retval;
1791  }
1792
1793  final private boolean jj_2_2(int xla)
1794  {
1795    jj_la = xla;
1796    jj_lastpos = jj_scanpos = token;
1797    boolean retval = !jj_3_2();
1798    jj_save(1, xla);
1799    return retval;
1800  }
1801
1802  final private boolean jj_2_3(int xla)
1803  {
1804    jj_la = xla;
1805    jj_lastpos = jj_scanpos = token;
1806    boolean retval = !jj_3_3();
1807    jj_save(2, xla);
1808    return retval;
1809  }
1810
1811  final private boolean jj_2_4(int xla)
1812  {
1813    jj_la = xla;
1814    jj_lastpos = jj_scanpos = token;
1815    boolean retval = !jj_3_4();
1816    jj_save(3, xla);
1817    return retval;
1818  }
1819
1820  final private boolean jj_2_5(int xla)
1821  {
1822    jj_la = xla;
1823    jj_lastpos = jj_scanpos = token;
1824    boolean retval = !jj_3_5();
1825    jj_save(4, xla);
1826    return retval;
1827  }
1828
1829  final private boolean jj_2_6(int xla)
1830  {
1831    jj_la = xla;
1832    jj_lastpos = jj_scanpos = token;
1833    boolean retval = !jj_3_6();
1834    jj_save(5, xla);
1835    return retval;
1836  }
1837
1838  final private boolean jj_2_7(int xla)
1839  {
1840    jj_la = xla;
1841    jj_lastpos = jj_scanpos = token;
1842    boolean retval = !jj_3_7();
1843    jj_save(6, xla);
1844    return retval;
1845  }
1846
1847  final private boolean jj_2_8(int xla)
1848  {
1849    jj_la = xla;
1850    jj_lastpos = jj_scanpos = token;
1851    boolean retval = !jj_3_8();
1852    jj_save(7, xla);
1853    return retval;
1854  }
1855
1856  final private boolean jj_2_9(int xla)
1857  {
1858    jj_la = xla;
1859    jj_lastpos = jj_scanpos = token;
1860    boolean retval = !jj_3_9();
1861    jj_save(8, xla);
1862    return retval;
1863  }
1864
1865  final private boolean jj_2_10(int xla)
1866  {
1867    jj_la = xla;
1868    jj_lastpos = jj_scanpos = token;
1869    boolean retval = !jj_3_10();
1870    jj_save(9, xla);
1871    return retval;
1872  }
1873
1874  final private boolean jj_2_11(int xla)
1875  {
1876    jj_la = xla;
1877    jj_lastpos = jj_scanpos = token;
1878    boolean retval = !jj_3_11();
1879    jj_save(10, xla);
1880    return retval;
1881  }
1882
1883  final private boolean jj_2_12(int xla)
1884  {
1885    jj_la = xla;
1886    jj_lastpos = jj_scanpos = token;
1887    boolean retval = !jj_3_12();
1888    jj_save(11, xla);
1889    return retval;
1890  }
1891
1892  final private boolean jj_2_13(int xla)
1893  {
1894    jj_la = xla;
1895    jj_lastpos = jj_scanpos = token;
1896    boolean retval = !jj_3_13();
1897    jj_save(12, xla);
1898    return retval;
1899  }
1900
1901  final private boolean jj_2_14(int xla)
1902  {
1903    jj_la = xla;
1904    jj_lastpos = jj_scanpos = token;
1905    boolean retval = !jj_3_14();
1906    jj_save(13, xla);
1907    return retval;
1908  }
1909
1910  final private boolean jj_2_15(int xla)
1911  {
1912    jj_la = xla;
1913    jj_lastpos = jj_scanpos = token;
1914    boolean retval = !jj_3_15();
1915    jj_save(14, xla);
1916    return retval;
1917  }
1918
1919  final private boolean jj_2_16(int xla)
1920  {
1921    jj_la = xla;
1922    jj_lastpos = jj_scanpos = token;
1923    boolean retval = !jj_3_16();
1924    jj_save(15, xla);
1925    return retval;
1926  }
1927
1928  final private boolean jj_2_17(int xla)
1929  {
1930    jj_la = xla;
1931    jj_lastpos = jj_scanpos = token;
1932    boolean retval = !jj_3_17();
1933    jj_save(16, xla);
1934    return retval;
1935  }
1936
1937  final private boolean jj_2_18(int xla)
1938  {
1939    jj_la = xla;
1940    jj_lastpos = jj_scanpos = token;
1941    boolean retval = !jj_3_18();
1942    jj_save(17, xla);
1943    return retval;
1944  }
1945
1946  final private boolean jj_2_19(int xla)
1947  {
1948    jj_la = xla;
1949    jj_lastpos = jj_scanpos = token;
1950    boolean retval = !jj_3_19();
1951    jj_save(18, xla);
1952    return retval;
1953  }
1954
1955  final private boolean jj_2_20(int xla)
1956  {
1957    jj_la = xla;
1958    jj_lastpos = jj_scanpos = token;
1959    boolean retval = !jj_3_20();
1960    jj_save(19, xla);
1961    return retval;
1962  }
1963
1964  final private boolean jj_2_21(int xla)
1965  {
1966    jj_la = xla;
1967    jj_lastpos = jj_scanpos = token;
1968    boolean retval = !jj_3_21();
1969    jj_save(20, xla);
1970    return retval;
1971  }
1972
1973  final private boolean jj_2_22(int xla)
1974  {
1975    jj_la = xla;
1976    jj_lastpos = jj_scanpos = token;
1977    boolean retval = !jj_3_22();
1978    jj_save(21, xla);
1979    return retval;
1980  }
1981
1982  final private boolean jj_2_23(int xla)
1983  {
1984    jj_la = xla;
1985    jj_lastpos = jj_scanpos = token;
1986    boolean retval = !jj_3_23();
1987    jj_save(22, xla);
1988    return retval;
1989  }
1990
1991  final private boolean jj_2_24(int xla)
1992  {
1993    jj_la = xla;
1994    jj_lastpos = jj_scanpos = token;
1995    boolean retval = !jj_3_24();
1996    jj_save(23, xla);
1997    return retval;
1998  }
1999
2000  final private boolean jj_3R_47()
2001  {
2002    if (jj_scan_token(NOT)) return true;
2003    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2004    return false;
2005  }
2006
2007  final private boolean jj_3_10()
2008  {
2009    if (jj_scan_token(72)) return true;
2010    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2011    if (jj_3R_27()) return true;
2012    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2013    return false;
2014  }
2015
2016  final private boolean jj_3R_18()
2017  {
2018    Token xsp;
2019    xsp = jj_scanpos;
2020    if (jj_3R_47()) jj_scanpos = xsp;
2021    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2022    if (jj_3R_48()) return true;
2023    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2024    return false;
2025  }
2026
2027  final private boolean jj_3R_109()
2028  {
2029    if (jj_3R_27()) return true;
2030    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2031    Token xsp;
2032    while (true)
2033    {
2034      xsp = jj_scanpos;
2035      if (jj_3_10())
2036      {
2037        jj_scanpos = xsp;
2038        break;
2039      }
2040      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2041    }
2042    return false;
2043  }
2044
2045  final private boolean jj_3R_92()
2046  {
2047    if (jj_scan_token(72)) return true;
2048    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2049    if (jj_3R_91()) return true;
2050    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2051    return false;
2052  }
2053
2054  final private boolean jj_3R_116()
2055  {
2056    if (jj_3R_121()) return true;
2057    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2058    return false;
2059  }
2060
2061  final private boolean jj_3_1()
2062  {
2063    if (jj_scan_token(AND)) return true;
2064    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2065    if (jj_3R_18()) return true;
2066    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2067    return false;
2068  }
2069
2070  final private boolean jj_3R_64()
2071  {
2072    if (jj_scan_token(INTEGER_LITERAL)) return true;
2073    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2074    return false;
2075  }
2076
2077  final private boolean jj_3R_106()
2078  {
2079    if (jj_scan_token(DISTINCT)) return true;
2080    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2081    return false;
2082  }
2083
2084  final private boolean jj_3R_105()
2085  {
2086    if (jj_scan_token(ALL)) return true;
2087    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2088    return false;
2089  }
2090
2091  final private boolean jj_3R_90()
2092  {
2093    Token xsp;
2094    xsp = jj_scanpos;
2095    if (jj_3R_105())
2096    {
2097      jj_scanpos = xsp;
2098      if (jj_3R_106()) return true;
2099      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2100    }
2101    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2102    return false;
2103  }
2104
2105  final private boolean jj_3R_63()
2106  {
2107    if (jj_3R_20()) return true;
2108    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2109    return false;
2110  }
2111
2112  final private boolean jj_3R_28()
2113  {
2114    if (jj_3R_18()) return true;
2115    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2116    Token xsp;
2117    while (true)
2118    {
2119      xsp = jj_scanpos;
2120      if (jj_3_1())
2121      {
2122        jj_scanpos = xsp;
2123        break;
2124      }
2125      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2126    }
2127    return false;
2128  }
2129
2130  final private boolean jj_3R_27()
2131  {
2132    Token xsp;
2133    xsp = jj_scanpos;
2134    if (jj_3R_63())
2135    {
2136      jj_scanpos = xsp;
2137      if (jj_3R_64()) return true;
2138      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2139    }
2140    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2141    xsp = jj_scanpos;
2142    if (jj_3R_116()) jj_scanpos = xsp;
2143    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2144    return false;
2145  }
2146
2147  final private boolean jj_3R_75()
2148  {
2149    Token xsp;
2150    while (true)
2151    {
2152      xsp = jj_scanpos;
2153      if (jj_3R_90())
2154      {
2155        jj_scanpos = xsp;
2156        break;
2157      }
2158      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2159    }
2160    if (jj_3R_91()) return true;
2161    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2162    while (true)
2163    {
2164      xsp = jj_scanpos;
2165      if (jj_3R_92())
2166      {
2167        jj_scanpos = xsp;
2168        break;
2169      }
2170      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2171    }
2172    return false;
2173  }
2174
2175  final private boolean jj_3R_110()
2176  {
2177    if (jj_scan_token(HAVING)) return true;
2178    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2179    if (jj_3R_24()) return true;
2180    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2181    if (jj_3R_113()) return true;
2182    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2183    return false;
2184  }
2185
2186  final private boolean jj_3R_107()
2187  {
2188    if (jj_3R_112()) return true;
2189    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2190    return false;
2191  }
2192
2193  final private boolean jj_3_23()
2194  {
2195    if (jj_3R_45()) return true;
2196    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2197    if (jj_scan_token(EQUAL)) return true;
2198    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2199    return false;
2200  }
2201
2202  final private boolean jj_3R_31()
2203  {
2204    if (jj_scan_token(GROUP)) return true;
2205    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2206    if (jj_scan_token(BY)) return true;
2207    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2208    if (jj_3R_109()) return true;
2209    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2210    Token xsp;
2211    xsp = jj_scanpos;
2212    if (jj_3R_110()) jj_scanpos = xsp;
2213    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2214    return false;
2215  }
2216
2217  final private boolean jj_3_17()
2218  {
2219    if (jj_scan_token(ID)) return true;
2220    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2221    if (jj_scan_token(74)) return true;
2222    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2223    return false;
2224  }
2225
2226  final private boolean jj_3R_32()
2227  {
2228    if (jj_scan_token(ORDER)) return true;
2229    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2230    if (jj_scan_token(BY)) return true;
2231    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2232    if (jj_3R_109()) return true;
2233    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2234    return false;
2235  }
2236
2237  final private boolean jj_3_16()
2238  {
2239    if (jj_scan_token(ASTERISK)) return true;
2240    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2241    return false;
2242  }
2243
2244  final private boolean jj_3R_91()
2245  {
2246    Token xsp;
2247    xsp = jj_scanpos;
2248    if (jj_3_16())
2249    {
2250      jj_scanpos = xsp;
2251      if (jj_3_17())
2252      {
2253        jj_scanpos = xsp;
2254        if (jj_3R_107()) return true;
2255        if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2256      }
2257      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2258    }
2259    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2260    return false;
2261  }
2262
2263  final private boolean jj_3R_114()
2264  {
2265    if (jj_scan_token(72)) return true;
2266    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2267    if (jj_3R_24()) return true;
2268    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2269    return false;
2270  }
2271
2272  final private boolean jj_3R_111()
2273  {
2274    if (jj_3R_24()) return true;
2275    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2276    Token xsp;
2277    while (true)
2278    {
2279      xsp = jj_scanpos;
2280      if (jj_3R_114())
2281      {
2282        jj_scanpos = xsp;
2283        break;
2284      }
2285      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2286    }
2287    return false;
2288  }
2289
2290  final private boolean jj_3R_66()
2291  {
2292    if (jj_scan_token(OPENPAREN)) return true;
2293    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2294    Token xsp;
2295    xsp = jj_scanpos;
2296    if (jj_3R_111()) jj_scanpos = xsp;
2297    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2298    if (jj_scan_token(CLOSEPAREN)) return true;
2299    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2300    return false;
2301  }
2302
2303  final private boolean jj_3R_95()
2304  {
2305    if (jj_scan_token(DOT)) return true;
2306    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2307    if (jj_scan_token(ID)) return true;
2308    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2309    return false;
2310  }
2311
2312  final private boolean jj_3R_78()
2313  {
2314    if (jj_scan_token(73)) return true;
2315    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2316    if (jj_scan_token(ID)) return true;
2317    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2318    Token xsp;
2319    while (true)
2320    {
2321      xsp = jj_scanpos;
2322      if (jj_3R_95())
2323      {
2324        jj_scanpos = xsp;
2325        break;
2326      }
2327      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2328    }
2329    return false;
2330  }
2331
2332  final private boolean jj_3R_99()
2333  {
2334    if (jj_scan_token(MINUS)) return true;
2335    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2336    return false;
2337  }
2338
2339  final private boolean jj_3R_98()
2340  {
2341    if (jj_scan_token(PLUS)) return true;
2342    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2343    return false;
2344  }
2345
2346  final private boolean jj_3R_85()
2347  {
2348    Token xsp;
2349    xsp = jj_scanpos;
2350    if (jj_3R_98())
2351    {
2352      jj_scanpos = xsp;
2353      if (jj_3R_99()) return true;
2354      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2355    }
2356    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2357    return false;
2358  }
2359
2360  final private boolean jj_3R_65()
2361  {
2362    Token xsp;
2363    xsp = jj_scanpos;
2364    if (jj_3R_85()) jj_scanpos = xsp;
2365    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2366    if (jj_3R_46()) return true;
2367    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2368    return false;
2369  }
2370
2371  final private boolean jj_3R_26()
2372  {
2373    if (jj_3R_62()) return true;
2374    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2375    return false;
2376  }
2377
2378  final private boolean jj_3R_44()
2379  {
2380    if (jj_scan_token(ID)) return true;
2381    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2382    if (jj_3R_66()) return true;
2383    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2384    return false;
2385  }
2386
2387  final private boolean jj_3R_70()
2388  {
2389    if (jj_3R_87()) return true;
2390    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2391    return false;
2392  }
2393
2394  final private boolean jj_3R_69()
2395  {
2396    if (jj_3R_20()) return true;
2397    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2398    return false;
2399  }
2400
2401  final private boolean jj_3_22()
2402  {
2403    if (jj_3R_44()) return true;
2404    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2405    return false;
2406  }
2407
2408  final private boolean jj_3R_67()
2409  {
2410    if (jj_scan_token(DOT)) return true;
2411    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2412    if (jj_scan_token(ID)) return true;
2413    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2414    return false;
2415  }
2416
2417  final private boolean jj_3R_94()
2418  {
2419    if (jj_scan_token(NOWAIT)) return true;
2420    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2421    return false;
2422  }
2423
2424  final private boolean jj_3R_68()
2425  {
2426    if (jj_scan_token(OPENPAREN)) return true;
2427    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2428    if (jj_3R_86()) return true;
2429    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2430    if (jj_scan_token(CLOSEPAREN)) return true;
2431    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2432    return false;
2433  }
2434
2435  final private boolean jj_3_15()
2436  {
2437    if (jj_scan_token(FOR)) return true;
2438    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2439    if (jj_scan_token(UPDATE)) return true;
2440    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2441    Token xsp;
2442    xsp = jj_scanpos;
2443    if (jj_3R_94()) jj_scanpos = xsp;
2444    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2445    return false;
2446  }
2447
2448  final private boolean jj_3_14()
2449  {
2450    if (jj_3R_32()) return true;
2451    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2452    return false;
2453  }
2454
2455  final private boolean jj_3R_45()
2456  {
2457    if (jj_scan_token(ID)) return true;
2458    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2459    Token xsp;
2460    xsp = jj_scanpos;
2461    if (jj_3R_67()) jj_scanpos = xsp;
2462    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2463    return false;
2464  }
2465
2466  final private boolean jj_3_13()
2467  {
2468    if (jj_3R_31()) return true;
2469    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2470    return false;
2471  }
2472
2473  final private boolean jj_3R_46()
2474  {
2475    Token xsp;
2476    xsp = jj_scanpos;
2477    if (jj_3R_68())
2478    {
2479      jj_scanpos = xsp;
2480      if (jj_3_22())
2481      {
2482        jj_scanpos = xsp;
2483        if (jj_3R_69())
2484        {
2485          jj_scanpos = xsp;
2486          if (jj_3R_70()) return true;
2487          if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2488        }
2489        else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2490      }
2491      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2492    }
2493    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2494    return false;
2495  }
2496
2497  final private boolean jj_3R_89()
2498  {
2499    if (jj_scan_token(EXISTS)) return true;
2500    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2501    if (jj_scan_token(OPENPAREN)) return true;
2502    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2503    if (jj_3R_19()) return true;
2504    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2505    if (jj_scan_token(CLOSEPAREN)) return true;
2506    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2507    return false;
2508  }
2509
2510  final private boolean jj_3R_104()
2511  {
2512    if (jj_scan_token(NULL)) return true;
2513    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2514    return false;
2515  }
2516
2517  final private boolean jj_3R_103()
2518  {
2519    if (jj_scan_token(ASTERISK)) return true;
2520    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2521    return false;
2522  }
2523
2524  final private boolean jj_3R_102()
2525  {
2526    if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
2527    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2528    return false;
2529  }
2530
2531  final private boolean jj_3R_101()
2532  {
2533    if (jj_scan_token(INTEGER_LITERAL)) return true;
2534    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2535    return false;
2536  }
2537
2538  final private boolean jj_3R_77()
2539  {
2540    if (jj_3R_93()) return true;
2541    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2542    return false;
2543  }
2544
2545  final private boolean jj_3R_100()
2546  {
2547    if (jj_scan_token(STRING_LITERAL)) return true;
2548    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2549    return false;
2550  }
2551
2552  final private boolean jj_3R_87()
2553  {
2554    Token xsp;
2555    xsp = jj_scanpos;
2556    if (jj_3R_100())
2557    {
2558      jj_scanpos = xsp;
2559      if (jj_3R_101())
2560      {
2561        jj_scanpos = xsp;
2562        if (jj_3R_102())
2563        {
2564          jj_scanpos = xsp;
2565          if (jj_3R_103())
2566          {
2567            jj_scanpos = xsp;
2568            if (jj_3R_104()) return true;
2569            if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2570          }
2571          else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2572        }
2573        else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2574      }
2575      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2576    }
2577    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2578    return false;
2579  }
2580
2581  final private boolean jj_3R_108()
2582  {
2583    if (jj_scan_token(ID)) return true;
2584    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2585    return false;
2586  }
2587
2588  final private boolean jj_3R_43()
2589  {
2590    if (jj_scan_token(ID)) return true;
2591    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2592    Token xsp;
2593    xsp = jj_scanpos;
2594    if (jj_3R_108()) jj_scanpos = xsp;
2595    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2596    return false;
2597  }
2598
2599  final private boolean jj_3R_51()
2600  {
2601    if (jj_scan_token(NOT)) return true;
2602    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2603    return false;
2604  }
2605
2606  final private boolean jj_3R_21()
2607  {
2608    Token xsp;
2609    xsp = jj_scanpos;
2610    if (jj_3R_51()) jj_scanpos = xsp;
2611    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2612    if (jj_scan_token(LIKE)) return true;
2613    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2614    if (jj_3R_52()) return true;
2615    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2616    return false;
2617  }
2618
2619  final private boolean jj_3R_30()
2620  {
2621    if (jj_scan_token(SELECT)) return true;
2622    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2623    if (jj_3R_75()) return true;
2624    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2625    if (jj_scan_token(FROM)) return true;
2626    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2627    if (jj_3R_76()) return true;
2628    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2629    Token xsp;
2630    xsp = jj_scanpos;
2631    if (jj_3R_77()) jj_scanpos = xsp;
2632    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2633    xsp = jj_scanpos;
2634    if (jj_3_13()) jj_scanpos = xsp;
2635    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2636    xsp = jj_scanpos;
2637    if (jj_3_14()) jj_scanpos = xsp;
2638    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2639    xsp = jj_scanpos;
2640    if (jj_3_15()) jj_scanpos = xsp;
2641    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2642    return false;
2643  }
2644
2645  final private boolean jj_3R_42()
2646  {
2647    if (jj_scan_token(CONCAT)) return true;
2648    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2649    return false;
2650  }
2651
2652  final private boolean jj_3R_41()
2653  {
2654    if (jj_scan_token(MINUS)) return true;
2655    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2656    return false;
2657  }
2658
2659  final private boolean jj_3R_40()
2660  {
2661    if (jj_scan_token(PLUS)) return true;
2662    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2663    return false;
2664  }
2665
2666  final private boolean jj_3_21()
2667  {
2668    if (jj_scan_token(72)) return true;
2669    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2670    if (jj_3R_43()) return true;
2671    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2672    return false;
2673  }
2674
2675  final private boolean jj_3R_122()
2676  {
2677    if (jj_scan_token(JOINPLUS)) return true;
2678    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2679    if (jj_3R_23()) return true;
2680    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2681    if (jj_3R_24()) return true;
2682    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2683    return false;
2684  }
2685
2686  final private boolean jj_3R_29()
2687  {
2688    if (jj_scan_token(ALL)) return true;
2689    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2690    return false;
2691  }
2692
2693  final private boolean jj_3R_76()
2694  {
2695    if (jj_3R_43()) return true;
2696    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2697    Token xsp;
2698    while (true)
2699    {
2700      xsp = jj_scanpos;
2701      if (jj_3_21())
2702      {
2703        jj_scanpos = xsp;
2704        break;
2705      }
2706      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2707    }
2708    return false;
2709  }
2710
2711  final private boolean jj_3R_50()
2712  {
2713    if (jj_3R_78()) return true;
2714    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2715    return false;
2716  }
2717
2718  final private boolean jj_3_12()
2719  {
2720    if (jj_scan_token(UNION)) return true;
2721    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2722    Token xsp;
2723    xsp = jj_scanpos;
2724    if (jj_3R_29()) jj_scanpos = xsp;
2725    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2726    if (jj_3R_30()) return true;
2727    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2728    return false;
2729  }
2730
2731  final private boolean jj_3R_128()
2732  {
2733    if (jj_scan_token(NOT)) return true;
2734    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2735    return false;
2736  }
2737
2738  final private boolean jj_3R_49()
2739  {
2740    if (jj_3R_45()) return true;
2741    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2742    return false;
2743  }
2744
2745  final private boolean jj_3R_39()
2746  {
2747    if (jj_scan_token(CONCAT)) return true;
2748    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2749    return false;
2750  }
2751
2752  final private boolean jj_3_20()
2753  {
2754    Token xsp;
2755    xsp = jj_scanpos;
2756    if (jj_3R_40())
2757    {
2758      jj_scanpos = xsp;
2759      if (jj_3R_41())
2760      {
2761        jj_scanpos = xsp;
2762        if (jj_3R_42()) return true;
2763        if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2764      }
2765      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2766    }
2767    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2768    if (jj_3R_36()) return true;
2769    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2770    return false;
2771  }
2772
2773  final private boolean jj_3R_38()
2774  {
2775    if (jj_scan_token(MINUS)) return true;
2776    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2777    return false;
2778  }
2779
2780  final private boolean jj_3R_20()
2781  {
2782    Token xsp;
2783    xsp = jj_scanpos;
2784    if (jj_3R_49())
2785    {
2786      jj_scanpos = xsp;
2787      if (jj_3R_50()) return true;
2788      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2789    }
2790    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2791    return false;
2792  }
2793
2794  final private boolean jj_3R_37()
2795  {
2796    if (jj_scan_token(PLUS)) return true;
2797    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2798    return false;
2799  }
2800
2801  final private boolean jj_3R_88()
2802  {
2803    if (jj_3R_20()) return true;
2804    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2805    if (jj_scan_token(IS)) return true;
2806    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2807    Token xsp;
2808    xsp = jj_scanpos;
2809    if (jj_3R_128()) jj_scanpos = xsp;
2810    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2811    if (jj_scan_token(NULL)) return true;
2812    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2813    return false;
2814  }
2815
2816  final private boolean jj_3R_19()
2817  {
2818    if (jj_3R_30()) return true;
2819    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2820    Token xsp;
2821    while (true)
2822    {
2823      xsp = jj_scanpos;
2824      if (jj_3_12())
2825      {
2826        jj_scanpos = xsp;
2827        break;
2828      }
2829      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2830    }
2831    return false;
2832  }
2833
2834  final private boolean jj_3R_24()
2835  {
2836    if (jj_3R_36()) return true;
2837    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2838    Token xsp;
2839    while (true)
2840    {
2841      xsp = jj_scanpos;
2842      if (jj_3_20())
2843      {
2844        jj_scanpos = xsp;
2845        break;
2846      }
2847      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2848    }
2849    return false;
2850  }
2851
2852  final private boolean jj_3R_61()
2853  {
2854    if (jj_scan_token(NOT)) return true;
2855    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2856    return false;
2857  }
2858
2859  final private boolean jj_3R_25()
2860  {
2861    Token xsp;
2862    xsp = jj_scanpos;
2863    if (jj_3R_61()) jj_scanpos = xsp;
2864    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2865    if (jj_scan_token(BETWEEN)) return true;
2866    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2867    if (jj_3R_24()) return true;
2868    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2869    if (jj_scan_token(AND)) return true;
2870    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2871    if (jj_3R_24()) return true;
2872    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2873    return false;
2874  }
2875
2876  final private boolean jj_3R_124()
2877  {
2878    if (jj_3R_113()) return true;
2879    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2880    return false;
2881  }
2882
2883  final private boolean jj_3R_123()
2884  {
2885    if (jj_3R_23()) return true;
2886    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2887    if (jj_3R_24()) return true;
2888    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2889    if (jj_scan_token(JOINPLUS)) return true;
2890    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2891    return false;
2892  }
2893
2894  final private boolean jj_3_19()
2895  {
2896    Token xsp;
2897    xsp = jj_scanpos;
2898    if (jj_3R_37())
2899    {
2900      jj_scanpos = xsp;
2901      if (jj_3R_38())
2902      {
2903        jj_scanpos = xsp;
2904        if (jj_3R_39()) return true;
2905        if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2906      }
2907      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2908    }
2909    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2910    if (jj_3R_36()) return true;
2911    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2912    return false;
2913  }
2914
2915  final private boolean jj_3R_60()
2916  {
2917    if (jj_scan_token(LESSEQUAL)) return true;
2918    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2919    return false;
2920  }
2921
2922  final private boolean jj_3R_59()
2923  {
2924    if (jj_scan_token(LESS)) return true;
2925    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2926    return false;
2927  }
2928
2929  final private boolean jj_3R_84()
2930  {
2931    if (jj_3R_36()) return true;
2932    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2933    return false;
2934  }
2935
2936  final private boolean jj_3R_58()
2937  {
2938    if (jj_scan_token(GREATEREQUAL)) return true;
2939    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2940    return false;
2941  }
2942
2943  final private boolean jj_3R_97()
2944  {
2945    if (jj_scan_token(SLASH)) return true;
2946    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2947    return false;
2948  }
2949
2950  final private boolean jj_3R_57()
2951  {
2952    if (jj_scan_token(GREATER)) return true;
2953    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2954    return false;
2955  }
2956
2957  final private boolean jj_3R_96()
2958  {
2959    if (jj_scan_token(ASTERISK)) return true;
2960    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2961    return false;
2962  }
2963
2964  final private boolean jj_3R_56()
2965  {
2966    if (jj_scan_token(NOTEQUAL2)) return true;
2967    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2968    return false;
2969  }
2970
2971  final private boolean jj_3R_55()
2972  {
2973    if (jj_scan_token(NOTEQUAL)) return true;
2974    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2975    return false;
2976  }
2977
2978  final private boolean jj_3R_83()
2979  {
2980    Token xsp;
2981    xsp = jj_scanpos;
2982    if (jj_3R_96())
2983    {
2984      jj_scanpos = xsp;
2985      if (jj_3R_97()) return true;
2986      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2987    }
2988    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2989    if (jj_3R_65()) return true;
2990    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2991    return false;
2992  }
2993
2994  final private boolean jj_3R_54()
2995  {
2996    if (jj_scan_token(EQUAL)) return true;
2997    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2998    return false;
2999  }
3000
3001  final private boolean jj_3_7()
3002  {
3003    if (jj_3R_23()) return true;
3004    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3005    if (jj_3R_24()) return true;
3006    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3007    if (jj_scan_token(71)) return true;
3008    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3009    return false;
3010  }
3011
3012  final private boolean jj_3R_23()
3013  {
3014    Token xsp;
3015    xsp = jj_scanpos;
3016    if (jj_3R_54())
3017    {
3018      jj_scanpos = xsp;
3019      if (jj_3R_55())
3020      {
3021        jj_scanpos = xsp;
3022        if (jj_3R_56())
3023        {
3024          jj_scanpos = xsp;
3025          if (jj_3R_57())
3026          {
3027            jj_scanpos = xsp;
3028            if (jj_3R_58())
3029            {
3030              jj_scanpos = xsp;
3031              if (jj_3R_59())
3032              {
3033                jj_scanpos = xsp;
3034                if (jj_3R_60()) return true;
3035                if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3036              }
3037              else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3038            }
3039            else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3040          }
3041          else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3042        }
3043        else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3044      }
3045      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3046    }
3047    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3048    return false;
3049  }
3050
3051  final private boolean jj_3R_36()
3052  {
3053    if (jj_3R_65()) return true;
3054    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3055    Token xsp;
3056    while (true)
3057    {
3058      xsp = jj_scanpos;
3059      if (jj_3R_83())
3060      {
3061        jj_scanpos = xsp;
3062        break;
3063      }
3064      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3065    }
3066    return false;
3067  }
3068
3069  final private boolean jj_3R_82()
3070  {
3071    if (jj_3R_45()) return true;
3072    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3073    return false;
3074  }
3075
3076  final private boolean jj_3_9()
3077  {
3078    if (jj_scan_token(OPENPAREN)) return true;
3079    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3080    if (jj_3R_26()) return true;
3081    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3082    return false;
3083  }
3084
3085  final private boolean jj_3R_119()
3086  {
3087    if (jj_3R_23()) return true;
3088    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3089    if (jj_3R_24()) return true;
3090    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3091    return false;
3092  }
3093
3094  final private boolean jj_3R_93()
3095  {
3096    if (jj_scan_token(WHERE)) return true;
3097    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3098    if (jj_3R_86()) return true;
3099    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3100    return false;
3101  }
3102
3103  final private boolean jj_3R_81()
3104  {
3105    if (jj_3R_78()) return true;
3106    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3107    return false;
3108  }
3109
3110  final private boolean jj_3R_80()
3111  {
3112    if (jj_scan_token(QUESTIONMARK)) return true;
3113    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3114    return false;
3115  }
3116
3117  final private boolean jj_3_8()
3118  {
3119    if (jj_3R_25()) return true;
3120    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3121    return false;
3122  }
3123
3124  final private boolean jj_3R_118()
3125  {
3126    if (jj_3R_123()) return true;
3127    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3128    return false;
3129  }
3130
3131  final private boolean jj_3R_79()
3132  {
3133    if (jj_scan_token(STRING_LITERAL)) return true;
3134    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3135    return false;
3136  }
3137
3138  final private boolean jj_3R_117()
3139  {
3140    if (jj_3R_122()) return true;
3141    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3142    return false;
3143  }
3144
3145  final private boolean jj_3_6()
3146  {
3147    if (jj_3R_22()) return true;
3148    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3149    return false;
3150  }
3151
3152  final private boolean jj_3_4()
3153  {
3154    if (jj_scan_token(EXISTS)) return true;
3155    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3156    return false;
3157  }
3158
3159  final private boolean jj_3R_52()
3160  {
3161    Token xsp;
3162    xsp = jj_scanpos;
3163    if (jj_3R_79())
3164    {
3165      jj_scanpos = xsp;
3166      if (jj_3R_80())
3167      {
3168        jj_scanpos = xsp;
3169        if (jj_3R_81())
3170        {
3171          jj_scanpos = xsp;
3172          if (jj_3R_82()) return true;
3173          if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3174        }
3175        else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3176      }
3177      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3178    }
3179    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3180    return false;
3181  }
3182
3183  final private boolean jj_3R_35()
3184  {
3185    if (jj_scan_token(CONCAT)) return true;
3186    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3187    return false;
3188  }
3189
3190  final private boolean jj_3R_62()
3191  {
3192    if (jj_3R_84()) return true;
3193    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3194    return false;
3195  }
3196
3197  final private boolean jj_3_5()
3198  {
3199    if (jj_3R_21()) return true;
3200    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3201    return false;
3202  }
3203
3204  final private boolean jj_3_3()
3205  {
3206    if (jj_3R_20()) return true;
3207    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3208    if (jj_scan_token(IS)) return true;
3209    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3210    return false;
3211  }
3212
3213  final private boolean jj_3R_34()
3214  {
3215    if (jj_scan_token(MINUS)) return true;
3216    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3217    return false;
3218  }
3219
3220  final private boolean jj_3_2()
3221  {
3222    if (jj_3R_19()) return true;
3223    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3224    return false;
3225  }
3226
3227  final private boolean jj_3R_33()
3228  {
3229    if (jj_scan_token(PLUS)) return true;
3230    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3231    return false;
3232  }
3233
3234  final private boolean jj_3R_113()
3235  {
3236    Token xsp;
3237    xsp = jj_scanpos;
3238    if (jj_3_5())
3239    {
3240      jj_scanpos = xsp;
3241      if (jj_3_6())
3242      {
3243        jj_scanpos = xsp;
3244        if (jj_3R_117())
3245        {
3246          jj_scanpos = xsp;
3247          if (jj_3R_118())
3248          {
3249            jj_scanpos = xsp;
3250            if (jj_3_8())
3251            {
3252              jj_scanpos = xsp;
3253              if (jj_3R_119()) return true;
3254              if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3255            }
3256            else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3257          }
3258          else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3259        }
3260        else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3261      }
3262      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3263    }
3264    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3265    return false;
3266  }
3267
3268  final private boolean jj_3R_130()
3269  {
3270    if (jj_scan_token(72)) return true;
3271    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3272    if (jj_3R_129()) return true;
3273    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3274    return false;
3275  }
3276
3277  final private boolean jj_3R_74()
3278  {
3279    if (jj_3R_24()) return true;
3280    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3281    Token xsp;
3282    xsp = jj_scanpos;
3283    if (jj_3R_124()) jj_scanpos = xsp;
3284    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3285    return false;
3286  }
3287
3288  final private boolean jj_3R_127()
3289  {
3290    if (jj_3R_129()) return true;
3291    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3292    Token xsp;
3293    while (true)
3294    {
3295      xsp = jj_scanpos;
3296      if (jj_3R_130())
3297      {
3298        jj_scanpos = xsp;
3299        break;
3300      }
3301      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3302    }
3303    return false;
3304  }
3305
3306  final private boolean jj_3R_73()
3307  {
3308    if (jj_3R_89()) return true;
3309    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3310    return false;
3311  }
3312
3313  final private boolean jj_3_11()
3314  {
3315    if (jj_scan_token(OR)) return true;
3316    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3317    if (jj_3R_28()) return true;
3318    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3319    return false;
3320  }
3321
3322  final private boolean jj_3R_72()
3323  {
3324    if (jj_3R_88()) return true;
3325    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3326    return false;
3327  }
3328
3329  final private boolean jj_3R_71()
3330  {
3331    if (jj_3R_19()) return true;
3332    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3333    return false;
3334  }
3335
3336  final private boolean jj_3R_86()
3337  {
3338    if (jj_3R_28()) return true;
3339    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3340    Token xsp;
3341    while (true)
3342    {
3343      xsp = jj_scanpos;
3344      if (jj_3_11())
3345      {
3346        jj_scanpos = xsp;
3347        break;
3348      }
3349      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3350    }
3351    return false;
3352  }
3353
3354  final private boolean jj_3R_120()
3355  {
3356    if (jj_scan_token(AS)) return true;
3357    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3358    return false;
3359  }
3360
3361  final private boolean jj_3R_132()
3362  {
3363    if (jj_3R_19()) return true;
3364    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3365    return false;
3366  }
3367
3368  final private boolean jj_3R_115()
3369  {
3370    Token xsp;
3371    xsp = jj_scanpos;
3372    if (jj_3R_120()) jj_scanpos = xsp;
3373    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3374    if (jj_scan_token(ID)) return true;
3375    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3376    return false;
3377  }
3378
3379  final private boolean jj_3R_48()
3380  {
3381    Token xsp;
3382    xsp = jj_scanpos;
3383    if (jj_3R_71())
3384    {
3385      jj_scanpos = xsp;
3386      if (jj_3R_72())
3387      {
3388        jj_scanpos = xsp;
3389        if (jj_3R_73())
3390        {
3391          jj_scanpos = xsp;
3392          if (jj_3R_74()) return true;
3393          if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3394        }
3395        else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3396      }
3397      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3398    }
3399    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3400    return false;
3401  }
3402
3403  final private boolean jj_3R_131()
3404  {
3405    if (jj_3R_24()) return true;
3406    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3407    return false;
3408  }
3409
3410  final private boolean jj_3_18()
3411  {
3412    Token xsp;
3413    xsp = jj_scanpos;
3414    if (jj_3R_33())
3415    {
3416      jj_scanpos = xsp;
3417      if (jj_3R_34())
3418      {
3419        jj_scanpos = xsp;
3420        if (jj_3R_35()) return true;
3421        if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3422      }
3423      else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3424    }
3425    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3426    if (jj_3R_36()) return true;
3427    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3428    return false;
3429  }
3430
3431  final private boolean jj_3_24()
3432  {
3433    if (jj_3R_46()) return true;
3434    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3435    if (jj_scan_token(CONCAT)) return true;
3436    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3437    return false;
3438  }
3439
3440  final private boolean jj_3R_129()
3441  {
3442    Token xsp;
3443    xsp = jj_scanpos;
3444    if (jj_3R_131())
3445    {
3446      jj_scanpos = xsp;
3447      if (jj_3R_132()) return true;
3448      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3449    }
3450    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3451    return false;
3452  }
3453
3454  final private boolean jj_3R_126()
3455  {
3456    if (jj_scan_token(DESC)) return true;
3457    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3458    return false;
3459  }
3460
3461  final private boolean jj_3R_125()
3462  {
3463    if (jj_scan_token(ASC)) return true;
3464    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3465    return false;
3466  }
3467
3468  final private boolean jj_3R_112()
3469  {
3470    if (jj_3R_36()) return true;
3471    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3472    Token xsp;
3473    while (true)
3474    {
3475      xsp = jj_scanpos;
3476      if (jj_3_18())
3477      {
3478        jj_scanpos = xsp;
3479        break;
3480      }
3481      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3482    }
3483    xsp = jj_scanpos;
3484    if (jj_3R_115()) jj_scanpos = xsp;
3485    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3486    return false;
3487  }
3488
3489  final private boolean jj_3R_53()
3490  {
3491    if (jj_scan_token(NOT)) return true;
3492    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3493    return false;
3494  }
3495
3496  final private boolean jj_3R_22()
3497  {
3498    Token xsp;
3499    xsp = jj_scanpos;
3500    if (jj_3R_53()) jj_scanpos = xsp;
3501    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3502    if (jj_scan_token(IN)) return true;
3503    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3504    if (jj_scan_token(OPENPAREN)) return true;
3505    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3506    if (jj_3R_127()) return true;
3507    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3508    if (jj_scan_token(CLOSEPAREN)) return true;
3509    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3510    return false;
3511  }
3512
3513  final private boolean jj_3R_121()
3514  {
3515    Token xsp;
3516    xsp = jj_scanpos;
3517    if (jj_3R_125())
3518    {
3519      jj_scanpos = xsp;
3520      if (jj_3R_126()) return true;
3521      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3522    }
3523    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
3524    return false;
3525  }
3526
3527  public SqlParserEngineTokenManager token_source;
3528  JavaCharStream jj_input_stream;
3529  public Token token, jj_nt;
3530  private int jj_ntk;
3531  private Token jj_scanpos, jj_lastpos;
3532  private int jj_la;
3533  public boolean lookingAhead = false;
3534  private boolean jj_semLA;
3535  private int jj_gen;
3536  final private int[] jj_la1 = new int[51];
3537  static private int[] jj_la1_0;
3538  static private int[] jj_la1_1;
3539  static private int[] jj_la1_2;
3540  static
3541  {
3542    jj_la1_0();
3543    jj_la1_1();
3544    jj_la1_2();
3545  }
3546
3547  private static void jj_la1_0()
3548  {
3549    jj_la1_0 = new int[]{0x2000000, 0x3402000, 0x4000000, 0x0, 0x0, 0x0, 0x2000000, 0x0, 0x0, 0x0, 0x4000000, 0x80000,
3550        0x2000000, 0x20000000, 0x2000000, 0x2000000, 0x4000000, 0x0, 0x0, 0x0, 0x8800, 0x8800, 0x0, 0x0, 0x0, 0x80,
3551        0x0, 0x200000, 0x4000000, 0x10080, 0x10080, 0x0, 0x0, 0x1000, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000000, 0x0,
3552        0x0, 0x0, 0x0, 0x0, 0x4000000, 0x24000000, 0x0, 0x20000300, 0x0,};
3553  }
3554
3555  private static void jj_la1_1()
3556  {
3557    jj_la1_1 = new int[]{0x0, 0xff000000, 0x36000, 0x80000000, 0x7f000000, 0x7f000000, 0x0, 0x20000, 0x4, 0x0, 0x36000,
3558        0x0, 0x0, 0x200, 0x0, 0x0, 0x16000, 0x400000, 0x400000, 0x22000, 0x0, 0x0, 0x30000, 0x0, 0x0, 0x0, 0x4, 0x0,
3559        0x36000, 0x0, 0x0, 0x0, 0x100000, 0x0, 0x20000, 0x0, 0x100000, 0x100000, 0x20000, 0x0, 0x36000, 0x0, 0x0, 0x0,
3560        0x4, 0x100000, 0x36000, 0x36000, 0x0, 0x128, 0x200000,};
3561  }
3562
3563  private static void jj_la1_2()
3564  {
3565    jj_la1_2 = new int[]{0x0, 0x0, 0x233, 0x0, 0x0, 0x0, 0x0, 0x200, 0x0, 0x100, 0x233, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
3566        0x0, 0x0, 0x200, 0x0, 0x0, 0x240, 0xa, 0xa, 0x0, 0x0, 0x0, 0x233, 0x0, 0x0, 0x100, 0x30, 0x0, 0x0, 0x100, 0x30,
3567        0x30, 0x0, 0x1, 0x202, 0x30, 0x30, 0x100, 0x0, 0x0, 0x233, 0x233, 0x100, 0x0, 0x0,};
3568  }
3569
3570  final private JJCalls[] jj_2_rtns = new JJCalls[24];
3571  private boolean jj_rescan = false;
3572  private int jj_gc = 0;
3573
3574  public SqlParserEngine(java.io.InputStream JavaDoc stream)
3575  {
3576    jj_input_stream = new JavaCharStream(stream, 1, 1);
3577    token_source = new SqlParserEngineTokenManager(jj_input_stream);
3578    token = new Token();
3579    jj_ntk = -1;
3580    jj_gen = 0;
3581    for (int i = 0; i < 51; i++)
3582      jj_la1[i] = -1;
3583    for (int i = 0; i < jj_2_rtns.length; i++)
3584      jj_2_rtns[i] = new JJCalls();
3585  }
3586
3587  public void ReInit(java.io.InputStream JavaDoc stream)
3588  {
3589    jj_input_stream.ReInit(stream, 1, 1);
3590    token_source.ReInit(jj_input_stream);
3591    token = new Token();
3592    jj_ntk = -1;
3593    jj_gen = 0;
3594    for (int i = 0; i < 51; i++)
3595      jj_la1[i] = -1;
3596    for (int i = 0; i < jj_2_rtns.length; i++)
3597      jj_2_rtns[i] = new JJCalls();
3598  }
3599
3600  public SqlParserEngine(java.io.Reader JavaDoc stream)
3601  {
3602    jj_input_stream = new JavaCharStream(stream, 1, 1);
3603    token_source = new SqlParserEngineTokenManager(jj_input_stream);
3604    token = new Token();
3605    jj_ntk = -1;
3606    jj_gen = 0;
3607    for (int i = 0; i < 51; i++)
3608      jj_la1[i] = -1;
3609    for (int i = 0; i < jj_2_rtns.length; i++)
3610      jj_2_rtns[i] = new JJCalls();
3611  }
3612
3613  public void ReInit(java.io.Reader JavaDoc stream)
3614  {
3615    jj_input_stream.ReInit(stream, 1, 1);
3616    token_source.ReInit(jj_input_stream);
3617    token = new Token();
3618    jj_ntk = -1;
3619    jj_gen = 0;
3620    for (int i = 0; i < 51; i++)
3621      jj_la1[i] = -1;
3622    for (int i = 0; i < jj_2_rtns.length; i++)
3623      jj_2_rtns[i] = new JJCalls();
3624  }
3625
3626  public SqlParserEngine(SqlParserEngineTokenManager tm)
3627  {
3628    token_source = tm;
3629    token = new Token();
3630    jj_ntk = -1;
3631    jj_gen = 0;
3632    for (int i = 0; i < 51; i++)
3633      jj_la1[i] = -1;
3634    for (int i = 0; i < jj_2_rtns.length; i++)
3635      jj_2_rtns[i] = new JJCalls();
3636  }
3637
3638  public void ReInit(SqlParserEngineTokenManager tm)
3639  {
3640    token_source = tm;
3641    token = new Token();
3642    jj_ntk = -1;
3643    jj_gen = 0;
3644    for (int i = 0; i < 51; i++)
3645      jj_la1[i] = -1;
3646    for (int i = 0; i < jj_2_rtns.length; i++)
3647      jj_2_rtns[i] = new JJCalls();
3648  }
3649
3650  final private Token jj_consume_token(int kind) throws ParseException
3651  {
3652    Token oldToken;
3653    if ((oldToken = token).next != null) token = token.next;
3654    else token = token.next = token_source.getNextToken();
3655    jj_ntk = -1;
3656    if (token.kind == kind)
3657    {
3658      jj_gen++;
3659      if (++jj_gc > 100)
3660      {
3661        jj_gc = 0;
3662        for (int i = 0; i < jj_2_rtns.length; i++)
3663        {
3664          JJCalls c = jj_2_rtns[i];
3665          while (c != null)
3666          {
3667            if (c.gen < jj_gen) c.first = null;
3668            c = c.next;
3669          }
3670        }
3671      }
3672      return token;
3673    }
3674    token = oldToken;
3675    jj_kind = kind;
3676    throw generateParseException();
3677  }
3678
3679  final private boolean jj_scan_token(int kind)
3680  {
3681    if (jj_scanpos == jj_lastpos)
3682    {
3683      jj_la--;
3684      if (jj_scanpos.next == null)
3685      {
3686        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
3687      }
3688      else
3689      {
3690        jj_lastpos = jj_scanpos = jj_scanpos.next;
3691      }
3692    }
3693    else
3694    {
3695      jj_scanpos = jj_scanpos.next;
3696    }
3697    if (jj_rescan)
3698    {
3699      int i = 0;
3700      Token tok = token;
3701      while (tok != null && tok != jj_scanpos)
3702      {
3703        i++;
3704        tok = tok.next;
3705      }
3706      if (tok != null) jj_add_error_token(kind, i);
3707    }
3708    return (jj_scanpos.kind != kind);
3709  }
3710
3711  final public Token getNextToken()
3712  {
3713    if (token.next != null) token = token.next;
3714    else token = token.next = token_source.getNextToken();
3715    jj_ntk = -1;
3716    jj_gen++;
3717    return token;
3718  }
3719
3720  final public Token getToken(int index)
3721  {
3722    Token t = lookingAhead ? jj_scanpos : token;
3723    for (int i = 0; i < index; i++)
3724    {
3725      if (t.next != null) t = t.next;
3726      else t = t.next = token_source.getNextToken();
3727    }
3728    return t;
3729  }
3730
3731  final private int jj_ntk()
3732  {
3733    if ((jj_nt = token.next) == null) return (jj_ntk = (token.next = token_source.getNextToken()).kind);
3734    else return (jj_ntk = jj_nt.kind);
3735  }
3736
3737  private java.util.Vector JavaDoc jj_expentries = new java.util.Vector JavaDoc();
3738  private int[] jj_expentry;
3739  private int jj_kind = -1;
3740  private int[] jj_lasttokens = new int[100];
3741  private int jj_endpos;
3742
3743  private void jj_add_error_token(int kind, int pos)
3744  {
3745    if (pos >= 100) return;
3746    if (pos == jj_endpos + 1)
3747    {
3748      jj_lasttokens[jj_endpos++] = kind;
3749    }
3750    else if (jj_endpos != 0)
3751    {
3752      jj_expentry = new int[jj_endpos];
3753      for (int i = 0; i < jj_endpos; i++)
3754      {
3755        jj_expentry[i] = jj_lasttokens[i];
3756      }
3757      boolean exists = false;
3758      for (java.util.Enumeration JavaDoc enum2 = jj_expentries.elements(); enum2.hasMoreElements();)
3759      {
3760        int[] oldentry = (int[]) (enum2.nextElement());
3761        if (oldentry.length == jj_expentry.length)
3762        {
3763          exists = true;
3764          for (int i = 0; i < jj_expentry.length; i++)
3765          {
3766            if (oldentry[i] != jj_expentry[i])
3767            {
3768              exists = false;
3769              break;
3770            }
3771          }
3772          if (exists) break;
3773        }
3774      }
3775      if (!exists) jj_expentries.addElement(jj_expentry);
3776      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
3777    }
3778  }
3779
3780  public ParseException generateParseException()
3781  {
3782    jj_expentries.removeAllElements();
3783    boolean[] la1tokens = new boolean[75];
3784    for (int i = 0; i < 75; i++)
3785    {
3786      la1tokens[i] = false;
3787    }
3788    if (jj_kind >= 0)
3789    {
3790      la1tokens[jj_kind] = true;
3791      jj_kind = -1;
3792    }
3793    for (int i = 0; i < 51; i++)
3794    {
3795      if (jj_la1[i] == jj_gen)
3796      {
3797        for (int j = 0; j < 32; j++)
3798        {
3799          if ((jj_la1_0[i] & (1 << j)) != 0)
3800          {
3801            la1tokens[j] = true;
3802          }
3803          if ((jj_la1_1[i] & (1 << j)) != 0)
3804          {
3805            la1tokens[32 + j] = true;
3806          }
3807          if ((jj_la1_2[i] & (1 << j)) != 0)
3808          {
3809            la1tokens[64 + j] = true;
3810          }
3811        }
3812      }
3813    }
3814    for (int i = 0; i < 75; i++)
3815    {
3816      if (la1tokens[i])
3817      {
3818        jj_expentry = new int[1];
3819        jj_expentry[0] = i;
3820        jj_expentries.addElement(jj_expentry);
3821      }
3822    }
3823    jj_endpos = 0;
3824    jj_rescan_token();
3825    jj_add_error_token(0, 0);
3826    int[][] exptokseq = new int[jj_expentries.size()][];
3827    for (int i = 0; i < jj_expentries.size(); i++)
3828    {
3829      exptokseq[i] = (int[]) jj_expentries.elementAt(i);
3830    }
3831    return new ParseException(token, exptokseq, tokenImage);
3832  }
3833
3834  final public void enable_tracing()
3835  {
3836  }
3837
3838  final public void disable_tracing()
3839  {
3840  }
3841
3842  final private void jj_rescan_token()
3843  {
3844    jj_rescan = true;
3845    for (int i = 0; i < 24; i++)
3846    {
3847      JJCalls p = jj_2_rtns[i];
3848      do
3849      {
3850        if (p.gen > jj_gen)
3851        {
3852          jj_la = p.arg;
3853          jj_lastpos = jj_scanpos = p.first;
3854          switch (i)
3855          {
3856            case 0 :
3857              jj_3_1();
3858              break;
3859            case 1 :
3860              jj_3_2();
3861              break;
3862            case 2 :
3863              jj_3_3();
3864              break;
3865            case 3 :
3866              jj_3_4();
3867              break;
3868            case 4 :
3869              jj_3_5();
3870              break;
3871            case 5 :
3872              jj_3_6();
3873              break;
3874            case 6 :
3875              jj_3_7();
3876              break;
3877            case 7 :
3878              jj_3_8();
3879              break;
3880            case 8 :
3881              jj_3_9();
3882              break;
3883            case 9 :
3884              jj_3_10();
3885              break;
3886            case 10 :
3887              jj_3_11();
3888              break;
3889            case 11 :
3890              jj_3_12();
3891              break;
3892            case 12 :
3893              jj_3_13();
3894              break;
3895            case 13 :
3896              jj_3_14();
3897              break;
3898            case 14 :
3899              jj_3_15();
3900              break;
3901            case 15 :
3902              jj_3_16();
3903              break;
3904            case 16 :
3905              jj_3_17();
3906              break;
3907            case 17 :
3908              jj_3_18();
3909              break;
3910            case 18 :
3911              jj_3_19();
3912              break;
3913            case 19 :
3914              jj_3_20();
3915              break;
3916            case 20 :
3917              jj_3_21();
3918              break;
3919            case 21 :
3920              jj_3_22();
3921              break;
3922            case 22 :
3923              jj_3_23();
3924              break;
3925            case 23 :
3926              jj_3_24();
3927              break;
3928          }
3929        }
3930        p = p.next;
3931      }
3932      while (p != null);
3933    }
3934    jj_rescan = false;
3935  }
3936
3937  final private void jj_save(int index, int xla)
3938  {
3939    JJCalls p = jj_2_rtns[index];
3940    while (p.gen > jj_gen)
3941    {
3942      if (p.next == null)
3943      {
3944        p = p.next = new JJCalls();
3945        break;
3946      }
3947      p = p.next;
3948    }
3949    p.gen = jj_gen + xla - jj_la;
3950    p.first = token;
3951    p.arg = xla;
3952  }
3953
3954  static final class JJCalls
3955  {
3956    int gen;
3957    Token first;
3958    int arg;
3959    JJCalls next;
3960  }
3961
3962}
Popular Tags