Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libGDBMS / src / com / hardcode / gdbms / parser / SQLEngine.java @ 466

History | View | Annotate | Download (79 KB)

1
/* Generated By:JJTree&JavaCC: Do not edit this line. SQLEngine.java */
2
package com.hardcode.gdbms.parser;
3
import java.io.FileInputStream;
4
import java.io.FileNotFoundException;
5
        public class SQLEngine/*@bgen(jjtree)*/implements SQLEngineTreeConstants, SQLEngineConstants {/*@bgen(jjtree)*/
6
  protected JJTSQLEngineState jjtree = new JJTSQLEngineState();public static void main( String[] args )
7
                throws ParseException, TokenMgrError, FileNotFoundException {
8
                        SQLEngine parser = new SQLEngine( new FileInputStream(args[0] )) ;
9
                        parser.SQLStatement() ; }
10
  private void jjtreeOpenNodeScope( Node node )
11
  {
12
    ((SimpleNode)node).first_token = getToken(1);
13
  }
14

    
15
  private void jjtreeCloseNodeScope( Node node )
16
  {
17
    ((SimpleNode)node).last_token = getToken(0);
18
  }
19

    
20
        public Node getRootNode(){
21
                return jjtree.rootNode();
22
        }
23

    
24
  final public void SQLAndExpr() throws ParseException {
25
 /*@bgen(jjtree) SQLAndExpr */
26
  ASTSQLAndExpr jjtn000 = new ASTSQLAndExpr(JJTSQLANDEXPR);
27
  boolean jjtc000 = true;
28
  jjtree.openNodeScope(jjtn000);
29
  jjtreeOpenNodeScope(jjtn000);
30
    try {
31
      SQLNotExpr();
32
      label_1:
33
      while (true) {
34
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
35
        case AND:
36
          ;
37
          break;
38
        default:
39
          jj_la1[0] = jj_gen;
40
          break label_1;
41
        }
42
        jj_consume_token(AND);
43
        SQLNotExpr();
44
      }
45
    } catch (Throwable jjte000) {
46
    if (jjtc000) {
47
      jjtree.clearNodeScope(jjtn000);
48
      jjtc000 = false;
49
    } else {
50
      jjtree.popNode();
51
    }
52
    if (jjte000 instanceof RuntimeException) {
53
      {if (true) throw (RuntimeException)jjte000;}
54
    }
55
    if (jjte000 instanceof ParseException) {
56
      {if (true) throw (ParseException)jjte000;}
57
    }
58
    {if (true) throw (Error)jjte000;}
59
    } finally {
60
    if (jjtc000) {
61
      jjtree.closeNodeScope(jjtn000, true);
62
      jjtreeCloseNodeScope(jjtn000);
63
    }
64
    }
65
  }
66

    
67
  final public void SQLBetweenClause() throws ParseException {
68
 /*@bgen(jjtree) SQLBetweenClause */
69
  ASTSQLBetweenClause jjtn000 = new ASTSQLBetweenClause(JJTSQLBETWEENCLAUSE);
70
  boolean jjtc000 = true;
71
  jjtree.openNodeScope(jjtn000);
72
  jjtreeOpenNodeScope(jjtn000);
73
    try {
74
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
75
      case NOT:
76
        jj_consume_token(NOT);
77
        break;
78
      default:
79
        jj_la1[1] = jj_gen;
80
        ;
81
      }
82
      jj_consume_token(BETWEEN);
83
      SQLSumExpr();
84
      jj_consume_token(AND);
85
      SQLSumExpr();
86
    } catch (Throwable jjte000) {
87
    if (jjtc000) {
88
      jjtree.clearNodeScope(jjtn000);
89
      jjtc000 = false;
90
    } else {
91
      jjtree.popNode();
92
    }
93
    if (jjte000 instanceof RuntimeException) {
94
      {if (true) throw (RuntimeException)jjte000;}
95
    }
96
    if (jjte000 instanceof ParseException) {
97
      {if (true) throw (ParseException)jjte000;}
98
    }
99
    {if (true) throw (Error)jjte000;}
100
    } finally {
101
    if (jjtc000) {
102
      jjtree.closeNodeScope(jjtn000, true);
103
      jjtreeCloseNodeScope(jjtn000);
104
    }
105
    }
106
  }
107

    
108
  final public void SQLColRef() throws ParseException {
109
 /*@bgen(jjtree) SQLColRef */
110
  ASTSQLColRef jjtn000 = new ASTSQLColRef(JJTSQLCOLREF);
111
  boolean jjtc000 = true;
112
  jjtree.openNodeScope(jjtn000);
113
  jjtreeOpenNodeScope(jjtn000);
114
    try {
115
      SQLLvalue();
116
    } catch (Throwable jjte000) {
117
    if (jjtc000) {
118
      jjtree.clearNodeScope(jjtn000);
119
      jjtc000 = false;
120
    } else {
121
      jjtree.popNode();
122
    }
123
    if (jjte000 instanceof RuntimeException) {
124
      {if (true) throw (RuntimeException)jjte000;}
125
    }
126
    if (jjte000 instanceof ParseException) {
127
      {if (true) throw (ParseException)jjte000;}
128
    }
129
    {if (true) throw (Error)jjte000;}
130
    } finally {
131
    if (jjtc000) {
132
      jjtree.closeNodeScope(jjtn000, true);
133
      jjtreeCloseNodeScope(jjtn000);
134
    }
135
    }
136
  }
137

    
138
  final public void SQLCompareExpr() throws ParseException {
139
 /*@bgen(jjtree) SQLCompareExpr */
140
  ASTSQLCompareExpr jjtn000 = new ASTSQLCompareExpr(JJTSQLCOMPAREEXPR);
141
  boolean jjtc000 = true;
142
  jjtree.openNodeScope(jjtn000);
143
  jjtreeOpenNodeScope(jjtn000);
144
    try {
145
      if (jj_2_1(2147483647)) {
146
        SQLSelect();
147
      } else if (jj_2_2(2147483647)) {
148
        SQLIsClause();
149
      } else if (jj_2_3(2147483647)) {
150
        SQLExistsClause();
151
      } else {
152
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
153
        case MAX:
154
        case MIN:
155
        case SPACES:
156
        case SUBSTR:
157
        case SUM:
158
        case UPPER:
159
        case COUNT:
160
        case LENGTH:
161
        case LTRIM:
162
        case REPLACE:
163
        case RTRIM:
164
        case INTEGER_LITERAL:
165
        case FLOATING_POINT_LITERAL:
166
        case STRING_LITERAL:
167
        case ID:
168
        case OPENPAREN:
169
        case ASTERISK:
170
        case PLUS:
171
        case MINUS:
172
          SQLSumExpr();
173
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
174
          case BETWEEN:
175
          case IN:
176
          case LIKE:
177
          case NOT:
178
          case LESS:
179
          case LESSEQUAL:
180
          case GREATER:
181
          case GREATEREQUAL:
182
          case EQUAL:
183
          case NOTEQUAL:
184
          case NOTEQUAL2:
185
          case JOINPLUS:
186
            SQLCompareExprRight();
187
            break;
188
          default:
189
            jj_la1[2] = jj_gen;
190
            ;
191
          }
192
          break;
193
        default:
194
          jj_la1[3] = jj_gen;
195
          jj_consume_token(-1);
196
          throw new ParseException();
197
        }
198
      }
199
    } catch (Throwable jjte000) {
200
    if (jjtc000) {
201
      jjtree.clearNodeScope(jjtn000);
202
      jjtc000 = false;
203
    } else {
204
      jjtree.popNode();
205
    }
206
    if (jjte000 instanceof RuntimeException) {
207
      {if (true) throw (RuntimeException)jjte000;}
208
    }
209
    if (jjte000 instanceof ParseException) {
210
      {if (true) throw (ParseException)jjte000;}
211
    }
212
    {if (true) throw (Error)jjte000;}
213
    } finally {
214
    if (jjtc000) {
215
      jjtree.closeNodeScope(jjtn000, true);
216
      jjtreeCloseNodeScope(jjtn000);
217
    }
218
    }
219
  }
220

    
221
  final public void SQLCompareExprRight() throws ParseException {
222
 /*@bgen(jjtree) SQLCompareExprRight */
223
  ASTSQLCompareExprRight jjtn000 = new ASTSQLCompareExprRight(JJTSQLCOMPAREEXPRRIGHT);
224
  boolean jjtc000 = true;
225
  jjtree.openNodeScope(jjtn000);
226
  jjtreeOpenNodeScope(jjtn000);
227
    try {
228
      if (jj_2_4(2)) {
229
        SQLLikeClause();
230
      } else if (jj_2_5(2)) {
231
        SQLInClause();
232
      } else {
233
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
234
        case JOINPLUS:
235
          SQLLeftJoinClause();
236
          break;
237
        default:
238
          jj_la1[4] = jj_gen;
239
          if (jj_2_6(2147483647)) {
240
            SQLRightJoinClause();
241
          } else if (jj_2_7(2)) {
242
            SQLBetweenClause();
243
          } else {
244
            switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
245
            case LESS:
246
            case LESSEQUAL:
247
            case GREATER:
248
            case GREATEREQUAL:
249
            case EQUAL:
250
            case NOTEQUAL:
251
            case NOTEQUAL2:
252
              SQLCompareOp();
253
              SQLSumExpr();
254
              break;
255
            default:
256
              jj_la1[5] = jj_gen;
257
              jj_consume_token(-1);
258
              throw new ParseException();
259
            }
260
          }
261
        }
262
      }
263
    } catch (Throwable jjte000) {
264
    if (jjtc000) {
265
      jjtree.clearNodeScope(jjtn000);
266
      jjtc000 = false;
267
    } else {
268
      jjtree.popNode();
269
    }
270
    if (jjte000 instanceof RuntimeException) {
271
      {if (true) throw (RuntimeException)jjte000;}
272
    }
273
    if (jjte000 instanceof ParseException) {
274
      {if (true) throw (ParseException)jjte000;}
275
    }
276
    {if (true) throw (Error)jjte000;}
277
    } finally {
278
    if (jjtc000) {
279
      jjtree.closeNodeScope(jjtn000, true);
280
      jjtreeCloseNodeScope(jjtn000);
281
    }
282
    }
283
  }
284

    
285
  final public void SQLCompareOp() throws ParseException {
286
 /*@bgen(jjtree) SQLCompareOp */
287
  ASTSQLCompareOp jjtn000 = new ASTSQLCompareOp(JJTSQLCOMPAREOP);
288
  boolean jjtc000 = true;
289
  jjtree.openNodeScope(jjtn000);
290
  jjtreeOpenNodeScope(jjtn000);
291
    try {
292
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
293
      case EQUAL:
294
        jj_consume_token(EQUAL);
295
        break;
296
      case NOTEQUAL:
297
        jj_consume_token(NOTEQUAL);
298
        break;
299
      case NOTEQUAL2:
300
        jj_consume_token(NOTEQUAL2);
301
        break;
302
      case GREATER:
303
        jj_consume_token(GREATER);
304
        break;
305
      case GREATEREQUAL:
306
        jj_consume_token(GREATEREQUAL);
307
        break;
308
      case LESS:
309
        jj_consume_token(LESS);
310
        break;
311
      case LESSEQUAL:
312
        jj_consume_token(LESSEQUAL);
313
        break;
314
      default:
315
        jj_la1[6] = jj_gen;
316
        jj_consume_token(-1);
317
        throw new ParseException();
318
      }
319
    } finally {
320
    if (jjtc000) {
321
      jjtree.closeNodeScope(jjtn000, true);
322
      jjtreeCloseNodeScope(jjtn000);
323
    }
324
    }
325
  }
326

    
327
  final public void SQLDelete() throws ParseException {
328
 /*@bgen(jjtree) SQLDelete */
329
  ASTSQLDelete jjtn000 = new ASTSQLDelete(JJTSQLDELETE);
330
  boolean jjtc000 = true;
331
  jjtree.openNodeScope(jjtn000);
332
  jjtreeOpenNodeScope(jjtn000);
333
    try {
334
      jj_consume_token(DELETE);
335
      jj_consume_token(FROM);
336
      SQLTableList();
337
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
338
      case WHERE:
339
        SQLWhere();
340
        break;
341
      default:
342
        jj_la1[7] = jj_gen;
343
        ;
344
      }
345
    } catch (Throwable jjte000) {
346
    if (jjtc000) {
347
      jjtree.clearNodeScope(jjtn000);
348
      jjtc000 = false;
349
    } else {
350
      jjtree.popNode();
351
    }
352
    if (jjte000 instanceof RuntimeException) {
353
      {if (true) throw (RuntimeException)jjte000;}
354
    }
355
    if (jjte000 instanceof ParseException) {
356
      {if (true) throw (ParseException)jjte000;}
357
    }
358
    {if (true) throw (Error)jjte000;}
359
    } finally {
360
    if (jjtc000) {
361
      jjtree.closeNodeScope(jjtn000, true);
362
      jjtreeCloseNodeScope(jjtn000);
363
    }
364
    }
365
  }
366

    
367
  final public void SQLExistsClause() throws ParseException {
368
 /*@bgen(jjtree) SQLExistsClause */
369
  ASTSQLExistsClause jjtn000 = new ASTSQLExistsClause(JJTSQLEXISTSCLAUSE);
370
  boolean jjtc000 = true;
371
  jjtree.openNodeScope(jjtn000);
372
  jjtreeOpenNodeScope(jjtn000);
373
    try {
374
      jj_consume_token(EXISTS);
375
      jj_consume_token(OPENPAREN);
376
      SQLSelect();
377
      jj_consume_token(CLOSEPAREN);
378
    } catch (Throwable jjte000) {
379
    if (jjtc000) {
380
      jjtree.clearNodeScope(jjtn000);
381
      jjtc000 = false;
382
    } else {
383
      jjtree.popNode();
384
    }
385
    if (jjte000 instanceof RuntimeException) {
386
      {if (true) throw (RuntimeException)jjte000;}
387
    }
388
    if (jjte000 instanceof ParseException) {
389
      {if (true) throw (ParseException)jjte000;}
390
    }
391
    {if (true) throw (Error)jjte000;}
392
    } finally {
393
    if (jjtc000) {
394
      jjtree.closeNodeScope(jjtn000, true);
395
      jjtreeCloseNodeScope(jjtn000);
396
    }
397
    }
398
  }
399

    
400
  final public void SQLFunction() throws ParseException {
401
 /*@bgen(jjtree) SQLFunction */
402
  ASTSQLFunction jjtn000 = new ASTSQLFunction(JJTSQLFUNCTION);
403
  boolean jjtc000 = true;
404
  jjtree.openNodeScope(jjtn000);
405
  jjtreeOpenNodeScope(jjtn000);
406
    try {
407
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
408
      case UPPER:
409
        jj_consume_token(UPPER);
410
        SQLFunctionArgs();
411
        break;
412
      case MAX:
413
        jj_consume_token(MAX);
414
        SQLFunctionArgs();
415
        break;
416
      case MIN:
417
        jj_consume_token(MIN);
418
        SQLFunctionArgs();
419
        break;
420
      case SUM:
421
        jj_consume_token(SUM);
422
        SQLFunctionArgs();
423
        break;
424
      case COUNT:
425
        jj_consume_token(COUNT);
426
        SQLFunctionArgs();
427
        break;
428
      case LTRIM:
429
        jj_consume_token(LTRIM);
430
        SQLFunctionArgs();
431
        break;
432
      case RTRIM:
433
        jj_consume_token(RTRIM);
434
        SQLFunctionArgs();
435
        break;
436
      case LENGTH:
437
        jj_consume_token(LENGTH);
438
        SQLFunctionArgs();
439
        break;
440
      case REPLACE:
441
        jj_consume_token(REPLACE);
442
        SQLFunctionArgs();
443
        break;
444
      case SUBSTR:
445
        jj_consume_token(SUBSTR);
446
        SQLFunctionArgs();
447
        break;
448
      default:
449
        jj_la1[8] = jj_gen;
450
        jj_consume_token(-1);
451
        throw new ParseException();
452
      }
453
    } catch (Throwable jjte000) {
454
    if (jjtc000) {
455
      jjtree.clearNodeScope(jjtn000);
456
      jjtc000 = false;
457
    } else {
458
      jjtree.popNode();
459
    }
460
    if (jjte000 instanceof RuntimeException) {
461
      {if (true) throw (RuntimeException)jjte000;}
462
    }
463
    if (jjte000 instanceof ParseException) {
464
      {if (true) throw (ParseException)jjte000;}
465
    }
466
    {if (true) throw (Error)jjte000;}
467
    } finally {
468
    if (jjtc000) {
469
      jjtree.closeNodeScope(jjtn000, true);
470
      jjtreeCloseNodeScope(jjtn000);
471
    }
472
    }
473
  }
474

    
475
  final public void SQLFunctionArgs() throws ParseException {
476
 /*@bgen(jjtree) SQLFunctionArgs */
477
  ASTSQLFunctionArgs jjtn000 = new ASTSQLFunctionArgs(JJTSQLFUNCTIONARGS);
478
  boolean jjtc000 = true;
479
  jjtree.openNodeScope(jjtn000);
480
  jjtreeOpenNodeScope(jjtn000);
481
    try {
482
      jj_consume_token(OPENPAREN);
483
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
484
      case MAX:
485
      case MIN:
486
      case SPACES:
487
      case SUBSTR:
488
      case SUM:
489
      case UPPER:
490
      case COUNT:
491
      case LENGTH:
492
      case LTRIM:
493
      case REPLACE:
494
      case RTRIM:
495
      case INTEGER_LITERAL:
496
      case FLOATING_POINT_LITERAL:
497
      case STRING_LITERAL:
498
      case ID:
499
      case OPENPAREN:
500
      case ASTERISK:
501
      case PLUS:
502
      case MINUS:
503
        SQLSumExpr();
504
        label_2:
505
        while (true) {
506
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
507
          case 75:
508
            ;
509
            break;
510
          default:
511
            jj_la1[9] = jj_gen;
512
            break label_2;
513
          }
514
          jj_consume_token(75);
515
          SQLSumExpr();
516
        }
517
        break;
518
      default:
519
        jj_la1[10] = jj_gen;
520
        ;
521
      }
522
      jj_consume_token(CLOSEPAREN);
523
    } catch (Throwable jjte000) {
524
    if (jjtc000) {
525
      jjtree.clearNodeScope(jjtn000);
526
      jjtc000 = false;
527
    } else {
528
      jjtree.popNode();
529
    }
530
    if (jjte000 instanceof RuntimeException) {
531
      {if (true) throw (RuntimeException)jjte000;}
532
    }
533
    if (jjte000 instanceof ParseException) {
534
      {if (true) throw (ParseException)jjte000;}
535
    }
536
    {if (true) throw (Error)jjte000;}
537
    } finally {
538
    if (jjtc000) {
539
      jjtree.closeNodeScope(jjtn000, true);
540
      jjtreeCloseNodeScope(jjtn000);
541
    }
542
    }
543
  }
544

    
545
  final public void SQLGroupBy() throws ParseException {
546
 /*@bgen(jjtree) SQLGroupBy */
547
  ASTSQLGroupBy jjtn000 = new ASTSQLGroupBy(JJTSQLGROUPBY);
548
  boolean jjtc000 = true;
549
  jjtree.openNodeScope(jjtn000);
550
  jjtreeOpenNodeScope(jjtn000);
551
    try {
552
      jj_consume_token(GROUP);
553
      jj_consume_token(BY);
554
      SQLOrderByList();
555
    } catch (Throwable jjte000) {
556
    if (jjtc000) {
557
      jjtree.clearNodeScope(jjtn000);
558
      jjtc000 = false;
559
    } else {
560
      jjtree.popNode();
561
    }
562
    if (jjte000 instanceof RuntimeException) {
563
      {if (true) throw (RuntimeException)jjte000;}
564
    }
565
    if (jjte000 instanceof ParseException) {
566
      {if (true) throw (ParseException)jjte000;}
567
    }
568
    {if (true) throw (Error)jjte000;}
569
    } finally {
570
    if (jjtc000) {
571
      jjtree.closeNodeScope(jjtn000, true);
572
      jjtreeCloseNodeScope(jjtn000);
573
    }
574
    }
575
  }
576

    
577
  final public void SQLInClause() throws ParseException {
578
 /*@bgen(jjtree) SQLInClause */
579
  ASTSQLInClause jjtn000 = new ASTSQLInClause(JJTSQLINCLAUSE);
580
  boolean jjtc000 = true;
581
  jjtree.openNodeScope(jjtn000);
582
  jjtreeOpenNodeScope(jjtn000);
583
    try {
584
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
585
      case NOT:
586
        jj_consume_token(NOT);
587
        break;
588
      default:
589
        jj_la1[11] = jj_gen;
590
        ;
591
      }
592
      jj_consume_token(IN);
593
      jj_consume_token(OPENPAREN);
594
      SQLLValueList();
595
      jj_consume_token(CLOSEPAREN);
596
    } catch (Throwable jjte000) {
597
    if (jjtc000) {
598
      jjtree.clearNodeScope(jjtn000);
599
      jjtc000 = false;
600
    } else {
601
      jjtree.popNode();
602
    }
603
    if (jjte000 instanceof RuntimeException) {
604
      {if (true) throw (RuntimeException)jjte000;}
605
    }
606
    if (jjte000 instanceof ParseException) {
607
      {if (true) throw (ParseException)jjte000;}
608
    }
609
    {if (true) throw (Error)jjte000;}
610
    } finally {
611
    if (jjtc000) {
612
      jjtree.closeNodeScope(jjtn000, true);
613
      jjtreeCloseNodeScope(jjtn000);
614
    }
615
    }
616
  }
617

    
618
  final public void SQLInsert() throws ParseException {
619
 /*@bgen(jjtree) SQLInsert */
620
  ASTSQLInsert jjtn000 = new ASTSQLInsert(JJTSQLINSERT);
621
  boolean jjtc000 = true;
622
  jjtree.openNodeScope(jjtn000);
623
  jjtreeOpenNodeScope(jjtn000);
624
    try {
625
      jj_consume_token(INSERT);
626
      jj_consume_token(INTO);
627
      SQLTableList();
628
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
629
      case OPENPAREN:
630
        jj_consume_token(OPENPAREN);
631
        SQLSelectCols();
632
        jj_consume_token(CLOSEPAREN);
633
        jj_consume_token(VALUES);
634
        break;
635
      default:
636
        jj_la1[12] = jj_gen;
637
        ;
638
      }
639
      jj_consume_token(OPENPAREN);
640
      SQLSelectCols();
641
      jj_consume_token(CLOSEPAREN);
642
    } catch (Throwable jjte000) {
643
    if (jjtc000) {
644
      jjtree.clearNodeScope(jjtn000);
645
      jjtc000 = false;
646
    } else {
647
      jjtree.popNode();
648
    }
649
    if (jjte000 instanceof RuntimeException) {
650
      {if (true) throw (RuntimeException)jjte000;}
651
    }
652
    if (jjte000 instanceof ParseException) {
653
      {if (true) throw (ParseException)jjte000;}
654
    }
655
    {if (true) throw (Error)jjte000;}
656
    } finally {
657
    if (jjtc000) {
658
      jjtree.closeNodeScope(jjtn000, true);
659
      jjtreeCloseNodeScope(jjtn000);
660
    }
661
    }
662
  }
663

    
664
  final public void SQLIsClause() throws ParseException {
665
 /*@bgen(jjtree) SQLIsClause */
666
  ASTSQLIsClause jjtn000 = new ASTSQLIsClause(JJTSQLISCLAUSE);
667
  boolean jjtc000 = true;
668
  jjtree.openNodeScope(jjtn000);
669
  jjtreeOpenNodeScope(jjtn000);
670
    try {
671
      SQLColRef();
672
      jj_consume_token(IS);
673
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
674
      case NOT:
675
        jj_consume_token(NOT);
676
        break;
677
      default:
678
        jj_la1[13] = jj_gen;
679
        ;
680
      }
681
      jj_consume_token(NULL);
682
    } catch (Throwable jjte000) {
683
    if (jjtc000) {
684
      jjtree.clearNodeScope(jjtn000);
685
      jjtc000 = false;
686
    } else {
687
      jjtree.popNode();
688
    }
689
    if (jjte000 instanceof RuntimeException) {
690
      {if (true) throw (RuntimeException)jjte000;}
691
    }
692
    if (jjte000 instanceof ParseException) {
693
      {if (true) throw (ParseException)jjte000;}
694
    }
695
    {if (true) throw (Error)jjte000;}
696
    } finally {
697
    if (jjtc000) {
698
      jjtree.closeNodeScope(jjtn000, true);
699
      jjtreeCloseNodeScope(jjtn000);
700
    }
701
    }
702
  }
703

    
704
  final public void SQLLeftJoinClause() throws ParseException {
705
 /*@bgen(jjtree) SQLLeftJoinClause */
706
  ASTSQLLeftJoinClause jjtn000 = new ASTSQLLeftJoinClause(JJTSQLLEFTJOINCLAUSE);
707
  boolean jjtc000 = true;
708
  jjtree.openNodeScope(jjtn000);
709
  jjtreeOpenNodeScope(jjtn000);
710
    try {
711
      jj_consume_token(JOINPLUS);
712
      SQLCompareOp();
713
      SQLSumExpr();
714
    } catch (Throwable jjte000) {
715
    if (jjtc000) {
716
      jjtree.clearNodeScope(jjtn000);
717
      jjtc000 = false;
718
    } else {
719
      jjtree.popNode();
720
    }
721
    if (jjte000 instanceof RuntimeException) {
722
      {if (true) throw (RuntimeException)jjte000;}
723
    }
724
    if (jjte000 instanceof ParseException) {
725
      {if (true) throw (ParseException)jjte000;}
726
    }
727
    {if (true) throw (Error)jjte000;}
728
    } finally {
729
    if (jjtc000) {
730
      jjtree.closeNodeScope(jjtn000, true);
731
      jjtreeCloseNodeScope(jjtn000);
732
    }
733
    }
734
  }
735

    
736
  final public void SQLLikeClause() throws ParseException {
737
 /*@bgen(jjtree) SQLLikeClause */
738
  ASTSQLLikeClause jjtn000 = new ASTSQLLikeClause(JJTSQLLIKECLAUSE);
739
  boolean jjtc000 = true;
740
  jjtree.openNodeScope(jjtn000);
741
  jjtreeOpenNodeScope(jjtn000);
742
    try {
743
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
744
      case NOT:
745
        jj_consume_token(NOT);
746
        break;
747
      default:
748
        jj_la1[14] = jj_gen;
749
        ;
750
      }
751
      jj_consume_token(LIKE);
752
      SQLPattern();
753
    } catch (Throwable jjte000) {
754
    if (jjtc000) {
755
      jjtree.clearNodeScope(jjtn000);
756
      jjtc000 = false;
757
    } else {
758
      jjtree.popNode();
759
    }
760
    if (jjte000 instanceof RuntimeException) {
761
      {if (true) throw (RuntimeException)jjte000;}
762
    }
763
    if (jjte000 instanceof ParseException) {
764
      {if (true) throw (ParseException)jjte000;}
765
    }
766
    {if (true) throw (Error)jjte000;}
767
    } finally {
768
    if (jjtc000) {
769
      jjtree.closeNodeScope(jjtn000, true);
770
      jjtreeCloseNodeScope(jjtn000);
771
    }
772
    }
773
  }
774

    
775
  final public void SQLLiteral() throws ParseException {
776
 /*@bgen(jjtree) SQLLiteral */
777
  ASTSQLLiteral jjtn000 = new ASTSQLLiteral(JJTSQLLITERAL);
778
  boolean jjtc000 = true;
779
  jjtree.openNodeScope(jjtn000);
780
  jjtreeOpenNodeScope(jjtn000);
781
    try {
782
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
783
      case STRING_LITERAL:
784
        jj_consume_token(STRING_LITERAL);
785
        break;
786
      case INTEGER_LITERAL:
787
        jj_consume_token(INTEGER_LITERAL);
788
        break;
789
      case FLOATING_POINT_LITERAL:
790
        jj_consume_token(FLOATING_POINT_LITERAL);
791
        break;
792
      case SPACES:
793
        jj_consume_token(SPACES);
794
        break;
795
      case ASTERISK:
796
        jj_consume_token(ASTERISK);
797
        break;
798
      default:
799
        jj_la1[15] = jj_gen;
800
        jj_consume_token(-1);
801
        throw new ParseException();
802
      }
803
    } finally {
804
    if (jjtc000) {
805
      jjtree.closeNodeScope(jjtn000, true);
806
      jjtreeCloseNodeScope(jjtn000);
807
    }
808
    }
809
  }
810

    
811
  final public void SQLLvalue() throws ParseException {
812
 /*@bgen(jjtree) SQLLvalue */
813
  ASTSQLLvalue jjtn000 = new ASTSQLLvalue(JJTSQLLVALUE);
814
  boolean jjtc000 = true;
815
  jjtree.openNodeScope(jjtn000);
816
  jjtreeOpenNodeScope(jjtn000);
817
    try {
818
      SQLLvalueTerm();
819
    } catch (Throwable jjte000) {
820
    if (jjtc000) {
821
      jjtree.clearNodeScope(jjtn000);
822
      jjtc000 = false;
823
    } else {
824
      jjtree.popNode();
825
    }
826
    if (jjte000 instanceof RuntimeException) {
827
      {if (true) throw (RuntimeException)jjte000;}
828
    }
829
    if (jjte000 instanceof ParseException) {
830
      {if (true) throw (ParseException)jjte000;}
831
    }
832
    {if (true) throw (Error)jjte000;}
833
    } finally {
834
    if (jjtc000) {
835
      jjtree.closeNodeScope(jjtn000, true);
836
      jjtreeCloseNodeScope(jjtn000);
837
    }
838
    }
839
  }
840

    
841
  final public void SQLLvalueTerm() throws ParseException {
842
 /*@bgen(jjtree) SQLLvalueTerm */
843
  ASTSQLLvalueTerm jjtn000 = new ASTSQLLvalueTerm(JJTSQLLVALUETERM);
844
  boolean jjtc000 = true;
845
  jjtree.openNodeScope(jjtn000);
846
  jjtreeOpenNodeScope(jjtn000);
847
    try {
848
      jj_consume_token(ID);
849
      label_3:
850
      while (true) {
851
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
852
        case DOT:
853
          ;
854
          break;
855
        default:
856
          jj_la1[16] = jj_gen;
857
          break label_3;
858
        }
859
        jj_consume_token(DOT);
860
        jj_consume_token(ID);
861
      }
862
    } finally {
863
    if (jjtc000) {
864
      jjtree.closeNodeScope(jjtn000, true);
865
      jjtreeCloseNodeScope(jjtn000);
866
    }
867
    }
868
  }
869

    
870
  final public void SQLNotExpr() throws ParseException {
871
 /*@bgen(jjtree) SQLNotExpr */
872
  ASTSQLNotExpr jjtn000 = new ASTSQLNotExpr(JJTSQLNOTEXPR);
873
  boolean jjtc000 = true;
874
  jjtree.openNodeScope(jjtn000);
875
  jjtreeOpenNodeScope(jjtn000);
876
    try {
877
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
878
      case NOT:
879
        jj_consume_token(NOT);
880
        break;
881
      default:
882
        jj_la1[17] = jj_gen;
883
        ;
884
      }
885
      SQLCompareExpr();
886
    } catch (Throwable jjte000) {
887
    if (jjtc000) {
888
      jjtree.clearNodeScope(jjtn000);
889
      jjtc000 = false;
890
    } else {
891
      jjtree.popNode();
892
    }
893
    if (jjte000 instanceof RuntimeException) {
894
      {if (true) throw (RuntimeException)jjte000;}
895
    }
896
    if (jjte000 instanceof ParseException) {
897
      {if (true) throw (ParseException)jjte000;}
898
    }
899
    {if (true) throw (Error)jjte000;}
900
    } finally {
901
    if (jjtc000) {
902
      jjtree.closeNodeScope(jjtn000, true);
903
      jjtreeCloseNodeScope(jjtn000);
904
    }
905
    }
906
  }
907

    
908
  final public void SQLOrderBy() throws ParseException {
909
 /*@bgen(jjtree) SQLOrderBy */
910
  ASTSQLOrderBy jjtn000 = new ASTSQLOrderBy(JJTSQLORDERBY);
911
  boolean jjtc000 = true;
912
  jjtree.openNodeScope(jjtn000);
913
  jjtreeOpenNodeScope(jjtn000);
914
    try {
915
      jj_consume_token(ORDER);
916
      jj_consume_token(BY);
917
      SQLOrderByList();
918
    } catch (Throwable jjte000) {
919
    if (jjtc000) {
920
      jjtree.clearNodeScope(jjtn000);
921
      jjtc000 = false;
922
    } else {
923
      jjtree.popNode();
924
    }
925
    if (jjte000 instanceof RuntimeException) {
926
      {if (true) throw (RuntimeException)jjte000;}
927
    }
928
    if (jjte000 instanceof ParseException) {
929
      {if (true) throw (ParseException)jjte000;}
930
    }
931
    {if (true) throw (Error)jjte000;}
932
    } finally {
933
    if (jjtc000) {
934
      jjtree.closeNodeScope(jjtn000, true);
935
      jjtreeCloseNodeScope(jjtn000);
936
    }
937
    }
938
  }
939

    
940
  final public void SQLOrderByElem() throws ParseException {
941
 /*@bgen(jjtree) SQLOrderByElem */
942
  ASTSQLOrderByElem jjtn000 = new ASTSQLOrderByElem(JJTSQLORDERBYELEM);
943
  boolean jjtc000 = true;
944
  jjtree.openNodeScope(jjtn000);
945
  jjtreeOpenNodeScope(jjtn000);
946
    try {
947
      SQLColRef();
948
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
949
      case ASC:
950
      case DESC:
951
        SQLOrderDirection();
952
        break;
953
      default:
954
        jj_la1[18] = jj_gen;
955
        ;
956
      }
957
    } catch (Throwable jjte000) {
958
    if (jjtc000) {
959
      jjtree.clearNodeScope(jjtn000);
960
      jjtc000 = false;
961
    } else {
962
      jjtree.popNode();
963
    }
964
    if (jjte000 instanceof RuntimeException) {
965
      {if (true) throw (RuntimeException)jjte000;}
966
    }
967
    if (jjte000 instanceof ParseException) {
968
      {if (true) throw (ParseException)jjte000;}
969
    }
970
    {if (true) throw (Error)jjte000;}
971
    } finally {
972
    if (jjtc000) {
973
      jjtree.closeNodeScope(jjtn000, true);
974
      jjtreeCloseNodeScope(jjtn000);
975
    }
976
    }
977
  }
978

    
979
  final public void SQLOrderByList() throws ParseException {
980
 /*@bgen(jjtree) SQLOrderByList */
981
  ASTSQLOrderByList jjtn000 = new ASTSQLOrderByList(JJTSQLORDERBYLIST);
982
  boolean jjtc000 = true;
983
  jjtree.openNodeScope(jjtn000);
984
  jjtreeOpenNodeScope(jjtn000);
985
    try {
986
      SQLOrderByElem();
987
      label_4:
988
      while (true) {
989
        if (jj_2_8(2)) {
990
          ;
991
        } else {
992
          break label_4;
993
        }
994
        jj_consume_token(75);
995
        SQLOrderByElem();
996
      }
997
    } catch (Throwable jjte000) {
998
    if (jjtc000) {
999
      jjtree.clearNodeScope(jjtn000);
1000
      jjtc000 = false;
1001
    } else {
1002
      jjtree.popNode();
1003
    }
1004
    if (jjte000 instanceof RuntimeException) {
1005
      {if (true) throw (RuntimeException)jjte000;}
1006
    }
1007
    if (jjte000 instanceof ParseException) {
1008
      {if (true) throw (ParseException)jjte000;}
1009
    }
1010
    {if (true) throw (Error)jjte000;}
1011
    } finally {
1012
    if (jjtc000) {
1013
      jjtree.closeNodeScope(jjtn000, true);
1014
      jjtreeCloseNodeScope(jjtn000);
1015
    }
1016
    }
1017
  }
1018

    
1019
  final public void SQLOrderDirection() throws ParseException {
1020
 /*@bgen(jjtree) SQLOrderDirection */
1021
  ASTSQLOrderDirection jjtn000 = new ASTSQLOrderDirection(JJTSQLORDERDIRECTION);
1022
  boolean jjtc000 = true;
1023
  jjtree.openNodeScope(jjtn000);
1024
  jjtreeOpenNodeScope(jjtn000);
1025
    try {
1026
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1027
      case ASC:
1028
        jj_consume_token(ASC);
1029
        break;
1030
      case DESC:
1031
        jj_consume_token(DESC);
1032
        break;
1033
      default:
1034
        jj_la1[19] = jj_gen;
1035
        jj_consume_token(-1);
1036
        throw new ParseException();
1037
      }
1038
    } finally {
1039
    if (jjtc000) {
1040
      jjtree.closeNodeScope(jjtn000, true);
1041
      jjtreeCloseNodeScope(jjtn000);
1042
    }
1043
    }
1044
  }
1045

    
1046
  final public void SQLOrExpr() throws ParseException {
1047
 /*@bgen(jjtree) SQLOrExpr */
1048
  ASTSQLOrExpr jjtn000 = new ASTSQLOrExpr(JJTSQLOREXPR);
1049
  boolean jjtc000 = true;
1050
  jjtree.openNodeScope(jjtn000);
1051
  jjtreeOpenNodeScope(jjtn000);
1052
    try {
1053
      SQLAndExpr();
1054
      label_5:
1055
      while (true) {
1056
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1057
        case OR:
1058
          ;
1059
          break;
1060
        default:
1061
          jj_la1[20] = jj_gen;
1062
          break label_5;
1063
        }
1064
        jj_consume_token(OR);
1065
        SQLAndExpr();
1066
      }
1067
    } catch (Throwable jjte000) {
1068
    if (jjtc000) {
1069
      jjtree.clearNodeScope(jjtn000);
1070
      jjtc000 = false;
1071
    } else {
1072
      jjtree.popNode();
1073
    }
1074
    if (jjte000 instanceof RuntimeException) {
1075
      {if (true) throw (RuntimeException)jjte000;}
1076
    }
1077
    if (jjte000 instanceof ParseException) {
1078
      {if (true) throw (ParseException)jjte000;}
1079
    }
1080
    {if (true) throw (Error)jjte000;}
1081
    } finally {
1082
    if (jjtc000) {
1083
      jjtree.closeNodeScope(jjtn000, true);
1084
      jjtreeCloseNodeScope(jjtn000);
1085
    }
1086
    }
1087
  }
1088

    
1089
  final public void SQLPattern() throws ParseException {
1090
 /*@bgen(jjtree) SQLPattern */
1091
  ASTSQLPattern jjtn000 = new ASTSQLPattern(JJTSQLPATTERN);
1092
  boolean jjtc000 = true;
1093
  jjtree.openNodeScope(jjtn000);
1094
  jjtreeOpenNodeScope(jjtn000);
1095
    try {
1096
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1097
      case STRING_LITERAL:
1098
        jj_consume_token(STRING_LITERAL);
1099
        break;
1100
      case QUESTIONMARK:
1101
        jj_consume_token(QUESTIONMARK);
1102
        break;
1103
      case ID:
1104
        SQLLvalue();
1105
        break;
1106
      default:
1107
        jj_la1[21] = jj_gen;
1108
        jj_consume_token(-1);
1109
        throw new ParseException();
1110
      }
1111
    } catch (Throwable jjte000) {
1112
    if (jjtc000) {
1113
      jjtree.clearNodeScope(jjtn000);
1114
      jjtc000 = false;
1115
    } else {
1116
      jjtree.popNode();
1117
    }
1118
    if (jjte000 instanceof RuntimeException) {
1119
      {if (true) throw (RuntimeException)jjte000;}
1120
    }
1121
    if (jjte000 instanceof ParseException) {
1122
      {if (true) throw (ParseException)jjte000;}
1123
    }
1124
    {if (true) throw (Error)jjte000;}
1125
    } finally {
1126
    if (jjtc000) {
1127
      jjtree.closeNodeScope(jjtn000, true);
1128
      jjtreeCloseNodeScope(jjtn000);
1129
    }
1130
    }
1131
  }
1132

    
1133
  final public void SQLProductExpr() throws ParseException {
1134
 /*@bgen(jjtree) SQLProductExpr */
1135
  ASTSQLProductExpr jjtn000 = new ASTSQLProductExpr(JJTSQLPRODUCTEXPR);
1136
  boolean jjtc000 = true;
1137
  jjtree.openNodeScope(jjtn000);
1138
  jjtreeOpenNodeScope(jjtn000);
1139
    try {
1140
      SQLUnaryExpr();
1141
      label_6:
1142
      while (true) {
1143
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1144
        case ASTERISK:
1145
        case SLASH:
1146
          ;
1147
          break;
1148
        default:
1149
          jj_la1[22] = jj_gen;
1150
          break label_6;
1151
        }
1152
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1153
        case ASTERISK:
1154
          jj_consume_token(ASTERISK);
1155
          break;
1156
        case SLASH:
1157
          jj_consume_token(SLASH);
1158
          break;
1159
        default:
1160
          jj_la1[23] = jj_gen;
1161
          jj_consume_token(-1);
1162
          throw new ParseException();
1163
        }
1164
        SQLUnaryExpr();
1165
      }
1166
    } catch (Throwable jjte000) {
1167
    if (jjtc000) {
1168
      jjtree.clearNodeScope(jjtn000);
1169
      jjtc000 = false;
1170
    } else {
1171
      jjtree.popNode();
1172
    }
1173
    if (jjte000 instanceof RuntimeException) {
1174
      {if (true) throw (RuntimeException)jjte000;}
1175
    }
1176
    if (jjte000 instanceof ParseException) {
1177
      {if (true) throw (ParseException)jjte000;}
1178
    }
1179
    {if (true) throw (Error)jjte000;}
1180
    } finally {
1181
    if (jjtc000) {
1182
      jjtree.closeNodeScope(jjtn000, true);
1183
      jjtreeCloseNodeScope(jjtn000);
1184
    }
1185
    }
1186
  }
1187

    
1188
  final public void SQLRightJoinClause() throws ParseException {
1189
 /*@bgen(jjtree) SQLRightJoinClause */
1190
  ASTSQLRightJoinClause jjtn000 = new ASTSQLRightJoinClause(JJTSQLRIGHTJOINCLAUSE);
1191
  boolean jjtc000 = true;
1192
  jjtree.openNodeScope(jjtn000);
1193
  jjtreeOpenNodeScope(jjtn000);
1194
    try {
1195
      SQLCompareOp();
1196
      SQLSumExpr();
1197
      jj_consume_token(JOINPLUS);
1198
    } catch (Throwable jjte000) {
1199
    if (jjtc000) {
1200
      jjtree.clearNodeScope(jjtn000);
1201
      jjtc000 = false;
1202
    } else {
1203
      jjtree.popNode();
1204
    }
1205
    if (jjte000 instanceof RuntimeException) {
1206
      {if (true) throw (RuntimeException)jjte000;}
1207
    }
1208
    if (jjte000 instanceof ParseException) {
1209
      {if (true) throw (ParseException)jjte000;}
1210
    }
1211
    {if (true) throw (Error)jjte000;}
1212
    } finally {
1213
    if (jjtc000) {
1214
      jjtree.closeNodeScope(jjtn000, true);
1215
      jjtreeCloseNodeScope(jjtn000);
1216
    }
1217
    }
1218
  }
1219

    
1220
  final public void SQLUnion() throws ParseException {
1221
 /*@bgen(jjtree) SQLUnion */
1222
  ASTSQLUnion jjtn000 = new ASTSQLUnion(JJTSQLUNION);
1223
  boolean jjtc000 = true;
1224
  jjtree.openNodeScope(jjtn000);
1225
  jjtreeOpenNodeScope(jjtn000);
1226
    try {
1227
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1228
      case ID:
1229
        SQLTableRef();
1230
        break;
1231
      case OPENPAREN:
1232
        jj_consume_token(OPENPAREN);
1233
        SQLSelect();
1234
        jj_consume_token(CLOSEPAREN);
1235
        break;
1236
      default:
1237
        jj_la1[24] = jj_gen;
1238
        jj_consume_token(-1);
1239
        throw new ParseException();
1240
      }
1241
      jj_consume_token(UNION);
1242
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1243
      case ID:
1244
        SQLTableRef();
1245
        break;
1246
      case OPENPAREN:
1247
        jj_consume_token(OPENPAREN);
1248
        SQLSelect();
1249
        jj_consume_token(CLOSEPAREN);
1250
        break;
1251
      default:
1252
        jj_la1[25] = jj_gen;
1253
        jj_consume_token(-1);
1254
        throw new ParseException();
1255
      }
1256
    } catch (Throwable jjte000) {
1257
          if (jjtc000) {
1258
            jjtree.clearNodeScope(jjtn000);
1259
            jjtc000 = false;
1260
          } else {
1261
            jjtree.popNode();
1262
          }
1263
          if (jjte000 instanceof RuntimeException) {
1264
            {if (true) throw (RuntimeException)jjte000;}
1265
          }
1266
          if (jjte000 instanceof ParseException) {
1267
            {if (true) throw (ParseException)jjte000;}
1268
          }
1269
          {if (true) throw (Error)jjte000;}
1270
    } finally {
1271
          if (jjtc000) {
1272
            jjtree.closeNodeScope(jjtn000, true);
1273
            jjtreeCloseNodeScope(jjtn000);
1274
          }
1275
    }
1276
  }
1277

    
1278
  final public void SQLSelect() throws ParseException {
1279
 /*@bgen(jjtree) SQLSelect */
1280
  ASTSQLSelect jjtn000 = new ASTSQLSelect(JJTSQLSELECT);
1281
  boolean jjtc000 = true;
1282
  jjtree.openNodeScope(jjtn000);
1283
  jjtreeOpenNodeScope(jjtn000);
1284
    try {
1285
      jj_consume_token(SELECT);
1286
      SQLSelectCols();
1287
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1288
      case INTO:
1289
        jj_consume_token(INTO);
1290
        SQLSelectCols();
1291
        break;
1292
      default:
1293
        jj_la1[26] = jj_gen;
1294
        ;
1295
      }
1296
      jj_consume_token(FROM);
1297
      SQLTableList();
1298
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1299
      case WHERE:
1300
        SQLWhere();
1301
        break;
1302
      default:
1303
        jj_la1[27] = jj_gen;
1304
        ;
1305
      }
1306
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1307
      case GROUP:
1308
        SQLGroupBy();
1309
        break;
1310
      default:
1311
        jj_la1[28] = jj_gen;
1312
        ;
1313
      }
1314
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1315
      case ORDER:
1316
        SQLOrderBy();
1317
        break;
1318
      default:
1319
        jj_la1[29] = jj_gen;
1320
        ;
1321
      }
1322
    } catch (Throwable jjte000) {
1323
    if (jjtc000) {
1324
      jjtree.clearNodeScope(jjtn000);
1325
      jjtc000 = false;
1326
    } else {
1327
      jjtree.popNode();
1328
    }
1329
    if (jjte000 instanceof RuntimeException) {
1330
      {if (true) throw (RuntimeException)jjte000;}
1331
    }
1332
    if (jjte000 instanceof ParseException) {
1333
      {if (true) throw (ParseException)jjte000;}
1334
    }
1335
    {if (true) throw (Error)jjte000;}
1336
    } finally {
1337
    if (jjtc000) {
1338
      jjtree.closeNodeScope(jjtn000, true);
1339
      jjtreeCloseNodeScope(jjtn000);
1340
    }
1341
    }
1342
  }
1343

    
1344
  final public void SQLSelectCols() throws ParseException {
1345
 /*@bgen(jjtree) SQLSelectCols */
1346
  ASTSQLSelectCols jjtn000 = new ASTSQLSelectCols(JJTSQLSELECTCOLS);
1347
  boolean jjtc000 = true;
1348
  jjtree.openNodeScope(jjtn000);
1349
  jjtreeOpenNodeScope(jjtn000);
1350
    try {
1351
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1352
      case ALL:
1353
      case DISTINCT:
1354
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1355
        case ALL:
1356
          jj_consume_token(ALL);
1357
          break;
1358
        case DISTINCT:
1359
          jj_consume_token(DISTINCT);
1360
          break;
1361
        default:
1362
          jj_la1[30] = jj_gen;
1363
          jj_consume_token(-1);
1364
          throw new ParseException();
1365
        }
1366
        break;
1367
      default:
1368
        jj_la1[31] = jj_gen;
1369
        ;
1370
      }
1371
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1372
      case MAX:
1373
      case MIN:
1374
      case SPACES:
1375
      case SUBSTR:
1376
      case SUM:
1377
      case UPPER:
1378
      case COUNT:
1379
      case LENGTH:
1380
      case LTRIM:
1381
      case REPLACE:
1382
      case RTRIM:
1383
      case INTEGER_LITERAL:
1384
      case FLOATING_POINT_LITERAL:
1385
      case STRING_LITERAL:
1386
      case ID:
1387
      case OPENPAREN:
1388
      case ASTERISK:
1389
      case PLUS:
1390
      case MINUS:
1391
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1392
        case ASTERISK:
1393
          jj_consume_token(ASTERISK);
1394
          break;
1395
        case MAX:
1396
        case MIN:
1397
        case SPACES:
1398
        case SUBSTR:
1399
        case SUM:
1400
        case UPPER:
1401
        case COUNT:
1402
        case LENGTH:
1403
        case LTRIM:
1404
        case REPLACE:
1405
        case RTRIM:
1406
        case INTEGER_LITERAL:
1407
        case FLOATING_POINT_LITERAL:
1408
        case STRING_LITERAL:
1409
        case ID:
1410
        case OPENPAREN:
1411
        case PLUS:
1412
        case MINUS:
1413
          SQLSelectList();
1414
          break;
1415
        default:
1416
          jj_la1[32] = jj_gen;
1417
          jj_consume_token(-1);
1418
          throw new ParseException();
1419
        }
1420
        break;
1421
      default:
1422
        jj_la1[33] = jj_gen;
1423
        ;
1424
      }
1425
    } catch (Throwable jjte000) {
1426
    if (jjtc000) {
1427
      jjtree.clearNodeScope(jjtn000);
1428
      jjtc000 = false;
1429
    } else {
1430
      jjtree.popNode();
1431
    }
1432
    if (jjte000 instanceof RuntimeException) {
1433
      {if (true) throw (RuntimeException)jjte000;}
1434
    }
1435
    if (jjte000 instanceof ParseException) {
1436
      {if (true) throw (ParseException)jjte000;}
1437
    }
1438
    {if (true) throw (Error)jjte000;}
1439
    } finally {
1440
    if (jjtc000) {
1441
      jjtree.closeNodeScope(jjtn000, true);
1442
      jjtreeCloseNodeScope(jjtn000);
1443
    }
1444
    }
1445
  }
1446

    
1447
  final public void SQLSelectList() throws ParseException {
1448
 /*@bgen(jjtree) SQLSelectList */
1449
  ASTSQLSelectList jjtn000 = new ASTSQLSelectList(JJTSQLSELECTLIST);
1450
  boolean jjtc000 = true;
1451
  jjtree.openNodeScope(jjtn000);
1452
  jjtreeOpenNodeScope(jjtn000);
1453
    try {
1454
      SQLSumExpr();
1455
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1456
      case AS:
1457
        jj_consume_token(AS);
1458
        jj_consume_token(ID);
1459
        break;
1460
      default:
1461
        jj_la1[34] = jj_gen;
1462
        ;
1463
      }
1464
      label_7:
1465
      while (true) {
1466
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1467
        case 75:
1468
          ;
1469
          break;
1470
        default:
1471
          jj_la1[35] = jj_gen;
1472
          break label_7;
1473
        }
1474
        jj_consume_token(75);
1475
        SQLSumExpr();
1476
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1477
        case AS:
1478
          jj_consume_token(AS);
1479
          jj_consume_token(ID);
1480
          break;
1481
        default:
1482
          jj_la1[36] = jj_gen;
1483
          ;
1484
        }
1485
      }
1486
    } catch (Throwable jjte000) {
1487
    if (jjtc000) {
1488
      jjtree.clearNodeScope(jjtn000);
1489
      jjtc000 = false;
1490
    } else {
1491
      jjtree.popNode();
1492
    }
1493
    if (jjte000 instanceof RuntimeException) {
1494
      {if (true) throw (RuntimeException)jjte000;}
1495
    }
1496
    if (jjte000 instanceof ParseException) {
1497
      {if (true) throw (ParseException)jjte000;}
1498
    }
1499
    {if (true) throw (Error)jjte000;}
1500
    } finally {
1501
    if (jjtc000) {
1502
      jjtree.closeNodeScope(jjtn000, true);
1503
      jjtreeCloseNodeScope(jjtn000);
1504
    }
1505
    }
1506
  }
1507

    
1508
  final public void SQLStatement() throws ParseException {
1509
 /*@bgen(jjtree) SQLStatement */
1510
  ASTSQLStatement jjtn000 = new ASTSQLStatement(JJTSQLSTATEMENT);
1511
  boolean jjtc000 = true;
1512
  jjtree.openNodeScope(jjtn000);
1513
  jjtreeOpenNodeScope(jjtn000);
1514
    try {
1515
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1516
      case SELECT:
1517
        SQLSelect();
1518
        break;
1519
      case INSERT:
1520
        SQLInsert();
1521
        break;
1522
      case UPDATE:
1523
        SQLUpdate();
1524
        break;
1525
      case DELETE:
1526
        SQLDelete();
1527
        break;
1528
      case ID:
1529
      case OPENPAREN:
1530
        SQLUnion();
1531
        break;
1532
      default:
1533
        jj_la1[37] = jj_gen;
1534
        jj_consume_token(-1);
1535
        throw new ParseException();
1536
      }
1537
      jj_consume_token(SEMICOLON);
1538
    } catch (Throwable jjte000) {
1539
    if (jjtc000) {
1540
      jjtree.clearNodeScope(jjtn000);
1541
      jjtc000 = false;
1542
    } else {
1543
      jjtree.popNode();
1544
    }
1545
    if (jjte000 instanceof RuntimeException) {
1546
      {if (true) throw (RuntimeException)jjte000;}
1547
    }
1548
    if (jjte000 instanceof ParseException) {
1549
      {if (true) throw (ParseException)jjte000;}
1550
    }
1551
    {if (true) throw (Error)jjte000;}
1552
    } finally {
1553
    if (jjtc000) {
1554
      jjtree.closeNodeScope(jjtn000, true);
1555
      jjtreeCloseNodeScope(jjtn000);
1556
    }
1557
    }
1558
  }
1559

    
1560
  final public void SQLSumExpr() throws ParseException {
1561
 /*@bgen(jjtree) SQLSumExpr */
1562
  ASTSQLSumExpr jjtn000 = new ASTSQLSumExpr(JJTSQLSUMEXPR);
1563
  boolean jjtc000 = true;
1564
  jjtree.openNodeScope(jjtn000);
1565
  jjtreeOpenNodeScope(jjtn000);
1566
    try {
1567
      SQLProductExpr();
1568
      label_8:
1569
      while (true) {
1570
        if (jj_2_9(2)) {
1571
          ;
1572
        } else {
1573
          break label_8;
1574
        }
1575
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1576
        case PLUS:
1577
          jj_consume_token(PLUS);
1578
          break;
1579
        case MINUS:
1580
          jj_consume_token(MINUS);
1581
          break;
1582
        case CONCAT:
1583
          jj_consume_token(CONCAT);
1584
          break;
1585
        default:
1586
          jj_la1[38] = jj_gen;
1587
          jj_consume_token(-1);
1588
          throw new ParseException();
1589
        }
1590
        SQLProductExpr();
1591
      }
1592
    } catch (Throwable jjte000) {
1593
      if (jjtc000) {
1594
        jjtree.clearNodeScope(jjtn000);
1595
        jjtc000 = false;
1596
      } else {
1597
        jjtree.popNode();
1598
      }
1599
      if (jjte000 instanceof RuntimeException) {
1600
        {if (true) throw (RuntimeException)jjte000;}
1601
      }
1602
      if (jjte000 instanceof ParseException) {
1603
        {if (true) throw (ParseException)jjte000;}
1604
      }
1605
      {if (true) throw (Error)jjte000;}
1606
    } finally {
1607
      if (jjtc000) {
1608
        jjtree.closeNodeScope(jjtn000, true);
1609
        jjtreeCloseNodeScope(jjtn000);
1610
      }
1611
    }
1612
  }
1613

    
1614
  final public void SQLTableList() throws ParseException {
1615
 /*@bgen(jjtree) SQLTableList */
1616
  ASTSQLTableList jjtn000 = new ASTSQLTableList(JJTSQLTABLELIST);
1617
  boolean jjtc000 = true;
1618
  jjtree.openNodeScope(jjtn000);
1619
  jjtreeOpenNodeScope(jjtn000);
1620
    try {
1621
      SQLTableRef();
1622
      label_9:
1623
      while (true) {
1624
        if (jj_2_10(2)) {
1625
          ;
1626
        } else {
1627
          break label_9;
1628
        }
1629
        jj_consume_token(75);
1630
        SQLTableRef();
1631
      }
1632
    } catch (Throwable jjte000) {
1633
    if (jjtc000) {
1634
      jjtree.clearNodeScope(jjtn000);
1635
      jjtc000 = false;
1636
    } else {
1637
      jjtree.popNode();
1638
    }
1639
    if (jjte000 instanceof RuntimeException) {
1640
      {if (true) throw (RuntimeException)jjte000;}
1641
    }
1642
    if (jjte000 instanceof ParseException) {
1643
      {if (true) throw (ParseException)jjte000;}
1644
    }
1645
    {if (true) throw (Error)jjte000;}
1646
    } finally {
1647
    if (jjtc000) {
1648
      jjtree.closeNodeScope(jjtn000, true);
1649
      jjtreeCloseNodeScope(jjtn000);
1650
    }
1651
    }
1652
  }
1653

    
1654
  final public void SQLTableRef() throws ParseException {
1655
 /*@bgen(jjtree) SQLTableRef */
1656
  ASTSQLTableRef jjtn000 = new ASTSQLTableRef(JJTSQLTABLEREF);
1657
  boolean jjtc000 = true;
1658
  jjtree.openNodeScope(jjtn000);
1659
  jjtreeOpenNodeScope(jjtn000);
1660
    try {
1661
      jj_consume_token(ID);
1662
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1663
      case ID:
1664
        jj_consume_token(ID);
1665
        break;
1666
      default:
1667
        jj_la1[39] = jj_gen;
1668
        ;
1669
      }
1670
    } finally {
1671
    if (jjtc000) {
1672
      jjtree.closeNodeScope(jjtn000, true);
1673
      jjtreeCloseNodeScope(jjtn000);
1674
    }
1675
    }
1676
  }
1677

    
1678
  final public void SQLTerm() throws ParseException {
1679
 /*@bgen(jjtree) SQLTerm */
1680
  ASTSQLTerm jjtn000 = new ASTSQLTerm(JJTSQLTERM);
1681
  boolean jjtc000 = true;
1682
  jjtree.openNodeScope(jjtn000);
1683
  jjtreeOpenNodeScope(jjtn000);
1684
    try {
1685
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1686
      case OPENPAREN:
1687
        jj_consume_token(OPENPAREN);
1688
        SQLOrExpr();
1689
        jj_consume_token(CLOSEPAREN);
1690
        break;
1691
      case ID:
1692
        SQLColRef();
1693
        break;
1694
      case SPACES:
1695
      case INTEGER_LITERAL:
1696
      case FLOATING_POINT_LITERAL:
1697
      case STRING_LITERAL:
1698
      case ASTERISK:
1699
        SQLLiteral();
1700
        break;
1701
      case MAX:
1702
      case MIN:
1703
      case SUBSTR:
1704
      case SUM:
1705
      case UPPER:
1706
      case COUNT:
1707
      case LENGTH:
1708
      case LTRIM:
1709
      case REPLACE:
1710
      case RTRIM:
1711
        SQLFunction();
1712
        break;
1713
      default:
1714
        jj_la1[40] = jj_gen;
1715
        jj_consume_token(-1);
1716
        throw new ParseException();
1717
      }
1718
    } catch (Throwable jjte000) {
1719
    if (jjtc000) {
1720
      jjtree.clearNodeScope(jjtn000);
1721
      jjtc000 = false;
1722
    } else {
1723
      jjtree.popNode();
1724
    }
1725
    if (jjte000 instanceof RuntimeException) {
1726
      {if (true) throw (RuntimeException)jjte000;}
1727
    }
1728
    if (jjte000 instanceof ParseException) {
1729
      {if (true) throw (ParseException)jjte000;}
1730
    }
1731
    {if (true) throw (Error)jjte000;}
1732
    } finally {
1733
    if (jjtc000) {
1734
      jjtree.closeNodeScope(jjtn000, true);
1735
      jjtreeCloseNodeScope(jjtn000);
1736
    }
1737
    }
1738
  }
1739

    
1740
  final public void SQLUnaryExpr() throws ParseException {
1741
 /*@bgen(jjtree) SQLUnaryExpr */
1742
  ASTSQLUnaryExpr jjtn000 = new ASTSQLUnaryExpr(JJTSQLUNARYEXPR);
1743
  boolean jjtc000 = true;
1744
  jjtree.openNodeScope(jjtn000);
1745
  jjtreeOpenNodeScope(jjtn000);
1746
    try {
1747
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1748
      case PLUS:
1749
      case MINUS:
1750
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1751
        case PLUS:
1752
          jj_consume_token(PLUS);
1753
          break;
1754
        case MINUS:
1755
          jj_consume_token(MINUS);
1756
          break;
1757
        default:
1758
          jj_la1[41] = jj_gen;
1759
          jj_consume_token(-1);
1760
          throw new ParseException();
1761
        }
1762
        break;
1763
      default:
1764
        jj_la1[42] = jj_gen;
1765
        ;
1766
      }
1767
      SQLTerm();
1768
    } catch (Throwable jjte000) {
1769
    if (jjtc000) {
1770
      jjtree.clearNodeScope(jjtn000);
1771
      jjtc000 = false;
1772
    } else {
1773
      jjtree.popNode();
1774
    }
1775
    if (jjte000 instanceof RuntimeException) {
1776
      {if (true) throw (RuntimeException)jjte000;}
1777
    }
1778
    if (jjte000 instanceof ParseException) {
1779
      {if (true) throw (ParseException)jjte000;}
1780
    }
1781
    {if (true) throw (Error)jjte000;}
1782
    } finally {
1783
    if (jjtc000) {
1784
      jjtree.closeNodeScope(jjtn000, true);
1785
      jjtreeCloseNodeScope(jjtn000);
1786
    }
1787
    }
1788
  }
1789

    
1790
  final public void SQLUpdate() throws ParseException {
1791
 /*@bgen(jjtree) SQLUpdate */
1792
  ASTSQLUpdate jjtn000 = new ASTSQLUpdate(JJTSQLUPDATE);
1793
  boolean jjtc000 = true;
1794
  jjtree.openNodeScope(jjtn000);
1795
  jjtreeOpenNodeScope(jjtn000);
1796
    try {
1797
      jj_consume_token(UPDATE);
1798
      SQLTableList();
1799
      jj_consume_token(SET);
1800
      label_10:
1801
      while (true) {
1802
        SQLUpdateAssignment();
1803
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1804
        case 75:
1805
          jj_consume_token(75);
1806
          break;
1807
        default:
1808
          jj_la1[43] = jj_gen;
1809
          ;
1810
        }
1811
        if (jj_2_11(2147483647)) {
1812
          ;
1813
        } else {
1814
          break label_10;
1815
        }
1816
      }
1817
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1818
      case WHERE:
1819
        SQLWhere();
1820
        break;
1821
      default:
1822
        jj_la1[44] = jj_gen;
1823
        ;
1824
      }
1825
    } catch (Throwable jjte000) {
1826
    if (jjtc000) {
1827
      jjtree.clearNodeScope(jjtn000);
1828
      jjtc000 = false;
1829
    } else {
1830
      jjtree.popNode();
1831
    }
1832
    if (jjte000 instanceof RuntimeException) {
1833
      {if (true) throw (RuntimeException)jjte000;}
1834
    }
1835
    if (jjte000 instanceof ParseException) {
1836
      {if (true) throw (ParseException)jjte000;}
1837
    }
1838
    {if (true) throw (Error)jjte000;}
1839
    } finally {
1840
    if (jjtc000) {
1841
      jjtree.closeNodeScope(jjtn000, true);
1842
      jjtreeCloseNodeScope(jjtn000);
1843
    }
1844
    }
1845
  }
1846

    
1847
  final public void SQLUpdateAssignment() throws ParseException {
1848
 /*@bgen(jjtree) SQLUpdateAssignment */
1849
  ASTSQLUpdateAssignment jjtn000 = new ASTSQLUpdateAssignment(JJTSQLUPDATEASSIGNMENT);
1850
  boolean jjtc000 = true;
1851
  jjtree.openNodeScope(jjtn000);
1852
  jjtreeOpenNodeScope(jjtn000);
1853
    try {
1854
      SQLLvalue();
1855
      jj_consume_token(EQUAL);
1856
      if (jj_2_12(2147483647)) {
1857
        SQLTerm();
1858
        label_11:
1859
        while (true) {
1860
          jj_consume_token(CONCAT);
1861
          SQLTerm();
1862
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1863
          case CONCAT:
1864
            ;
1865
            break;
1866
          default:
1867
            jj_la1[45] = jj_gen;
1868
            break label_11;
1869
          }
1870
        }
1871
      } else {
1872
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1873
        case MAX:
1874
        case MIN:
1875
        case SPACES:
1876
        case SUBSTR:
1877
        case SUM:
1878
        case UPPER:
1879
        case COUNT:
1880
        case LENGTH:
1881
        case LTRIM:
1882
        case REPLACE:
1883
        case RTRIM:
1884
        case INTEGER_LITERAL:
1885
        case FLOATING_POINT_LITERAL:
1886
        case STRING_LITERAL:
1887
        case ID:
1888
        case OPENPAREN:
1889
        case ASTERISK:
1890
        case PLUS:
1891
        case MINUS:
1892
          SQLSumExpr();
1893
          break;
1894
        default:
1895
          jj_la1[46] = jj_gen;
1896
          jj_consume_token(-1);
1897
          throw new ParseException();
1898
        }
1899
      }
1900
    } catch (Throwable jjte000) {
1901
    if (jjtc000) {
1902
      jjtree.clearNodeScope(jjtn000);
1903
      jjtc000 = false;
1904
    } else {
1905
      jjtree.popNode();
1906
    }
1907
    if (jjte000 instanceof RuntimeException) {
1908
      {if (true) throw (RuntimeException)jjte000;}
1909
    }
1910
    if (jjte000 instanceof ParseException) {
1911
      {if (true) throw (ParseException)jjte000;}
1912
    }
1913
    {if (true) throw (Error)jjte000;}
1914
    } finally {
1915
    if (jjtc000) {
1916
      jjtree.closeNodeScope(jjtn000, true);
1917
      jjtreeCloseNodeScope(jjtn000);
1918
    }
1919
    }
1920
  }
1921

    
1922
  final public void SQLLValueElement() throws ParseException {
1923
 /*@bgen(jjtree) SQLLValueElement */
1924
  ASTSQLLValueElement jjtn000 = new ASTSQLLValueElement(JJTSQLLVALUEELEMENT);
1925
  boolean jjtc000 = true;
1926
  jjtree.openNodeScope(jjtn000);
1927
  jjtreeOpenNodeScope(jjtn000);
1928
    try {
1929
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1930
      case NULL:
1931
        jj_consume_token(NULL);
1932
        break;
1933
      case MAX:
1934
      case MIN:
1935
      case SPACES:
1936
      case SUBSTR:
1937
      case SUM:
1938
      case UPPER:
1939
      case COUNT:
1940
      case LENGTH:
1941
      case LTRIM:
1942
      case REPLACE:
1943
      case RTRIM:
1944
      case INTEGER_LITERAL:
1945
      case FLOATING_POINT_LITERAL:
1946
      case STRING_LITERAL:
1947
      case ID:
1948
      case OPENPAREN:
1949
      case ASTERISK:
1950
      case PLUS:
1951
      case MINUS:
1952
        SQLSumExpr();
1953
        break;
1954
      case SELECT:
1955
        SQLSelect();
1956
        break;
1957
      default:
1958
        jj_la1[47] = jj_gen;
1959
        jj_consume_token(-1);
1960
        throw new ParseException();
1961
      }
1962
    } catch (Throwable jjte000) {
1963
    if (jjtc000) {
1964
      jjtree.clearNodeScope(jjtn000);
1965
      jjtc000 = false;
1966
    } else {
1967
      jjtree.popNode();
1968
    }
1969
    if (jjte000 instanceof RuntimeException) {
1970
      {if (true) throw (RuntimeException)jjte000;}
1971
    }
1972
    if (jjte000 instanceof ParseException) {
1973
      {if (true) throw (ParseException)jjte000;}
1974
    }
1975
    {if (true) throw (Error)jjte000;}
1976
    } finally {
1977
    if (jjtc000) {
1978
      jjtree.closeNodeScope(jjtn000, true);
1979
      jjtreeCloseNodeScope(jjtn000);
1980
    }
1981
    }
1982
  }
1983

    
1984
  final public void SQLLValueList() throws ParseException {
1985
 /*@bgen(jjtree) SQLLValueList */
1986
  ASTSQLLValueList jjtn000 = new ASTSQLLValueList(JJTSQLLVALUELIST);
1987
  boolean jjtc000 = true;
1988
  jjtree.openNodeScope(jjtn000);
1989
  jjtreeOpenNodeScope(jjtn000);
1990
    try {
1991
      SQLLValueElement();
1992
      label_12:
1993
      while (true) {
1994
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1995
        case 75:
1996
          ;
1997
          break;
1998
        default:
1999
          jj_la1[48] = jj_gen;
2000
          break label_12;
2001
        }
2002
        jj_consume_token(75);
2003
        SQLLValueElement();
2004
      }
2005
    } catch (Throwable jjte000) {
2006
    if (jjtc000) {
2007
      jjtree.clearNodeScope(jjtn000);
2008
      jjtc000 = false;
2009
    } else {
2010
      jjtree.popNode();
2011
    }
2012
    if (jjte000 instanceof RuntimeException) {
2013
      {if (true) throw (RuntimeException)jjte000;}
2014
    }
2015
    if (jjte000 instanceof ParseException) {
2016
      {if (true) throw (ParseException)jjte000;}
2017
    }
2018
    {if (true) throw (Error)jjte000;}
2019
    } finally {
2020
    if (jjtc000) {
2021
      jjtree.closeNodeScope(jjtn000, true);
2022
      jjtreeCloseNodeScope(jjtn000);
2023
    }
2024
    }
2025
  }
2026

    
2027
  final public void SQLWhere() throws ParseException {
2028
 /*@bgen(jjtree) SQLWhere */
2029
  ASTSQLWhere jjtn000 = new ASTSQLWhere(JJTSQLWHERE);
2030
  boolean jjtc000 = true;
2031
  jjtree.openNodeScope(jjtn000);
2032
  jjtreeOpenNodeScope(jjtn000);
2033
    try {
2034
      jj_consume_token(WHERE);
2035
      SQLOrExpr();
2036
    } catch (Throwable jjte000) {
2037
    if (jjtc000) {
2038
      jjtree.clearNodeScope(jjtn000);
2039
      jjtc000 = false;
2040
    } else {
2041
      jjtree.popNode();
2042
    }
2043
    if (jjte000 instanceof RuntimeException) {
2044
      {if (true) throw (RuntimeException)jjte000;}
2045
    }
2046
    if (jjte000 instanceof ParseException) {
2047
      {if (true) throw (ParseException)jjte000;}
2048
    }
2049
    {if (true) throw (Error)jjte000;}
2050
    } finally {
2051
    if (jjtc000) {
2052
      jjtree.closeNodeScope(jjtn000, true);
2053
      jjtreeCloseNodeScope(jjtn000);
2054
    }
2055
    }
2056
  }
2057

    
2058
  final private boolean jj_2_1(int xla) {
2059
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2060
    try { return !jj_3_1(); }
2061
    catch(LookaheadSuccess ls) { return true; }
2062
    finally { jj_save(0, xla); }
2063
  }
2064

    
2065
  final private boolean jj_2_2(int xla) {
2066
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2067
    try { return !jj_3_2(); }
2068
    catch(LookaheadSuccess ls) { return true; }
2069
    finally { jj_save(1, xla); }
2070
  }
2071

    
2072
  final private boolean jj_2_3(int xla) {
2073
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2074
    try { return !jj_3_3(); }
2075
    catch(LookaheadSuccess ls) { return true; }
2076
    finally { jj_save(2, xla); }
2077
  }
2078

    
2079
  final private boolean jj_2_4(int xla) {
2080
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2081
    try { return !jj_3_4(); }
2082
    catch(LookaheadSuccess ls) { return true; }
2083
    finally { jj_save(3, xla); }
2084
  }
2085

    
2086
  final private boolean jj_2_5(int xla) {
2087
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2088
    try { return !jj_3_5(); }
2089
    catch(LookaheadSuccess ls) { return true; }
2090
    finally { jj_save(4, xla); }
2091
  }
2092

    
2093
  final private boolean jj_2_6(int xla) {
2094
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2095
    try { return !jj_3_6(); }
2096
    catch(LookaheadSuccess ls) { return true; }
2097
    finally { jj_save(5, xla); }
2098
  }
2099

    
2100
  final private boolean jj_2_7(int xla) {
2101
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2102
    try { return !jj_3_7(); }
2103
    catch(LookaheadSuccess ls) { return true; }
2104
    finally { jj_save(6, xla); }
2105
  }
2106

    
2107
  final private boolean jj_2_8(int xla) {
2108
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2109
    try { return !jj_3_8(); }
2110
    catch(LookaheadSuccess ls) { return true; }
2111
    finally { jj_save(7, xla); }
2112
  }
2113

    
2114
  final private boolean jj_2_9(int xla) {
2115
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2116
    try { return !jj_3_9(); }
2117
    catch(LookaheadSuccess ls) { return true; }
2118
    finally { jj_save(8, xla); }
2119
  }
2120

    
2121
  final private boolean jj_2_10(int xla) {
2122
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2123
    try { return !jj_3_10(); }
2124
    catch(LookaheadSuccess ls) { return true; }
2125
    finally { jj_save(9, xla); }
2126
  }
2127

    
2128
  final private boolean jj_2_11(int xla) {
2129
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2130
    try { return !jj_3_11(); }
2131
    catch(LookaheadSuccess ls) { return true; }
2132
    finally { jj_save(10, xla); }
2133
  }
2134

    
2135
  final private boolean jj_2_12(int xla) {
2136
    jj_la = xla; jj_lastpos = jj_scanpos = token;
2137
    try { return !jj_3_12(); }
2138
    catch(LookaheadSuccess ls) { return true; }
2139
    finally { jj_save(11, xla); }
2140
  }
2141

    
2142
  final private boolean jj_3R_42() {
2143
    if (jj_scan_token(ORDER)) return true;
2144
    if (jj_scan_token(BY)) return true;
2145
    if (jj_3R_51()) return true;
2146
    return false;
2147
  }
2148

    
2149
  final private boolean jj_3R_14() {
2150
    if (jj_3R_23()) return true;
2151
    return false;
2152
  }
2153

    
2154
  final private boolean jj_3R_65() {
2155
    Token xsp;
2156
    xsp = jj_scanpos;
2157
    if (jj_scan_token(24)) jj_scanpos = xsp;
2158
    if (jj_3R_71()) return true;
2159
    return false;
2160
  }
2161

    
2162
  final private boolean jj_3R_46() {
2163
    if (jj_scan_token(DOT)) return true;
2164
    if (jj_scan_token(ID)) return true;
2165
    return false;
2166
  }
2167

    
2168
  final private boolean jj_3R_19() {
2169
    Token xsp;
2170
    xsp = jj_scanpos;
2171
    if (jj_scan_token(24)) jj_scanpos = xsp;
2172
    if (jj_scan_token(BETWEEN)) return true;
2173
    if (jj_3R_18()) return true;
2174
    if (jj_scan_token(AND)) return true;
2175
    if (jj_3R_18()) return true;
2176
    return false;
2177
  }
2178

    
2179
  final private boolean jj_3R_33() {
2180
    if (jj_scan_token(ID)) return true;
2181
    Token xsp;
2182
    while (true) {
2183
      xsp = jj_scanpos;
2184
      if (jj_3R_46()) { jj_scanpos = xsp; break; }
2185
    }
2186
    return false;
2187
  }
2188

    
2189
  final private boolean jj_3R_66() {
2190
    if (jj_scan_token(AND)) return true;
2191
    if (jj_3R_65()) return true;
2192
    return false;
2193
  }
2194

    
2195
  final private boolean jj_3R_45() {
2196
    Token xsp;
2197
    xsp = jj_scanpos;
2198
    if (jj_scan_token(71)) {
2199
    jj_scanpos = xsp;
2200
    if (jj_scan_token(72)) return true;
2201
    }
2202
    return false;
2203
  }
2204

    
2205
  final private boolean jj_3R_32() {
2206
    Token xsp;
2207
    xsp = jj_scanpos;
2208
    if (jj_3R_45()) jj_scanpos = xsp;
2209
    if (jj_3R_24()) return true;
2210
    return false;
2211
  }
2212

    
2213
  final private boolean jj_3R_52() {
2214
    if (jj_3R_65()) return true;
2215
    Token xsp;
2216
    while (true) {
2217
      xsp = jj_scanpos;
2218
      if (jj_3R_66()) { jj_scanpos = xsp; break; }
2219
    }
2220
    return false;
2221
  }
2222

    
2223
  final private boolean jj_3R_23() {
2224
    if (jj_3R_33()) return true;
2225
    return false;
2226
  }
2227

    
2228
  final private boolean jj_3R_37() {
2229
    if (jj_3R_49()) return true;
2230
    return false;
2231
  }
2232

    
2233
  final private boolean jj_3R_36() {
2234
    if (jj_3R_48()) return true;
2235
    return false;
2236
  }
2237

    
2238
  final private boolean jj_3R_35() {
2239
    if (jj_3R_14()) return true;
2240
    return false;
2241
  }
2242

    
2243
  final private boolean jj_3R_34() {
2244
    if (jj_scan_token(OPENPAREN)) return true;
2245
    if (jj_3R_47()) return true;
2246
    if (jj_scan_token(CLOSEPAREN)) return true;
2247
    return false;
2248
  }
2249

    
2250
  final private boolean jj_3R_24() {
2251
    Token xsp;
2252
    xsp = jj_scanpos;
2253
    if (jj_3R_34()) {
2254
    jj_scanpos = xsp;
2255
    if (jj_3R_35()) {
2256
    jj_scanpos = xsp;
2257
    if (jj_3R_36()) {
2258
    jj_scanpos = xsp;
2259
    if (jj_3R_37()) return true;
2260
    }
2261
    }
2262
    }
2263
    return false;
2264
  }
2265

    
2266
  final private boolean jj_3R_48() {
2267
    Token xsp;
2268
    xsp = jj_scanpos;
2269
    if (jj_scan_token(50)) {
2270
    jj_scanpos = xsp;
2271
    if (jj_scan_token(47)) {
2272
    jj_scanpos = xsp;
2273
    if (jj_scan_token(48)) {
2274
    jj_scanpos = xsp;
2275
    if (jj_scan_token(30)) {
2276
    jj_scanpos = xsp;
2277
    if (jj_scan_token(69)) return true;
2278
    }
2279
    }
2280
    }
2281
    }
2282
    return false;
2283
  }
2284

    
2285
  final private boolean jj_3R_22() {
2286
    if (jj_scan_token(ID)) return true;
2287
    Token xsp;
2288
    xsp = jj_scanpos;
2289
    if (jj_scan_token(51)) jj_scanpos = xsp;
2290
    return false;
2291
  }
2292

    
2293
  final private boolean jj_3R_15() {
2294
    Token xsp;
2295
    xsp = jj_scanpos;
2296
    if (jj_scan_token(24)) jj_scanpos = xsp;
2297
    if (jj_scan_token(LIKE)) return true;
2298
    if (jj_3R_31()) return true;
2299
    return false;
2300
  }
2301

    
2302
  final private boolean jj_3_10() {
2303
    if (jj_scan_token(75)) return true;
2304
    if (jj_3R_22()) return true;
2305
    return false;
2306
  }
2307

    
2308
  final private boolean jj_3R_87() {
2309
    if (jj_scan_token(JOINPLUS)) return true;
2310
    if (jj_3R_17()) return true;
2311
    if (jj_3R_18()) return true;
2312
    return false;
2313
  }
2314

    
2315
  final private boolean jj_3R_27() {
2316
    if (jj_3R_22()) return true;
2317
    Token xsp;
2318
    while (true) {
2319
      xsp = jj_scanpos;
2320
      if (jj_3_10()) { jj_scanpos = xsp; break; }
2321
    }
2322
    return false;
2323
  }
2324

    
2325
  final private boolean jj_3_9() {
2326
    Token xsp;
2327
    xsp = jj_scanpos;
2328
    if (jj_scan_token(71)) {
2329
    jj_scanpos = xsp;
2330
    if (jj_scan_token(72)) {
2331
    jj_scanpos = xsp;
2332
    if (jj_scan_token(55)) return true;
2333
    }
2334
    }
2335
    if (jj_3R_21()) return true;
2336
    return false;
2337
  }
2338

    
2339
  final private boolean jj_3R_73() {
2340
    if (jj_scan_token(AS)) return true;
2341
    if (jj_scan_token(ID)) return true;
2342
    return false;
2343
  }
2344

    
2345
  final private boolean jj_3R_18() {
2346
    if (jj_3R_21()) return true;
2347
    Token xsp;
2348
    while (true) {
2349
      xsp = jj_scanpos;
2350
      if (jj_3_9()) { jj_scanpos = xsp; break; }
2351
    }
2352
    return false;
2353
  }
2354

    
2355
  final private boolean jj_3R_80() {
2356
    if (jj_3R_14()) return true;
2357
    if (jj_scan_token(IS)) return true;
2358
    Token xsp;
2359
    xsp = jj_scanpos;
2360
    if (jj_scan_token(24)) jj_scanpos = xsp;
2361
    if (jj_scan_token(NULL)) return true;
2362
    return false;
2363
  }
2364

    
2365
  final private boolean jj_3R_68() {
2366
    if (jj_scan_token(AS)) return true;
2367
    if (jj_scan_token(ID)) return true;
2368
    return false;
2369
  }
2370

    
2371
  final private boolean jj_3R_50() {
2372
    if (jj_3R_64()) return true;
2373
    return false;
2374
  }
2375

    
2376
  final private boolean jj_3R_69() {
2377
    if (jj_scan_token(75)) return true;
2378
    if (jj_3R_18()) return true;
2379
    Token xsp;
2380
    xsp = jj_scanpos;
2381
    if (jj_3R_73()) jj_scanpos = xsp;
2382
    return false;
2383
  }
2384

    
2385
  final private boolean jj_3R_64() {
2386
    if (jj_3R_18()) return true;
2387
    Token xsp;
2388
    xsp = jj_scanpos;
2389
    if (jj_3R_68()) jj_scanpos = xsp;
2390
    while (true) {
2391
      xsp = jj_scanpos;
2392
      if (jj_3R_69()) { jj_scanpos = xsp; break; }
2393
    }
2394
    return false;
2395
  }
2396

    
2397
  final private boolean jj_3R_39() {
2398
    Token xsp;
2399
    xsp = jj_scanpos;
2400
    if (jj_scan_token(69)) {
2401
    jj_scanpos = xsp;
2402
    if (jj_3R_50()) return true;
2403
    }
2404
    return false;
2405
  }
2406

    
2407
  final private boolean jj_3R_38() {
2408
    Token xsp;
2409
    xsp = jj_scanpos;
2410
    if (jj_scan_token(7)) {
2411
    jj_scanpos = xsp;
2412
    if (jj_scan_token(15)) return true;
2413
    }
2414
    return false;
2415
  }
2416

    
2417
  final private boolean jj_3R_16() {
2418
    Token xsp;
2419
    xsp = jj_scanpos;
2420
    if (jj_scan_token(24)) jj_scanpos = xsp;
2421
    if (jj_scan_token(IN)) return true;
2422
    if (jj_scan_token(OPENPAREN)) return true;
2423
    if (jj_3R_89()) return true;
2424
    if (jj_scan_token(CLOSEPAREN)) return true;
2425
    return false;
2426
  }
2427

    
2428
  final private boolean jj_3R_25() {
2429
    Token xsp;
2430
    xsp = jj_scanpos;
2431
    if (jj_3R_38()) jj_scanpos = xsp;
2432
    xsp = jj_scanpos;
2433
    if (jj_3R_39()) jj_scanpos = xsp;
2434
    return false;
2435
  }
2436

    
2437
  final private boolean jj_3R_30() {
2438
    if (jj_3R_42()) return true;
2439
    return false;
2440
  }
2441

    
2442
  final private boolean jj_3R_29() {
2443
    if (jj_3R_41()) return true;
2444
    return false;
2445
  }
2446

    
2447
  final private boolean jj_3R_41() {
2448
    if (jj_scan_token(GROUP)) return true;
2449
    if (jj_scan_token(BY)) return true;
2450
    if (jj_3R_51()) return true;
2451
    return false;
2452
  }
2453

    
2454
  final private boolean jj_3R_28() {
2455
    if (jj_3R_40()) return true;
2456
    return false;
2457
  }
2458

    
2459
  final private boolean jj_3R_79() {
2460
    if (jj_scan_token(75)) return true;
2461
    if (jj_3R_18()) return true;
2462
    return false;
2463
  }
2464

    
2465
  final private boolean jj_3R_26() {
2466
    if (jj_scan_token(INTO)) return true;
2467
    if (jj_3R_25()) return true;
2468
    return false;
2469
  }
2470

    
2471
  final private boolean jj_3R_72() {
2472
    if (jj_3R_18()) return true;
2473
    Token xsp;
2474
    while (true) {
2475
      xsp = jj_scanpos;
2476
      if (jj_3R_79()) { jj_scanpos = xsp; break; }
2477
    }
2478
    return false;
2479
  }
2480

    
2481
  final private boolean jj_3R_13() {
2482
    if (jj_scan_token(SELECT)) return true;
2483
    if (jj_3R_25()) return true;
2484
    Token xsp;
2485
    xsp = jj_scanpos;
2486
    if (jj_3R_26()) jj_scanpos = xsp;
2487
    if (jj_scan_token(FROM)) return true;
2488
    if (jj_3R_27()) return true;
2489
    xsp = jj_scanpos;
2490
    if (jj_3R_28()) jj_scanpos = xsp;
2491
    xsp = jj_scanpos;
2492
    if (jj_3R_29()) jj_scanpos = xsp;
2493
    xsp = jj_scanpos;
2494
    if (jj_3R_30()) jj_scanpos = xsp;
2495
    return false;
2496
  }
2497

    
2498
  final private boolean jj_3R_67() {
2499
    if (jj_scan_token(OPENPAREN)) return true;
2500
    Token xsp;
2501
    xsp = jj_scanpos;
2502
    if (jj_3R_72()) jj_scanpos = xsp;
2503
    if (jj_scan_token(CLOSEPAREN)) return true;
2504
    return false;
2505
  }
2506

    
2507
  final private boolean jj_3R_63() {
2508
    if (jj_scan_token(SUBSTR)) return true;
2509
    if (jj_3R_67()) return true;
2510
    return false;
2511
  }
2512

    
2513
  final private boolean jj_3R_62() {
2514
    if (jj_scan_token(REPLACE)) return true;
2515
    if (jj_3R_67()) return true;
2516
    return false;
2517
  }
2518

    
2519
  final private boolean jj_3R_61() {
2520
    if (jj_scan_token(LENGTH)) return true;
2521
    if (jj_3R_67()) return true;
2522
    return false;
2523
  }
2524

    
2525
  final private boolean jj_3R_60() {
2526
    if (jj_scan_token(RTRIM)) return true;
2527
    if (jj_3R_67()) return true;
2528
    return false;
2529
  }
2530

    
2531
  final private boolean jj_3R_59() {
2532
    if (jj_scan_token(LTRIM)) return true;
2533
    if (jj_3R_67()) return true;
2534
    return false;
2535
  }
2536

    
2537
  final private boolean jj_3R_58() {
2538
    if (jj_scan_token(COUNT)) return true;
2539
    if (jj_3R_67()) return true;
2540
    return false;
2541
  }
2542

    
2543
  final private boolean jj_3R_57() {
2544
    if (jj_scan_token(SUM)) return true;
2545
    if (jj_3R_67()) return true;
2546
    return false;
2547
  }
2548

    
2549
  final private boolean jj_3R_56() {
2550
    if (jj_scan_token(MIN)) return true;
2551
    if (jj_3R_67()) return true;
2552
    return false;
2553
  }
2554

    
2555
  final private boolean jj_3R_55() {
2556
    if (jj_scan_token(MAX)) return true;
2557
    if (jj_3R_67()) return true;
2558
    return false;
2559
  }
2560

    
2561
  final private boolean jj_3R_54() {
2562
    if (jj_scan_token(UPPER)) return true;
2563
    if (jj_3R_67()) return true;
2564
    return false;
2565
  }
2566

    
2567
  final private boolean jj_3R_88() {
2568
    if (jj_3R_17()) return true;
2569
    if (jj_3R_18()) return true;
2570
    if (jj_scan_token(JOINPLUS)) return true;
2571
    return false;
2572
  }
2573

    
2574
  final private boolean jj_3R_49() {
2575
    Token xsp;
2576
    xsp = jj_scanpos;
2577
    if (jj_3R_54()) {
2578
    jj_scanpos = xsp;
2579
    if (jj_3R_55()) {
2580
    jj_scanpos = xsp;
2581
    if (jj_3R_56()) {
2582
    jj_scanpos = xsp;
2583
    if (jj_3R_57()) {
2584
    jj_scanpos = xsp;
2585
    if (jj_3R_58()) {
2586
    jj_scanpos = xsp;
2587
    if (jj_3R_59()) {
2588
    jj_scanpos = xsp;
2589
    if (jj_3R_60()) {
2590
    jj_scanpos = xsp;
2591
    if (jj_3R_61()) {
2592
    jj_scanpos = xsp;
2593
    if (jj_3R_62()) {
2594
    jj_scanpos = xsp;
2595
    if (jj_3R_63()) return true;
2596
    }
2597
    }
2598
    }
2599
    }
2600
    }
2601
    }
2602
    }
2603
    }
2604
    }
2605
    return false;
2606
  }
2607

    
2608
  final private boolean jj_3R_44() {
2609
    Token xsp;
2610
    xsp = jj_scanpos;
2611
    if (jj_scan_token(69)) {
2612
    jj_scanpos = xsp;
2613
    if (jj_scan_token(70)) return true;
2614
    }
2615
    if (jj_3R_32()) return true;
2616
    return false;
2617
  }
2618

    
2619
  final private boolean jj_3R_81() {
2620
    if (jj_scan_token(EXISTS)) return true;
2621
    if (jj_scan_token(OPENPAREN)) return true;
2622
    if (jj_3R_13()) return true;
2623
    if (jj_scan_token(CLOSEPAREN)) return true;
2624
    return false;
2625
  }
2626

    
2627
  final private boolean jj_3R_21() {
2628
    if (jj_3R_32()) return true;
2629
    Token xsp;
2630
    while (true) {
2631
      xsp = jj_scanpos;
2632
      if (jj_3R_44()) { jj_scanpos = xsp; break; }
2633
    }
2634
    return false;
2635
  }
2636

    
2637
  final private boolean jj_3R_43() {
2638
    if (jj_3R_23()) return true;
2639
    return false;
2640
  }
2641

    
2642
  final private boolean jj_3R_31() {
2643
    Token xsp;
2644
    xsp = jj_scanpos;
2645
    if (jj_scan_token(50)) {
2646
    jj_scanpos = xsp;
2647
    if (jj_scan_token(73)) {
2648
    jj_scanpos = xsp;
2649
    if (jj_3R_43()) return true;
2650
    }
2651
    }
2652
    return false;
2653
  }
2654

    
2655
  final private boolean jj_3R_53() {
2656
    if (jj_scan_token(OR)) return true;
2657
    if (jj_3R_52()) return true;
2658
    return false;
2659
  }
2660

    
2661
  final private boolean jj_3R_40() {
2662
    if (jj_scan_token(WHERE)) return true;
2663
    if (jj_3R_47()) return true;
2664
    return false;
2665
  }
2666

    
2667
  final private boolean jj_3_6() {
2668
    if (jj_3R_17()) return true;
2669
    if (jj_3R_18()) return true;
2670
    if (jj_scan_token(JOINPLUS)) return true;
2671
    return false;
2672
  }
2673

    
2674
  final private boolean jj_3R_47() {
2675
    if (jj_3R_52()) return true;
2676
    Token xsp;
2677
    while (true) {
2678
      xsp = jj_scanpos;
2679
      if (jj_3R_53()) { jj_scanpos = xsp; break; }
2680
    }
2681
    return false;
2682
  }
2683

    
2684
  final private boolean jj_3R_17() {
2685
    Token xsp;
2686
    xsp = jj_scanpos;
2687
    if (jj_scan_token(63)) {
2688
    jj_scanpos = xsp;
2689
    if (jj_scan_token(64)) {
2690
    jj_scanpos = xsp;
2691
    if (jj_scan_token(65)) {
2692
    jj_scanpos = xsp;
2693
    if (jj_scan_token(61)) {
2694
    jj_scanpos = xsp;
2695
    if (jj_scan_token(62)) {
2696
    jj_scanpos = xsp;
2697
    if (jj_scan_token(59)) {
2698
    jj_scanpos = xsp;
2699
    if (jj_scan_token(60)) return true;
2700
    }
2701
    }
2702
    }
2703
    }
2704
    }
2705
    }
2706
    return false;
2707
  }
2708

    
2709
  final private boolean jj_3R_91() {
2710
    if (jj_scan_token(75)) return true;
2711
    if (jj_3R_90()) return true;
2712
    return false;
2713
  }
2714

    
2715
  final private boolean jj_3R_82() {
2716
    if (jj_3R_83()) return true;
2717
    return false;
2718
  }
2719

    
2720
  final private boolean jj_3R_89() {
2721
    if (jj_3R_90()) return true;
2722
    Token xsp;
2723
    while (true) {
2724
      xsp = jj_scanpos;
2725
      if (jj_3R_91()) { jj_scanpos = xsp; break; }
2726
    }
2727
    return false;
2728
  }
2729

    
2730
  final private boolean jj_3R_86() {
2731
    if (jj_3R_17()) return true;
2732
    if (jj_3R_18()) return true;
2733
    return false;
2734
  }
2735

    
2736
  final private boolean jj_3R_74() {
2737
    Token xsp;
2738
    xsp = jj_scanpos;
2739
    if (jj_scan_token(10)) {
2740
    jj_scanpos = xsp;
2741
    if (jj_scan_token(14)) return true;
2742
    }
2743
    return false;
2744
  }
2745

    
2746
  final private boolean jj_3_7() {
2747
    if (jj_3R_19()) return true;
2748
    return false;
2749
  }
2750

    
2751
  final private boolean jj_3R_85() {
2752
    if (jj_3R_88()) return true;
2753
    return false;
2754
  }
2755

    
2756
  final private boolean jj_3R_93() {
2757
    if (jj_3R_13()) return true;
2758
    return false;
2759
  }
2760

    
2761
  final private boolean jj_3R_84() {
2762
    if (jj_3R_87()) return true;
2763
    return false;
2764
  }
2765

    
2766
  final private boolean jj_3_3() {
2767
    if (jj_scan_token(EXISTS)) return true;
2768
    return false;
2769
  }
2770

    
2771
  final private boolean jj_3_12() {
2772
    if (jj_3R_24()) return true;
2773
    if (jj_scan_token(CONCAT)) return true;
2774
    return false;
2775
  }
2776

    
2777
  final private boolean jj_3R_92() {
2778
    if (jj_3R_18()) return true;
2779
    return false;
2780
  }
2781

    
2782
  final private boolean jj_3_5() {
2783
    if (jj_3R_16()) return true;
2784
    return false;
2785
  }
2786

    
2787
  final private boolean jj_3_2() {
2788
    if (jj_3R_14()) return true;
2789
    if (jj_scan_token(IS)) return true;
2790
    return false;
2791
  }
2792

    
2793
  final private boolean jj_3_4() {
2794
    if (jj_3R_15()) return true;
2795
    return false;
2796
  }
2797

    
2798
  final private boolean jj_3_1() {
2799
    if (jj_3R_13()) return true;
2800
    return false;
2801
  }
2802

    
2803
  final private boolean jj_3R_90() {
2804
    Token xsp;
2805
    xsp = jj_scanpos;
2806
    if (jj_scan_token(25)) {
2807
    jj_scanpos = xsp;
2808
    if (jj_3R_92()) {
2809
    jj_scanpos = xsp;
2810
    if (jj_3R_93()) return true;
2811
    }
2812
    }
2813
    return false;
2814
  }
2815

    
2816
  final private boolean jj_3_8() {
2817
    if (jj_scan_token(75)) return true;
2818
    if (jj_3R_20()) return true;
2819
    return false;
2820
  }
2821

    
2822
  final private boolean jj_3R_83() {
2823
    Token xsp;
2824
    xsp = jj_scanpos;
2825
    if (jj_3_4()) {
2826
    jj_scanpos = xsp;
2827
    if (jj_3_5()) {
2828
    jj_scanpos = xsp;
2829
    if (jj_3R_84()) {
2830
    jj_scanpos = xsp;
2831
    if (jj_3R_85()) {
2832
    jj_scanpos = xsp;
2833
    if (jj_3_7()) {
2834
    jj_scanpos = xsp;
2835
    if (jj_3R_86()) return true;
2836
    }
2837
    }
2838
    }
2839
    }
2840
    }
2841
    return false;
2842
  }
2843

    
2844
  final private boolean jj_3R_51() {
2845
    if (jj_3R_20()) return true;
2846
    Token xsp;
2847
    while (true) {
2848
      xsp = jj_scanpos;
2849
      if (jj_3_8()) { jj_scanpos = xsp; break; }
2850
    }
2851
    return false;
2852
  }
2853

    
2854
  final private boolean jj_3R_78() {
2855
    if (jj_3R_18()) return true;
2856
    Token xsp;
2857
    xsp = jj_scanpos;
2858
    if (jj_3R_82()) jj_scanpos = xsp;
2859
    return false;
2860
  }
2861

    
2862
  final private boolean jj_3R_77() {
2863
    if (jj_3R_81()) return true;
2864
    return false;
2865
  }
2866

    
2867
  final private boolean jj_3R_70() {
2868
    if (jj_3R_74()) return true;
2869
    return false;
2870
  }
2871

    
2872
  final private boolean jj_3R_76() {
2873
    if (jj_3R_80()) return true;
2874
    return false;
2875
  }
2876

    
2877
  final private boolean jj_3R_75() {
2878
    if (jj_3R_13()) return true;
2879
    return false;
2880
  }
2881

    
2882
  final private boolean jj_3R_20() {
2883
    if (jj_3R_14()) return true;
2884
    Token xsp;
2885
    xsp = jj_scanpos;
2886
    if (jj_3R_70()) jj_scanpos = xsp;
2887
    return false;
2888
  }
2889

    
2890
  final private boolean jj_3R_71() {
2891
    Token xsp;
2892
    xsp = jj_scanpos;
2893
    if (jj_3R_75()) {
2894
    jj_scanpos = xsp;
2895
    if (jj_3R_76()) {
2896
    jj_scanpos = xsp;
2897
    if (jj_3R_77()) {
2898
    jj_scanpos = xsp;
2899
    if (jj_3R_78()) return true;
2900
    }
2901
    }
2902
    }
2903
    return false;
2904
  }
2905

    
2906
  final private boolean jj_3_11() {
2907
    if (jj_3R_23()) return true;
2908
    if (jj_scan_token(EQUAL)) return true;
2909
    return false;
2910
  }
2911

    
2912
  public SQLEngineTokenManager token_source;
2913
  SimpleCharStream jj_input_stream;
2914
  public Token token, jj_nt;
2915
  private int jj_ntk;
2916
  private Token jj_scanpos, jj_lastpos;
2917
  private int jj_la;
2918
  public boolean lookingAhead = false;
2919
  private boolean jj_semLA;
2920
  private int jj_gen;
2921
  final private int[] jj_la1 = new int[49];
2922
  static private int[] jj_la1_0;
2923
  static private int[] jj_la1_1;
2924
  static private int[] jj_la1_2;
2925
  static {
2926
      jj_la1_0();
2927
      jj_la1_1();
2928
      jj_la1_2();
2929
   }
2930
   private static void jj_la1_0() {
2931
      jj_la1_0 = new int[] {0x100,0x1000000,0x1281000,0xc0c00000,0x0,0x0,0x0,0x0,0x80c00000,0x0,0xc0c00000,0x1000000,0x0,0x1000000,0x1000000,0x40000000,0x0,0x1000000,0x4400,0x4400,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x8000000,0x8080,0x8080,0xc0c00000,0xc0c00000,0x200,0x0,0x200,0x10000000,0x0,0x0,0xc0c00000,0x0,0x0,0x0,0x0,0x0,0xc0c00000,0xd2c00000,0x0,};
2932
   }
2933
   private static void jj_la1_1() {
2934
      jj_la1_1 = new int[] {0x0,0x0,0xf8000000,0xd8f0b,0x0,0xf8000000,0xf8000000,0x4,0xf0b,0x0,0xd8f0b,0x0,0x0,0x0,0x0,0x58000,0x2000000,0x0,0x0,0x0,0x0,0xc0000,0x0,0x0,0x80000,0x80000,0x80,0x4,0x0,0x0,0x0,0x0,0xd8f0b,0xd8f0b,0x0,0x0,0x0,0x82050,0x800000,0x80000,0xd8f0b,0x0,0x0,0x0,0x4,0x800000,0xd8f0b,0xd8f0b,0x0,};
2935
   }
2936
   private static void jj_la1_2() {
2937
      jj_la1_2 = new int[] {0x0,0x0,0x7,0x1a8,0x4,0x3,0x3,0x0,0x0,0x800,0x1a8,0x0,0x8,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x200,0x60,0x60,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x1a8,0x1a8,0x0,0x800,0x0,0x8,0x180,0x0,0x28,0x180,0x180,0x800,0x0,0x0,0x1a8,0x1a8,0x800,};
2938
   }
2939
  final private JJCalls[] jj_2_rtns = new JJCalls[12];
2940
  private boolean jj_rescan = false;
2941
  private int jj_gc = 0;
2942

    
2943
  public SQLEngine(java.io.InputStream stream) {
2944
    jj_input_stream = new SimpleCharStream(stream, 1, 1);
2945
    token_source = new SQLEngineTokenManager(jj_input_stream);
2946
    token = new Token();
2947
    jj_ntk = -1;
2948
    jj_gen = 0;
2949
    for (int i = 0; i < 49; i++) jj_la1[i] = -1;
2950
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2951
  }
2952

    
2953
  public void ReInit(java.io.InputStream stream) {
2954
    jj_input_stream.ReInit(stream, 1, 1);
2955
    token_source.ReInit(jj_input_stream);
2956
    token = new Token();
2957
    jj_ntk = -1;
2958
    jjtree.reset();
2959
    jj_gen = 0;
2960
    for (int i = 0; i < 49; i++) jj_la1[i] = -1;
2961
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2962
  }
2963

    
2964
  public SQLEngine(java.io.Reader stream) {
2965
    jj_input_stream = new SimpleCharStream(stream, 1, 1);
2966
    token_source = new SQLEngineTokenManager(jj_input_stream);
2967
    token = new Token();
2968
    jj_ntk = -1;
2969
    jj_gen = 0;
2970
    for (int i = 0; i < 49; i++) jj_la1[i] = -1;
2971
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2972
  }
2973

    
2974
  public void ReInit(java.io.Reader stream) {
2975
    jj_input_stream.ReInit(stream, 1, 1);
2976
    token_source.ReInit(jj_input_stream);
2977
    token = new Token();
2978
    jj_ntk = -1;
2979
    jjtree.reset();
2980
    jj_gen = 0;
2981
    for (int i = 0; i < 49; i++) jj_la1[i] = -1;
2982
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2983
  }
2984

    
2985
  public SQLEngine(SQLEngineTokenManager tm) {
2986
    token_source = tm;
2987
    token = new Token();
2988
    jj_ntk = -1;
2989
    jj_gen = 0;
2990
    for (int i = 0; i < 49; i++) jj_la1[i] = -1;
2991
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2992
  }
2993

    
2994
  public void ReInit(SQLEngineTokenManager tm) {
2995
    token_source = tm;
2996
    token = new Token();
2997
    jj_ntk = -1;
2998
    jjtree.reset();
2999
    jj_gen = 0;
3000
    for (int i = 0; i < 49; i++) jj_la1[i] = -1;
3001
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
3002
  }
3003

    
3004
  final private Token jj_consume_token(int kind) throws ParseException {
3005
    Token oldToken;
3006
    if ((oldToken = token).next != null) token = token.next;
3007
    else token = token.next = token_source.getNextToken();
3008
    jj_ntk = -1;
3009
    if (token.kind == kind) {
3010
      jj_gen++;
3011
      if (++jj_gc > 100) {
3012
        jj_gc = 0;
3013
        for (int i = 0; i < jj_2_rtns.length; i++) {
3014
          JJCalls c = jj_2_rtns[i];
3015
          while (c != null) {
3016
            if (c.gen < jj_gen) c.first = null;
3017
            c = c.next;
3018
          }
3019
        }
3020
      }
3021
      return token;
3022
    }
3023
    token = oldToken;
3024
    jj_kind = kind;
3025
    throw generateParseException();
3026
  }
3027

    
3028
  static private final class LookaheadSuccess extends java.lang.Error { }
3029
  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
3030
  final private boolean jj_scan_token(int kind) {
3031
    if (jj_scanpos == jj_lastpos) {
3032
      jj_la--;
3033
      if (jj_scanpos.next == null) {
3034
        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
3035
      } else {
3036
        jj_lastpos = jj_scanpos = jj_scanpos.next;
3037
      }
3038
    } else {
3039
      jj_scanpos = jj_scanpos.next;
3040
    }
3041
    if (jj_rescan) {
3042
      int i = 0; Token tok = token;
3043
      while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
3044
      if (tok != null) jj_add_error_token(kind, i);
3045
    }
3046
    if (jj_scanpos.kind != kind) return true;
3047
    if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
3048
    return false;
3049
  }
3050

    
3051
  final public Token getNextToken() {
3052
    if (token.next != null) token = token.next;
3053
    else token = token.next = token_source.getNextToken();
3054
    jj_ntk = -1;
3055
    jj_gen++;
3056
    return token;
3057
  }
3058

    
3059
  final public Token getToken(int index) {
3060
    Token t = lookingAhead ? jj_scanpos : token;
3061
    for (int i = 0; i < index; i++) {
3062
      if (t.next != null) t = t.next;
3063
      else t = t.next = token_source.getNextToken();
3064
    }
3065
    return t;
3066
  }
3067

    
3068
  final private int jj_ntk() {
3069
    if ((jj_nt=token.next) == null)
3070
      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
3071
    else
3072
      return (jj_ntk = jj_nt.kind);
3073
  }
3074

    
3075
  private java.util.Vector jj_expentries = new java.util.Vector();
3076
  private int[] jj_expentry;
3077
  private int jj_kind = -1;
3078
  private int[] jj_lasttokens = new int[100];
3079
  private int jj_endpos;
3080

    
3081
  private void jj_add_error_token(int kind, int pos) {
3082
    if (pos >= 100) return;
3083
    if (pos == jj_endpos + 1) {
3084
      jj_lasttokens[jj_endpos++] = kind;
3085
    } else if (jj_endpos != 0) {
3086
      jj_expentry = new int[jj_endpos];
3087
      for (int i = 0; i < jj_endpos; i++) {
3088
        jj_expentry[i] = jj_lasttokens[i];
3089
      }
3090
      boolean exists = false;
3091
      for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) {
3092
        int[] oldentry = (int[])(e.nextElement());
3093
        if (oldentry.length == jj_expentry.length) {
3094
          exists = true;
3095
          for (int i = 0; i < jj_expentry.length; i++) {
3096
            if (oldentry[i] != jj_expentry[i]) {
3097
              exists = false;
3098
              break;
3099
            }
3100
          }
3101
          if (exists) break;
3102
        }
3103
      }
3104
      if (!exists) jj_expentries.addElement(jj_expentry);
3105
      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
3106
    }
3107
  }
3108

    
3109
  public ParseException generateParseException() {
3110
    jj_expentries.removeAllElements();
3111
    boolean[] la1tokens = new boolean[76];
3112
    for (int i = 0; i < 76; i++) {
3113
      la1tokens[i] = false;
3114
    }
3115
    if (jj_kind >= 0) {
3116
      la1tokens[jj_kind] = true;
3117
      jj_kind = -1;
3118
    }
3119
    for (int i = 0; i < 49; i++) {
3120
      if (jj_la1[i] == jj_gen) {
3121
        for (int j = 0; j < 32; j++) {
3122
          if ((jj_la1_0[i] & (1<<j)) != 0) {
3123
            la1tokens[j] = true;
3124
          }
3125
          if ((jj_la1_1[i] & (1<<j)) != 0) {
3126
            la1tokens[32+j] = true;
3127
          }
3128
          if ((jj_la1_2[i] & (1<<j)) != 0) {
3129
            la1tokens[64+j] = true;
3130
          }
3131
        }
3132
      }
3133
    }
3134
    for (int i = 0; i < 76; i++) {
3135
      if (la1tokens[i]) {
3136
        jj_expentry = new int[1];
3137
        jj_expentry[0] = i;
3138
        jj_expentries.addElement(jj_expentry);
3139
      }
3140
    }
3141
    jj_endpos = 0;
3142
    jj_rescan_token();
3143
    jj_add_error_token(0, 0);
3144
    int[][] exptokseq = new int[jj_expentries.size()][];
3145
    for (int i = 0; i < jj_expentries.size(); i++) {
3146
      exptokseq[i] = (int[])jj_expentries.elementAt(i);
3147
    }
3148
    return new ParseException(token, exptokseq, tokenImage);
3149
  }
3150

    
3151
  final public void enable_tracing() {
3152
  }
3153

    
3154
  final public void disable_tracing() {
3155
  }
3156

    
3157
  final private void jj_rescan_token() {
3158
    jj_rescan = true;
3159
    for (int i = 0; i < 12; i++) {
3160
      JJCalls p = jj_2_rtns[i];
3161
      do {
3162
        if (p.gen > jj_gen) {
3163
          jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
3164
          switch (i) {
3165
            case 0: jj_3_1(); break;
3166
            case 1: jj_3_2(); break;
3167
            case 2: jj_3_3(); break;
3168
            case 3: jj_3_4(); break;
3169
            case 4: jj_3_5(); break;
3170
            case 5: jj_3_6(); break;
3171
            case 6: jj_3_7(); break;
3172
            case 7: jj_3_8(); break;
3173
            case 8: jj_3_9(); break;
3174
            case 9: jj_3_10(); break;
3175
            case 10: jj_3_11(); break;
3176
            case 11: jj_3_12(); break;
3177
          }
3178
        }
3179
        p = p.next;
3180
      } while (p != null);
3181
    }
3182
    jj_rescan = false;
3183
  }
3184

    
3185
  final private void jj_save(int index, int xla) {
3186
    JJCalls p = jj_2_rtns[index];
3187
    while (p.gen > jj_gen) {
3188
      if (p.next == null) { p = p.next = new JJCalls(); break; }
3189
      p = p.next;
3190
    }
3191
    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
3192
  }
3193

    
3194
  static final class JJCalls {
3195
    int gen;
3196
    Token first;
3197
    int arg;
3198
    JJCalls next;
3199
  }
3200

    
3201
                }