1 //
2 // File: PostgresParser.cc
3 // This code was produced by the dragon parser generator
4 //
5 #include "PostgresParser.h"
6 #include <lfcbase/Exception.h>
7 #include <lfcbase/StackT.h>
8 
ScannerStateEntry()9 PostgresParser::ScannerStateEntry::ScannerStateEntry()
10 {
11 }
12 
ScannerStateEntry(int state,ScannerStateType type)13 PostgresParser::ScannerStateEntry::ScannerStateEntry(int state, ScannerStateType type)
14 {
15    _state = state;
16    _type = type;
17 }
18 
operator =(const PostgresParser::ScannerStateEntry & s)19 PostgresParser::ScannerStateEntry& PostgresParser::ScannerStateEntry::operator = (const PostgresParser::ScannerStateEntry& s)
20 {
21    _state = s._state;
22    _type = s._type;
23    return(*this);
24 }
25 
operator ==(const PostgresParser::ScannerStateEntry & s)26 bool PostgresParser::ScannerStateEntry::operator == (const PostgresParser::ScannerStateEntry& s)
27 {
28    if ( _state == s._state )
29       return true;
30    return false;
31 }
32 
getType()33 PostgresParser::ScannerStateType PostgresParser::ScannerStateEntry::getType()
34 {
35    return _type;
36 }
getState()37 int PostgresParser::ScannerStateEntry::getState()
38 {
39    return _state;
40 }
41 
42 
ScannerTransEntry()43 PostgresParser::ScannerTransEntry::ScannerTransEntry()
44 {
45 }
46 
ScannerTransEntry(int state,char c)47 PostgresParser::ScannerTransEntry::ScannerTransEntry(int state, char c)
48 {
49    _state = state;
50    _c = c;
51 }
52 
ScannerTransEntry(int state,char c,int fstate)53 PostgresParser::ScannerTransEntry::ScannerTransEntry(int state, char c, int fstate)
54 {
55    _state = state;
56    _c = c;
57    _fstate = fstate;
58 }
59 
operator =(const PostgresParser::ScannerTransEntry & s)60 PostgresParser::ScannerTransEntry& PostgresParser::ScannerTransEntry::operator = (const PostgresParser::ScannerTransEntry& s)
61 {
62    _state = s._state;
63    _c = s._c;
64    _fstate = s._fstate;
65    return(*this);
66 }
67 
operator ==(const PostgresParser::ScannerTransEntry & s)68 bool PostgresParser::ScannerTransEntry::operator == (const PostgresParser::ScannerTransEntry& s)
69 {
70    if ( _state == s._state && _c == s._c)
71       return true;
72    return false;
73 }
74 
getFState()75 int PostgresParser::ScannerTransEntry::getFState()
76 {
77    return _fstate;
78 }
79 
80 
Scanner()81 PostgresParser::Scanner::Scanner()
82 {
83 }
84 
85 
Scanner(Token t)86 PostgresParser::Scanner::Scanner(Token t)
87 {
88    _token = t;
89 }
90 
getToken()91 PostgresParser::Token PostgresParser::Scanner::getToken()
92 {
93    return _token;
94 }
95 
addState(ScannerStateEntry s)96 void PostgresParser::Scanner::addState(ScannerStateEntry s)
97 {
98    _stateList.Insert(s);
99 }
100 
addTransition(ScannerTransEntry t)101 void PostgresParser::Scanner::addTransition(ScannerTransEntry t)
102 {
103    _transList.Insert(t);
104 }
105 
checkPattern(const Chain & p)106 bool PostgresParser::Scanner::checkPattern(const Chain& p)
107 {
108    unsigned long state = 0;
109    ScannerStateEntry* pS = _stateList.First();
110    while (pS)
111    {
112       if (pS->getType() == START || pS->getType() == ANY)
113       {
114          state = pS->getState();
115          pS = 0;
116       }
117       else
118       {
119          pS = _stateList.Next();
120       }
121    }
122    unsigned long i = 0;
123    ScannerTransEntry* pT =
124    _transList.Find(ScannerTransEntry(state, p[i]));
125    while (pT)
126    {
127       ScannerStateEntry* pS = _stateList.Find(ScannerStateEntry(pT->getFState()));
128       if (pS)
129       {
130          if ( ( i == p.length()-2 ) && ( pS->getType() == FINAL || pS->getType() == ANY))
131          {
132             return true;
133          }
134          else
135          {
136             state = pT->getFState();
137          }
138       }
139       else
140       {
141          return false;
142       }
143       i++;
144       pT = _transList.Find(ScannerTransEntry(state, p[i]));
145    }
146    return false;
147 }
StackEntry()148 PostgresParser::StackEntry::StackEntry()
149 {
150    _symbol = NONE;
151 }
152 
StackEntry(Symbol symbol,int num,int state,Chain tval)153 PostgresParser::StackEntry::StackEntry(Symbol symbol, int num, int state, Chain tval)
154 {
155    _symbol=symbol;
156    _num=num;
157    _state=state;
158    _tval=tval;
159 }
160 
operator =(const PostgresParser::StackEntry & se)161 PostgresParser::StackEntry& PostgresParser::StackEntry::operator = (const PostgresParser::StackEntry& se)
162 {
163    _symbol=se._symbol;
164    _num=se._num;
165    _state=se._state;
166    _tval=se._tval;
167    return(*this);
168 }
169 
getState()170 int PostgresParser::StackEntry::getState()
171 {
172    return _state;
173 }
getSymbol()174 PostgresParser::Symbol PostgresParser::StackEntry::getSymbol()
175 {
176    return _symbol;
177 }
getTval()178 Chain& PostgresParser::StackEntry::getTval()
179 {
180    return _tval;
181 }
182 
ActionEntry()183 PostgresParser::ActionEntry::ActionEntry()
184 {
185    _action=NULLACTION;
186 }
187 
ActionEntry(Action action,int num)188 PostgresParser::ActionEntry::ActionEntry(Action action , int num)
189 {
190    _action=action;
191    _num=num;
192 }
193 
operator ==(const PostgresParser::ActionEntry & ae)194 bool PostgresParser::ActionEntry::operator == (const PostgresParser::ActionEntry& ae)
195 {
196    if (_action == ae._action && _num == ae._num)
197       return true;
198    return false;
199 }
200 
operator =(const PostgresParser::ActionEntry & ae)201 PostgresParser::ActionEntry& PostgresParser::ActionEntry::operator = (const PostgresParser::ActionEntry& ae)
202 {
203    _action=ae._action;
204    _num=ae._num;
205    return(*this);
206 }
207 
getAction()208 PostgresParser::Action PostgresParser::ActionEntry::getAction()
209 {
210    return _action;
211 }
212 
getNum()213 int PostgresParser::ActionEntry::getNum()
214 {
215    return _num;
216 }
217 
ProdEntry()218 PostgresParser::ProdEntry::ProdEntry()
219 {
220 }
221 
ProdEntry(int id)222 PostgresParser::ProdEntry::ProdEntry(int id)
223 {
224    _id = id;
225 }
226 
ProdEntry(int id,Production prod,int numSymbol)227 PostgresParser::ProdEntry::ProdEntry(int id, Production prod, int numSymbol)
228 {
229    _id = id;
230    _prod = prod;
231    _numSymbol = numSymbol;
232 }
233 
operator ==(const PostgresParser::ProdEntry & pe)234 bool PostgresParser::ProdEntry::operator == (const PostgresParser::ProdEntry& pe)
235 {
236    if (_id == pe._id)
237       return true;
238    return false;
239 }
240 
operator =(const PostgresParser::ProdEntry & pe)241 PostgresParser::ProdEntry& PostgresParser::ProdEntry::operator = (const PostgresParser::ProdEntry& pe)
242 {
243    _id = pe._id;
244    _prod = pe._prod;
245    _numSymbol = pe._numSymbol;
246    return(*this);
247 }
248 
249 
getId()250 int PostgresParser::ProdEntry::getId()
251 {
252    return _id;
253 }
254 
getProd()255 PostgresParser::Production PostgresParser::ProdEntry::getProd()
256 {
257    return _prod;
258 }
259 
getNumSymbol()260 int PostgresParser::ProdEntry::getNumSymbol()
261 {
262    return _numSymbol;
263 }
loadScanner()264 void PostgresParser::loadScanner()
265 {
266    Scanner s0(AUTOINCREMENT);
267    s0.addState(ScannerStateEntry(0 ,INTERMEDIATE));
268    s0.addState(ScannerStateEntry(1 ,INTERMEDIATE));
269    s0.addState(ScannerStateEntry(2 ,START));
270    s0.addState(ScannerStateEntry(3 ,INTERMEDIATE));
271    s0.addState(ScannerStateEntry(4 ,INTERMEDIATE));
272    s0.addState(ScannerStateEntry(5 ,INTERMEDIATE));
273    s0.addState(ScannerStateEntry(6 ,INTERMEDIATE));
274    s0.addState(ScannerStateEntry(7 ,INTERMEDIATE));
275    s0.addState(ScannerStateEntry(8 ,INTERMEDIATE));
276    s0.addState(ScannerStateEntry(9 ,INTERMEDIATE));
277    s0.addState(ScannerStateEntry(10 ,INTERMEDIATE));
278    s0.addState(ScannerStateEntry(11 ,INTERMEDIATE));
279    s0.addState(ScannerStateEntry(12 ,INTERMEDIATE));
280    s0.addState(ScannerStateEntry(13 ,INTERMEDIATE));
281    s0.addState(ScannerStateEntry(14 ,FINAL));
282    s0.addTransition(ScannerTransEntry(0 ,'u' ,1));
283    s0.addTransition(ScannerTransEntry(1 ,'t' ,3));
284    s0.addTransition(ScannerTransEntry(2 ,'a' ,0));
285    s0.addTransition(ScannerTransEntry(3 ,'o' ,4));
286    s0.addTransition(ScannerTransEntry(4 ,'_' ,5));
287    s0.addTransition(ScannerTransEntry(5 ,'i' ,6));
288    s0.addTransition(ScannerTransEntry(6 ,'n' ,7));
289    s0.addTransition(ScannerTransEntry(7 ,'c' ,8));
290    s0.addTransition(ScannerTransEntry(8 ,'r' ,9));
291    s0.addTransition(ScannerTransEntry(9 ,'e' ,10));
292    s0.addTransition(ScannerTransEntry(10 ,'m' ,11));
293    s0.addTransition(ScannerTransEntry(11 ,'e' ,12));
294    s0.addTransition(ScannerTransEntry(12 ,'n' ,13));
295    s0.addTransition(ScannerTransEntry(13 ,'t' ,14));
296    _scannerList.Insert(s0);
297 
298    Scanner s1(BOOL);
299    s1.addState(ScannerStateEntry(0 ,INTERMEDIATE));
300    s1.addState(ScannerStateEntry(1 ,INTERMEDIATE));
301    s1.addState(ScannerStateEntry(2 ,START));
302    s1.addState(ScannerStateEntry(3 ,INTERMEDIATE));
303    s1.addState(ScannerStateEntry(4 ,FINAL));
304    s1.addTransition(ScannerTransEntry(0 ,'o' ,1));
305    s1.addTransition(ScannerTransEntry(1 ,'o' ,3));
306    s1.addTransition(ScannerTransEntry(2 ,'b' ,0));
307    s1.addTransition(ScannerTransEntry(3 ,'l' ,4));
308    _scannerList.Insert(s1);
309 
310    Scanner s2(CHARSET);
311    s2.addState(ScannerStateEntry(0 ,INTERMEDIATE));
312    s2.addState(ScannerStateEntry(1 ,INTERMEDIATE));
313    s2.addState(ScannerStateEntry(2 ,START));
314    s2.addState(ScannerStateEntry(3 ,INTERMEDIATE));
315    s2.addState(ScannerStateEntry(4 ,INTERMEDIATE));
316    s2.addState(ScannerStateEntry(5 ,INTERMEDIATE));
317    s2.addState(ScannerStateEntry(6 ,INTERMEDIATE));
318    s2.addState(ScannerStateEntry(7 ,FINAL));
319    s2.addTransition(ScannerTransEntry(0 ,'h' ,1));
320    s2.addTransition(ScannerTransEntry(1 ,'a' ,3));
321    s2.addTransition(ScannerTransEntry(2 ,'c' ,0));
322    s2.addTransition(ScannerTransEntry(3 ,'r' ,4));
323    s2.addTransition(ScannerTransEntry(4 ,'s' ,5));
324    s2.addTransition(ScannerTransEntry(5 ,'e' ,6));
325    s2.addTransition(ScannerTransEntry(6 ,'t' ,7));
326    _scannerList.Insert(s2);
327 
328    Scanner s3(COLLATE);
329    s3.addState(ScannerStateEntry(0 ,INTERMEDIATE));
330    s3.addState(ScannerStateEntry(1 ,INTERMEDIATE));
331    s3.addState(ScannerStateEntry(2 ,START));
332    s3.addState(ScannerStateEntry(3 ,INTERMEDIATE));
333    s3.addState(ScannerStateEntry(4 ,INTERMEDIATE));
334    s3.addState(ScannerStateEntry(5 ,INTERMEDIATE));
335    s3.addState(ScannerStateEntry(6 ,INTERMEDIATE));
336    s3.addState(ScannerStateEntry(7 ,FINAL));
337    s3.addTransition(ScannerTransEntry(0 ,'o' ,1));
338    s3.addTransition(ScannerTransEntry(1 ,'l' ,3));
339    s3.addTransition(ScannerTransEntry(2 ,'c' ,0));
340    s3.addTransition(ScannerTransEntry(3 ,'l' ,4));
341    s3.addTransition(ScannerTransEntry(4 ,'a' ,5));
342    s3.addTransition(ScannerTransEntry(5 ,'t' ,6));
343    s3.addTransition(ScannerTransEntry(6 ,'e' ,7));
344    _scannerList.Insert(s3);
345 
346    Scanner s4(CREATE);
347    s4.addState(ScannerStateEntry(0 ,INTERMEDIATE));
348    s4.addState(ScannerStateEntry(1 ,INTERMEDIATE));
349    s4.addState(ScannerStateEntry(2 ,START));
350    s4.addState(ScannerStateEntry(3 ,INTERMEDIATE));
351    s4.addState(ScannerStateEntry(4 ,INTERMEDIATE));
352    s4.addState(ScannerStateEntry(5 ,INTERMEDIATE));
353    s4.addState(ScannerStateEntry(6 ,FINAL));
354    s4.addTransition(ScannerTransEntry(0 ,'r' ,1));
355    s4.addTransition(ScannerTransEntry(1 ,'e' ,3));
356    s4.addTransition(ScannerTransEntry(2 ,'c' ,0));
357    s4.addTransition(ScannerTransEntry(3 ,'a' ,4));
358    s4.addTransition(ScannerTransEntry(4 ,'t' ,5));
359    s4.addTransition(ScannerTransEntry(5 ,'e' ,6));
360    _scannerList.Insert(s4);
361 
362    Scanner s5(DATETIME);
363    s5.addState(ScannerStateEntry(0 ,INTERMEDIATE));
364    s5.addState(ScannerStateEntry(1 ,INTERMEDIATE));
365    s5.addState(ScannerStateEntry(2 ,START));
366    s5.addState(ScannerStateEntry(3 ,INTERMEDIATE));
367    s5.addState(ScannerStateEntry(4 ,INTERMEDIATE));
368    s5.addState(ScannerStateEntry(5 ,INTERMEDIATE));
369    s5.addState(ScannerStateEntry(6 ,INTERMEDIATE));
370    s5.addState(ScannerStateEntry(7 ,INTERMEDIATE));
371    s5.addState(ScannerStateEntry(8 ,FINAL));
372    s5.addTransition(ScannerTransEntry(0 ,'a' ,1));
373    s5.addTransition(ScannerTransEntry(1 ,'t' ,3));
374    s5.addTransition(ScannerTransEntry(2 ,'d' ,0));
375    s5.addTransition(ScannerTransEntry(3 ,'e' ,4));
376    s5.addTransition(ScannerTransEntry(4 ,'t' ,5));
377    s5.addTransition(ScannerTransEntry(5 ,'i' ,6));
378    s5.addTransition(ScannerTransEntry(6 ,'m' ,7));
379    s5.addTransition(ScannerTransEntry(7 ,'e' ,8));
380    _scannerList.Insert(s5);
381 
382    Scanner s6(DECIMAL);
383    s6.addState(ScannerStateEntry(0 ,INTERMEDIATE));
384    s6.addState(ScannerStateEntry(1 ,INTERMEDIATE));
385    s6.addState(ScannerStateEntry(2 ,START));
386    s6.addState(ScannerStateEntry(3 ,INTERMEDIATE));
387    s6.addState(ScannerStateEntry(4 ,INTERMEDIATE));
388    s6.addState(ScannerStateEntry(5 ,INTERMEDIATE));
389    s6.addState(ScannerStateEntry(6 ,INTERMEDIATE));
390    s6.addState(ScannerStateEntry(7 ,FINAL));
391    s6.addTransition(ScannerTransEntry(0 ,'e' ,1));
392    s6.addTransition(ScannerTransEntry(1 ,'c' ,3));
393    s6.addTransition(ScannerTransEntry(2 ,'d' ,0));
394    s6.addTransition(ScannerTransEntry(3 ,'i' ,4));
395    s6.addTransition(ScannerTransEntry(4 ,'m' ,5));
396    s6.addTransition(ScannerTransEntry(5 ,'a' ,6));
397    s6.addTransition(ScannerTransEntry(6 ,'l' ,7));
398    _scannerList.Insert(s6);
399 
400    Scanner s7(DEFAULT);
401    s7.addState(ScannerStateEntry(0 ,INTERMEDIATE));
402    s7.addState(ScannerStateEntry(1 ,INTERMEDIATE));
403    s7.addState(ScannerStateEntry(2 ,START));
404    s7.addState(ScannerStateEntry(3 ,INTERMEDIATE));
405    s7.addState(ScannerStateEntry(4 ,INTERMEDIATE));
406    s7.addState(ScannerStateEntry(5 ,INTERMEDIATE));
407    s7.addState(ScannerStateEntry(6 ,INTERMEDIATE));
408    s7.addState(ScannerStateEntry(7 ,FINAL));
409    s7.addTransition(ScannerTransEntry(0 ,'e' ,1));
410    s7.addTransition(ScannerTransEntry(1 ,'f' ,3));
411    s7.addTransition(ScannerTransEntry(2 ,'d' ,0));
412    s7.addTransition(ScannerTransEntry(3 ,'a' ,4));
413    s7.addTransition(ScannerTransEntry(4 ,'u' ,5));
414    s7.addTransition(ScannerTransEntry(5 ,'l' ,6));
415    s7.addTransition(ScannerTransEntry(6 ,'t' ,7));
416    _scannerList.Insert(s7);
417 
418    Scanner s8(DOUBLE);
419    s8.addState(ScannerStateEntry(0 ,INTERMEDIATE));
420    s8.addState(ScannerStateEntry(1 ,INTERMEDIATE));
421    s8.addState(ScannerStateEntry(2 ,START));
422    s8.addState(ScannerStateEntry(3 ,INTERMEDIATE));
423    s8.addState(ScannerStateEntry(4 ,INTERMEDIATE));
424    s8.addState(ScannerStateEntry(5 ,INTERMEDIATE));
425    s8.addState(ScannerStateEntry(6 ,FINAL));
426    s8.addTransition(ScannerTransEntry(0 ,'o' ,1));
427    s8.addTransition(ScannerTransEntry(1 ,'u' ,3));
428    s8.addTransition(ScannerTransEntry(2 ,'d' ,0));
429    s8.addTransition(ScannerTransEntry(3 ,'b' ,4));
430    s8.addTransition(ScannerTransEntry(4 ,'l' ,5));
431    s8.addTransition(ScannerTransEntry(5 ,'e' ,6));
432    _scannerList.Insert(s8);
433 
434    Scanner s9(DROP);
435    s9.addState(ScannerStateEntry(0 ,INTERMEDIATE));
436    s9.addState(ScannerStateEntry(1 ,INTERMEDIATE));
437    s9.addState(ScannerStateEntry(2 ,START));
438    s9.addState(ScannerStateEntry(3 ,INTERMEDIATE));
439    s9.addState(ScannerStateEntry(4 ,FINAL));
440    s9.addTransition(ScannerTransEntry(0 ,'r' ,1));
441    s9.addTransition(ScannerTransEntry(1 ,'o' ,3));
442    s9.addTransition(ScannerTransEntry(2 ,'d' ,0));
443    s9.addTransition(ScannerTransEntry(3 ,'p' ,4));
444    _scannerList.Insert(s9);
445 
446    Scanner s10(ENUM);
447    s10.addState(ScannerStateEntry(0 ,INTERMEDIATE));
448    s10.addState(ScannerStateEntry(1 ,INTERMEDIATE));
449    s10.addState(ScannerStateEntry(2 ,START));
450    s10.addState(ScannerStateEntry(3 ,INTERMEDIATE));
451    s10.addState(ScannerStateEntry(4 ,FINAL));
452    s10.addTransition(ScannerTransEntry(0 ,'n' ,1));
453    s10.addTransition(ScannerTransEntry(1 ,'u' ,3));
454    s10.addTransition(ScannerTransEntry(2 ,'e' ,0));
455    s10.addTransition(ScannerTransEntry(3 ,'m' ,4));
456    _scannerList.Insert(s10);
457 
458    Scanner s11(ENGINE);
459    s11.addState(ScannerStateEntry(0 ,INTERMEDIATE));
460    s11.addState(ScannerStateEntry(1 ,INTERMEDIATE));
461    s11.addState(ScannerStateEntry(2 ,START));
462    s11.addState(ScannerStateEntry(3 ,INTERMEDIATE));
463    s11.addState(ScannerStateEntry(4 ,INTERMEDIATE));
464    s11.addState(ScannerStateEntry(5 ,INTERMEDIATE));
465    s11.addState(ScannerStateEntry(6 ,FINAL));
466    s11.addTransition(ScannerTransEntry(0 ,'n' ,1));
467    s11.addTransition(ScannerTransEntry(1 ,'g' ,3));
468    s11.addTransition(ScannerTransEntry(2 ,'e' ,0));
469    s11.addTransition(ScannerTransEntry(3 ,'i' ,4));
470    s11.addTransition(ScannerTransEntry(4 ,'n' ,5));
471    s11.addTransition(ScannerTransEntry(5 ,'e' ,6));
472    _scannerList.Insert(s11);
473 
474    Scanner s12(EXISTS);
475    s12.addState(ScannerStateEntry(0 ,INTERMEDIATE));
476    s12.addState(ScannerStateEntry(1 ,INTERMEDIATE));
477    s12.addState(ScannerStateEntry(2 ,START));
478    s12.addState(ScannerStateEntry(3 ,INTERMEDIATE));
479    s12.addState(ScannerStateEntry(4 ,INTERMEDIATE));
480    s12.addState(ScannerStateEntry(5 ,INTERMEDIATE));
481    s12.addState(ScannerStateEntry(6 ,FINAL));
482    s12.addTransition(ScannerTransEntry(0 ,'x' ,1));
483    s12.addTransition(ScannerTransEntry(1 ,'i' ,3));
484    s12.addTransition(ScannerTransEntry(2 ,'e' ,0));
485    s12.addTransition(ScannerTransEntry(3 ,'s' ,4));
486    s12.addTransition(ScannerTransEntry(4 ,'t' ,5));
487    s12.addTransition(ScannerTransEntry(5 ,'s' ,6));
488    _scannerList.Insert(s12);
489 
490    Scanner s13(FALSEVAL);
491    s13.addState(ScannerStateEntry(0 ,INTERMEDIATE));
492    s13.addState(ScannerStateEntry(1 ,INTERMEDIATE));
493    s13.addState(ScannerStateEntry(2 ,START));
494    s13.addState(ScannerStateEntry(3 ,INTERMEDIATE));
495    s13.addState(ScannerStateEntry(4 ,INTERMEDIATE));
496    s13.addState(ScannerStateEntry(5 ,FINAL));
497    s13.addTransition(ScannerTransEntry(0 ,'a' ,1));
498    s13.addTransition(ScannerTransEntry(1 ,'l' ,3));
499    s13.addTransition(ScannerTransEntry(2 ,'f' ,0));
500    s13.addTransition(ScannerTransEntry(3 ,'s' ,4));
501    s13.addTransition(ScannerTransEntry(4 ,'e' ,5));
502    _scannerList.Insert(s13);
503 
504    Scanner s14(FLOAT);
505    s14.addState(ScannerStateEntry(0 ,INTERMEDIATE));
506    s14.addState(ScannerStateEntry(1 ,INTERMEDIATE));
507    s14.addState(ScannerStateEntry(2 ,START));
508    s14.addState(ScannerStateEntry(3 ,INTERMEDIATE));
509    s14.addState(ScannerStateEntry(4 ,INTERMEDIATE));
510    s14.addState(ScannerStateEntry(5 ,FINAL));
511    s14.addTransition(ScannerTransEntry(0 ,'l' ,1));
512    s14.addTransition(ScannerTransEntry(1 ,'o' ,3));
513    s14.addTransition(ScannerTransEntry(2 ,'f' ,0));
514    s14.addTransition(ScannerTransEntry(3 ,'a' ,4));
515    s14.addTransition(ScannerTransEntry(4 ,'t' ,5));
516    _scannerList.Insert(s14);
517 
518    Scanner s15(FOREIGN);
519    s15.addState(ScannerStateEntry(0 ,INTERMEDIATE));
520    s15.addState(ScannerStateEntry(1 ,INTERMEDIATE));
521    s15.addState(ScannerStateEntry(2 ,START));
522    s15.addState(ScannerStateEntry(3 ,INTERMEDIATE));
523    s15.addState(ScannerStateEntry(4 ,INTERMEDIATE));
524    s15.addState(ScannerStateEntry(5 ,INTERMEDIATE));
525    s15.addState(ScannerStateEntry(6 ,INTERMEDIATE));
526    s15.addState(ScannerStateEntry(7 ,FINAL));
527    s15.addTransition(ScannerTransEntry(0 ,'o' ,1));
528    s15.addTransition(ScannerTransEntry(1 ,'r' ,3));
529    s15.addTransition(ScannerTransEntry(2 ,'f' ,0));
530    s15.addTransition(ScannerTransEntry(3 ,'e' ,4));
531    s15.addTransition(ScannerTransEntry(4 ,'i' ,5));
532    s15.addTransition(ScannerTransEntry(5 ,'g' ,6));
533    s15.addTransition(ScannerTransEntry(6 ,'n' ,7));
534    _scannerList.Insert(s15);
535 
536    Scanner s16(IF);
537    s16.addState(ScannerStateEntry(0 ,INTERMEDIATE));
538    s16.addState(ScannerStateEntry(1 ,FINAL));
539    s16.addState(ScannerStateEntry(2 ,START));
540    s16.addTransition(ScannerTransEntry(0 ,'f' ,1));
541    s16.addTransition(ScannerTransEntry(2 ,'i' ,0));
542    _scannerList.Insert(s16);
543 
544    Scanner s17(INDEX);
545    s17.addState(ScannerStateEntry(0 ,INTERMEDIATE));
546    s17.addState(ScannerStateEntry(1 ,INTERMEDIATE));
547    s17.addState(ScannerStateEntry(2 ,START));
548    s17.addState(ScannerStateEntry(3 ,INTERMEDIATE));
549    s17.addState(ScannerStateEntry(4 ,INTERMEDIATE));
550    s17.addState(ScannerStateEntry(5 ,FINAL));
551    s17.addTransition(ScannerTransEntry(0 ,'n' ,1));
552    s17.addTransition(ScannerTransEntry(1 ,'d' ,3));
553    s17.addTransition(ScannerTransEntry(2 ,'i' ,0));
554    s17.addTransition(ScannerTransEntry(3 ,'e' ,4));
555    s17.addTransition(ScannerTransEntry(4 ,'x' ,5));
556    _scannerList.Insert(s17);
557 
558    Scanner s18(INT);
559    s18.addState(ScannerStateEntry(0 ,INTERMEDIATE));
560    s18.addState(ScannerStateEntry(1 ,INTERMEDIATE));
561    s18.addState(ScannerStateEntry(2 ,START));
562    s18.addState(ScannerStateEntry(3 ,FINAL));
563    s18.addTransition(ScannerTransEntry(0 ,'n' ,1));
564    s18.addTransition(ScannerTransEntry(1 ,'t' ,3));
565    s18.addTransition(ScannerTransEntry(2 ,'i' ,0));
566    _scannerList.Insert(s18);
567 
568    Scanner s19(INTO);
569    s19.addState(ScannerStateEntry(0 ,INTERMEDIATE));
570    s19.addState(ScannerStateEntry(1 ,INTERMEDIATE));
571    s19.addState(ScannerStateEntry(2 ,START));
572    s19.addState(ScannerStateEntry(3 ,INTERMEDIATE));
573    s19.addState(ScannerStateEntry(4 ,FINAL));
574    s19.addTransition(ScannerTransEntry(0 ,'n' ,1));
575    s19.addTransition(ScannerTransEntry(1 ,'t' ,3));
576    s19.addTransition(ScannerTransEntry(2 ,'i' ,0));
577    s19.addTransition(ScannerTransEntry(3 ,'o' ,4));
578    _scannerList.Insert(s19);
579 
580    Scanner s20(INSERT);
581    s20.addState(ScannerStateEntry(0 ,INTERMEDIATE));
582    s20.addState(ScannerStateEntry(1 ,INTERMEDIATE));
583    s20.addState(ScannerStateEntry(2 ,START));
584    s20.addState(ScannerStateEntry(3 ,INTERMEDIATE));
585    s20.addState(ScannerStateEntry(4 ,INTERMEDIATE));
586    s20.addState(ScannerStateEntry(5 ,INTERMEDIATE));
587    s20.addState(ScannerStateEntry(6 ,FINAL));
588    s20.addTransition(ScannerTransEntry(0 ,'n' ,1));
589    s20.addTransition(ScannerTransEntry(1 ,'s' ,3));
590    s20.addTransition(ScannerTransEntry(2 ,'i' ,0));
591    s20.addTransition(ScannerTransEntry(3 ,'e' ,4));
592    s20.addTransition(ScannerTransEntry(4 ,'r' ,5));
593    s20.addTransition(ScannerTransEntry(5 ,'t' ,6));
594    _scannerList.Insert(s20);
595 
596    Scanner s21(KEY);
597    s21.addState(ScannerStateEntry(0 ,INTERMEDIATE));
598    s21.addState(ScannerStateEntry(1 ,INTERMEDIATE));
599    s21.addState(ScannerStateEntry(2 ,START));
600    s21.addState(ScannerStateEntry(3 ,FINAL));
601    s21.addTransition(ScannerTransEntry(0 ,'e' ,1));
602    s21.addTransition(ScannerTransEntry(1 ,'y' ,3));
603    s21.addTransition(ScannerTransEntry(2 ,'k' ,0));
604    _scannerList.Insert(s21);
605 
606    Scanner s22(LOCK);
607    s22.addState(ScannerStateEntry(0 ,INTERMEDIATE));
608    s22.addState(ScannerStateEntry(1 ,INTERMEDIATE));
609    s22.addState(ScannerStateEntry(2 ,START));
610    s22.addState(ScannerStateEntry(3 ,INTERMEDIATE));
611    s22.addState(ScannerStateEntry(4 ,FINAL));
612    s22.addTransition(ScannerTransEntry(0 ,'o' ,1));
613    s22.addTransition(ScannerTransEntry(1 ,'c' ,3));
614    s22.addTransition(ScannerTransEntry(2 ,'l' ,0));
615    s22.addTransition(ScannerTransEntry(3 ,'k' ,4));
616    _scannerList.Insert(s22);
617 
618    Scanner s23(LONGBLOB);
619    s23.addState(ScannerStateEntry(0 ,INTERMEDIATE));
620    s23.addState(ScannerStateEntry(1 ,INTERMEDIATE));
621    s23.addState(ScannerStateEntry(2 ,START));
622    s23.addState(ScannerStateEntry(3 ,INTERMEDIATE));
623    s23.addState(ScannerStateEntry(4 ,INTERMEDIATE));
624    s23.addState(ScannerStateEntry(5 ,INTERMEDIATE));
625    s23.addState(ScannerStateEntry(6 ,INTERMEDIATE));
626    s23.addState(ScannerStateEntry(7 ,INTERMEDIATE));
627    s23.addState(ScannerStateEntry(8 ,FINAL));
628    s23.addTransition(ScannerTransEntry(0 ,'o' ,1));
629    s23.addTransition(ScannerTransEntry(1 ,'n' ,3));
630    s23.addTransition(ScannerTransEntry(2 ,'l' ,0));
631    s23.addTransition(ScannerTransEntry(3 ,'g' ,4));
632    s23.addTransition(ScannerTransEntry(4 ,'b' ,5));
633    s23.addTransition(ScannerTransEntry(5 ,'l' ,6));
634    s23.addTransition(ScannerTransEntry(6 ,'o' ,7));
635    s23.addTransition(ScannerTransEntry(7 ,'b' ,8));
636    _scannerList.Insert(s23);
637 
638    Scanner s24(MEDIUMTEXT);
639    s24.addState(ScannerStateEntry(0 ,INTERMEDIATE));
640    s24.addState(ScannerStateEntry(1 ,INTERMEDIATE));
641    s24.addState(ScannerStateEntry(2 ,START));
642    s24.addState(ScannerStateEntry(3 ,INTERMEDIATE));
643    s24.addState(ScannerStateEntry(4 ,INTERMEDIATE));
644    s24.addState(ScannerStateEntry(5 ,INTERMEDIATE));
645    s24.addState(ScannerStateEntry(6 ,INTERMEDIATE));
646    s24.addState(ScannerStateEntry(7 ,INTERMEDIATE));
647    s24.addState(ScannerStateEntry(8 ,INTERMEDIATE));
648    s24.addState(ScannerStateEntry(9 ,INTERMEDIATE));
649    s24.addState(ScannerStateEntry(10 ,FINAL));
650    s24.addTransition(ScannerTransEntry(0 ,'e' ,1));
651    s24.addTransition(ScannerTransEntry(1 ,'d' ,3));
652    s24.addTransition(ScannerTransEntry(2 ,'m' ,0));
653    s24.addTransition(ScannerTransEntry(3 ,'i' ,4));
654    s24.addTransition(ScannerTransEntry(4 ,'u' ,5));
655    s24.addTransition(ScannerTransEntry(5 ,'m' ,6));
656    s24.addTransition(ScannerTransEntry(6 ,'t' ,7));
657    s24.addTransition(ScannerTransEntry(7 ,'e' ,8));
658    s24.addTransition(ScannerTransEntry(8 ,'x' ,9));
659    s24.addTransition(ScannerTransEntry(9 ,'t' ,10));
660    _scannerList.Insert(s24);
661 
662    Scanner s25(NOT);
663    s25.addState(ScannerStateEntry(0 ,INTERMEDIATE));
664    s25.addState(ScannerStateEntry(1 ,INTERMEDIATE));
665    s25.addState(ScannerStateEntry(2 ,START));
666    s25.addState(ScannerStateEntry(3 ,FINAL));
667    s25.addTransition(ScannerTransEntry(0 ,'o' ,1));
668    s25.addTransition(ScannerTransEntry(1 ,'t' ,3));
669    s25.addTransition(ScannerTransEntry(2 ,'n' ,0));
670    _scannerList.Insert(s25);
671 
672    Scanner s26(NULLTOKEN);
673    s26.addState(ScannerStateEntry(0 ,INTERMEDIATE));
674    s26.addState(ScannerStateEntry(1 ,INTERMEDIATE));
675    s26.addState(ScannerStateEntry(2 ,START));
676    s26.addState(ScannerStateEntry(3 ,INTERMEDIATE));
677    s26.addState(ScannerStateEntry(4 ,FINAL));
678    s26.addTransition(ScannerTransEntry(0 ,'u' ,1));
679    s26.addTransition(ScannerTransEntry(1 ,'l' ,3));
680    s26.addTransition(ScannerTransEntry(2 ,'n' ,0));
681    s26.addTransition(ScannerTransEntry(3 ,'l' ,4));
682    _scannerList.Insert(s26);
683 
684    Scanner s27(PRIMARY);
685    s27.addState(ScannerStateEntry(0 ,INTERMEDIATE));
686    s27.addState(ScannerStateEntry(1 ,INTERMEDIATE));
687    s27.addState(ScannerStateEntry(2 ,START));
688    s27.addState(ScannerStateEntry(3 ,INTERMEDIATE));
689    s27.addState(ScannerStateEntry(4 ,INTERMEDIATE));
690    s27.addState(ScannerStateEntry(5 ,INTERMEDIATE));
691    s27.addState(ScannerStateEntry(6 ,INTERMEDIATE));
692    s27.addState(ScannerStateEntry(7 ,FINAL));
693    s27.addTransition(ScannerTransEntry(0 ,'r' ,1));
694    s27.addTransition(ScannerTransEntry(1 ,'i' ,3));
695    s27.addTransition(ScannerTransEntry(2 ,'p' ,0));
696    s27.addTransition(ScannerTransEntry(3 ,'m' ,4));
697    s27.addTransition(ScannerTransEntry(4 ,'a' ,5));
698    s27.addTransition(ScannerTransEntry(5 ,'r' ,6));
699    s27.addTransition(ScannerTransEntry(6 ,'y' ,7));
700    _scannerList.Insert(s27);
701 
702    Scanner s28(SET);
703    s28.addState(ScannerStateEntry(0 ,INTERMEDIATE));
704    s28.addState(ScannerStateEntry(1 ,INTERMEDIATE));
705    s28.addState(ScannerStateEntry(2 ,START));
706    s28.addState(ScannerStateEntry(3 ,FINAL));
707    s28.addTransition(ScannerTransEntry(0 ,'e' ,1));
708    s28.addTransition(ScannerTransEntry(1 ,'t' ,3));
709    s28.addTransition(ScannerTransEntry(2 ,'s' ,0));
710    _scannerList.Insert(s28);
711 
712    Scanner s29(TABLE);
713    s29.addState(ScannerStateEntry(0 ,INTERMEDIATE));
714    s29.addState(ScannerStateEntry(1 ,INTERMEDIATE));
715    s29.addState(ScannerStateEntry(2 ,START));
716    s29.addState(ScannerStateEntry(3 ,INTERMEDIATE));
717    s29.addState(ScannerStateEntry(4 ,INTERMEDIATE));
718    s29.addState(ScannerStateEntry(5 ,FINAL));
719    s29.addTransition(ScannerTransEntry(0 ,'a' ,1));
720    s29.addTransition(ScannerTransEntry(1 ,'b' ,3));
721    s29.addTransition(ScannerTransEntry(2 ,'t' ,0));
722    s29.addTransition(ScannerTransEntry(3 ,'l' ,4));
723    s29.addTransition(ScannerTransEntry(4 ,'e' ,5));
724    _scannerList.Insert(s29);
725 
726    Scanner s30(TABLES);
727    s30.addState(ScannerStateEntry(0 ,INTERMEDIATE));
728    s30.addState(ScannerStateEntry(1 ,INTERMEDIATE));
729    s30.addState(ScannerStateEntry(2 ,START));
730    s30.addState(ScannerStateEntry(3 ,INTERMEDIATE));
731    s30.addState(ScannerStateEntry(4 ,INTERMEDIATE));
732    s30.addState(ScannerStateEntry(5 ,INTERMEDIATE));
733    s30.addState(ScannerStateEntry(6 ,FINAL));
734    s30.addTransition(ScannerTransEntry(0 ,'a' ,1));
735    s30.addTransition(ScannerTransEntry(1 ,'b' ,3));
736    s30.addTransition(ScannerTransEntry(2 ,'t' ,0));
737    s30.addTransition(ScannerTransEntry(3 ,'l' ,4));
738    s30.addTransition(ScannerTransEntry(4 ,'e' ,5));
739    s30.addTransition(ScannerTransEntry(5 ,'s' ,6));
740    _scannerList.Insert(s30);
741 
742    Scanner s31(TEXT);
743    s31.addState(ScannerStateEntry(0 ,INTERMEDIATE));
744    s31.addState(ScannerStateEntry(1 ,INTERMEDIATE));
745    s31.addState(ScannerStateEntry(2 ,START));
746    s31.addState(ScannerStateEntry(3 ,INTERMEDIATE));
747    s31.addState(ScannerStateEntry(4 ,FINAL));
748    s31.addTransition(ScannerTransEntry(0 ,'e' ,1));
749    s31.addTransition(ScannerTransEntry(1 ,'x' ,3));
750    s31.addTransition(ScannerTransEntry(2 ,'t' ,0));
751    s31.addTransition(ScannerTransEntry(3 ,'t' ,4));
752    _scannerList.Insert(s31);
753 
754    Scanner s32(TIMESTAMP);
755    s32.addState(ScannerStateEntry(0 ,INTERMEDIATE));
756    s32.addState(ScannerStateEntry(1 ,INTERMEDIATE));
757    s32.addState(ScannerStateEntry(2 ,START));
758    s32.addState(ScannerStateEntry(3 ,INTERMEDIATE));
759    s32.addState(ScannerStateEntry(4 ,INTERMEDIATE));
760    s32.addState(ScannerStateEntry(5 ,INTERMEDIATE));
761    s32.addState(ScannerStateEntry(6 ,INTERMEDIATE));
762    s32.addState(ScannerStateEntry(7 ,INTERMEDIATE));
763    s32.addState(ScannerStateEntry(8 ,INTERMEDIATE));
764    s32.addState(ScannerStateEntry(9 ,FINAL));
765    s32.addTransition(ScannerTransEntry(0 ,'i' ,1));
766    s32.addTransition(ScannerTransEntry(1 ,'m' ,3));
767    s32.addTransition(ScannerTransEntry(2 ,'t' ,0));
768    s32.addTransition(ScannerTransEntry(3 ,'e' ,4));
769    s32.addTransition(ScannerTransEntry(4 ,'s' ,5));
770    s32.addTransition(ScannerTransEntry(5 ,'t' ,6));
771    s32.addTransition(ScannerTransEntry(6 ,'a' ,7));
772    s32.addTransition(ScannerTransEntry(7 ,'m' ,8));
773    s32.addTransition(ScannerTransEntry(8 ,'p' ,9));
774    _scannerList.Insert(s32);
775 
776    Scanner s33(UNLOCK);
777    s33.addState(ScannerStateEntry(0 ,INTERMEDIATE));
778    s33.addState(ScannerStateEntry(1 ,INTERMEDIATE));
779    s33.addState(ScannerStateEntry(2 ,START));
780    s33.addState(ScannerStateEntry(3 ,INTERMEDIATE));
781    s33.addState(ScannerStateEntry(4 ,INTERMEDIATE));
782    s33.addState(ScannerStateEntry(5 ,INTERMEDIATE));
783    s33.addState(ScannerStateEntry(6 ,FINAL));
784    s33.addTransition(ScannerTransEntry(0 ,'n' ,1));
785    s33.addTransition(ScannerTransEntry(1 ,'l' ,3));
786    s33.addTransition(ScannerTransEntry(2 ,'u' ,0));
787    s33.addTransition(ScannerTransEntry(3 ,'o' ,4));
788    s33.addTransition(ScannerTransEntry(4 ,'c' ,5));
789    s33.addTransition(ScannerTransEntry(5 ,'k' ,6));
790    _scannerList.Insert(s33);
791 
792    Scanner s34(UNIQUE);
793    s34.addState(ScannerStateEntry(0 ,INTERMEDIATE));
794    s34.addState(ScannerStateEntry(1 ,INTERMEDIATE));
795    s34.addState(ScannerStateEntry(2 ,START));
796    s34.addState(ScannerStateEntry(3 ,INTERMEDIATE));
797    s34.addState(ScannerStateEntry(4 ,INTERMEDIATE));
798    s34.addState(ScannerStateEntry(5 ,INTERMEDIATE));
799    s34.addState(ScannerStateEntry(6 ,FINAL));
800    s34.addTransition(ScannerTransEntry(0 ,'n' ,1));
801    s34.addTransition(ScannerTransEntry(1 ,'i' ,3));
802    s34.addTransition(ScannerTransEntry(2 ,'u' ,0));
803    s34.addTransition(ScannerTransEntry(3 ,'q' ,4));
804    s34.addTransition(ScannerTransEntry(4 ,'u' ,5));
805    s34.addTransition(ScannerTransEntry(5 ,'e' ,6));
806    _scannerList.Insert(s34);
807 
808    Scanner s35(UNSIGNED);
809    s35.addState(ScannerStateEntry(0 ,INTERMEDIATE));
810    s35.addState(ScannerStateEntry(1 ,INTERMEDIATE));
811    s35.addState(ScannerStateEntry(2 ,START));
812    s35.addState(ScannerStateEntry(3 ,INTERMEDIATE));
813    s35.addState(ScannerStateEntry(4 ,INTERMEDIATE));
814    s35.addState(ScannerStateEntry(5 ,INTERMEDIATE));
815    s35.addState(ScannerStateEntry(6 ,INTERMEDIATE));
816    s35.addState(ScannerStateEntry(7 ,INTERMEDIATE));
817    s35.addState(ScannerStateEntry(8 ,FINAL));
818    s35.addTransition(ScannerTransEntry(0 ,'n' ,1));
819    s35.addTransition(ScannerTransEntry(1 ,'s' ,3));
820    s35.addTransition(ScannerTransEntry(2 ,'u' ,0));
821    s35.addTransition(ScannerTransEntry(3 ,'i' ,4));
822    s35.addTransition(ScannerTransEntry(4 ,'g' ,5));
823    s35.addTransition(ScannerTransEntry(5 ,'n' ,6));
824    s35.addTransition(ScannerTransEntry(6 ,'e' ,7));
825    s35.addTransition(ScannerTransEntry(7 ,'d' ,8));
826    _scannerList.Insert(s35);
827 
828    Scanner s36(VALUES);
829    s36.addState(ScannerStateEntry(0 ,INTERMEDIATE));
830    s36.addState(ScannerStateEntry(1 ,INTERMEDIATE));
831    s36.addState(ScannerStateEntry(2 ,START));
832    s36.addState(ScannerStateEntry(3 ,INTERMEDIATE));
833    s36.addState(ScannerStateEntry(4 ,INTERMEDIATE));
834    s36.addState(ScannerStateEntry(5 ,INTERMEDIATE));
835    s36.addState(ScannerStateEntry(6 ,FINAL));
836    s36.addTransition(ScannerTransEntry(0 ,'a' ,1));
837    s36.addTransition(ScannerTransEntry(1 ,'l' ,3));
838    s36.addTransition(ScannerTransEntry(2 ,'v' ,0));
839    s36.addTransition(ScannerTransEntry(3 ,'u' ,4));
840    s36.addTransition(ScannerTransEntry(4 ,'e' ,5));
841    s36.addTransition(ScannerTransEntry(5 ,'s' ,6));
842    _scannerList.Insert(s36);
843 
844    Scanner s37(VARCHAR);
845    s37.addState(ScannerStateEntry(0 ,INTERMEDIATE));
846    s37.addState(ScannerStateEntry(1 ,INTERMEDIATE));
847    s37.addState(ScannerStateEntry(2 ,START));
848    s37.addState(ScannerStateEntry(3 ,INTERMEDIATE));
849    s37.addState(ScannerStateEntry(4 ,INTERMEDIATE));
850    s37.addState(ScannerStateEntry(5 ,INTERMEDIATE));
851    s37.addState(ScannerStateEntry(6 ,INTERMEDIATE));
852    s37.addState(ScannerStateEntry(7 ,FINAL));
853    s37.addTransition(ScannerTransEntry(0 ,'a' ,1));
854    s37.addTransition(ScannerTransEntry(1 ,'r' ,3));
855    s37.addTransition(ScannerTransEntry(2 ,'v' ,0));
856    s37.addTransition(ScannerTransEntry(3 ,'c' ,4));
857    s37.addTransition(ScannerTransEntry(4 ,'h' ,5));
858    s37.addTransition(ScannerTransEntry(5 ,'a' ,6));
859    s37.addTransition(ScannerTransEntry(6 ,'r' ,7));
860    _scannerList.Insert(s37);
861 
862    Scanner s38(WRITE);
863    s38.addState(ScannerStateEntry(0 ,INTERMEDIATE));
864    s38.addState(ScannerStateEntry(1 ,INTERMEDIATE));
865    s38.addState(ScannerStateEntry(2 ,START));
866    s38.addState(ScannerStateEntry(3 ,INTERMEDIATE));
867    s38.addState(ScannerStateEntry(4 ,INTERMEDIATE));
868    s38.addState(ScannerStateEntry(5 ,FINAL));
869    s38.addTransition(ScannerTransEntry(0 ,'r' ,1));
870    s38.addTransition(ScannerTransEntry(1 ,'i' ,3));
871    s38.addTransition(ScannerTransEntry(2 ,'w' ,0));
872    s38.addTransition(ScannerTransEntry(3 ,'t' ,4));
873    s38.addTransition(ScannerTransEntry(4 ,'e' ,5));
874    _scannerList.Insert(s38);
875 
876    Scanner s39(MINUS);
877    s39.addState(ScannerStateEntry(0 ,START));
878    s39.addState(ScannerStateEntry(1 ,FINAL));
879    s39.addTransition(ScannerTransEntry(0 ,'-' ,1));
880    _scannerList.Insert(s39);
881 
882    Scanner s40(EQU);
883    s40.addState(ScannerStateEntry(0 ,START));
884    s40.addState(ScannerStateEntry(1 ,FINAL));
885    s40.addTransition(ScannerTransEntry(0 ,'=' ,1));
886    _scannerList.Insert(s40);
887 
888    Scanner s41(KSEP);
889    s41.addState(ScannerStateEntry(0 ,START));
890    s41.addState(ScannerStateEntry(1 ,FINAL));
891    s41.addTransition(ScannerTransEntry(0 ,',' ,1));
892    _scannerList.Insert(s41);
893 
894    Scanner s42(LB);
895    s42.addState(ScannerStateEntry(0 ,START));
896    s42.addState(ScannerStateEntry(1 ,FINAL));
897    s42.addTransition(ScannerTransEntry(0 ,'(' ,1));
898    _scannerList.Insert(s42);
899 
900    Scanner s43(RB);
901    s43.addState(ScannerStateEntry(0 ,START));
902    s43.addState(ScannerStateEntry(1 ,FINAL));
903    s43.addTransition(ScannerTransEntry(0 ,')' ,1));
904    _scannerList.Insert(s43);
905 
906    Scanner s44(SEMICOLON);
907    s44.addState(ScannerStateEntry(0 ,START));
908    s44.addState(ScannerStateEntry(1 ,FINAL));
909    s44.addTransition(ScannerTransEntry(0 ,';' ,1));
910    _scannerList.Insert(s44);
911 
912    Scanner s45(INTVAL);
913    s45.addState(ScannerStateEntry(0 ,START));
914    s45.addState(ScannerStateEntry(1 ,FINAL));
915    s45.addState(ScannerStateEntry(2 ,FINAL));
916    s45.addTransition(ScannerTransEntry(0 ,'1' ,1));
917    s45.addTransition(ScannerTransEntry(0 ,'2' ,1));
918    s45.addTransition(ScannerTransEntry(0 ,'3' ,1));
919    s45.addTransition(ScannerTransEntry(0 ,'4' ,1));
920    s45.addTransition(ScannerTransEntry(0 ,'5' ,1));
921    s45.addTransition(ScannerTransEntry(0 ,'6' ,1));
922    s45.addTransition(ScannerTransEntry(0 ,'7' ,1));
923    s45.addTransition(ScannerTransEntry(0 ,'8' ,1));
924    s45.addTransition(ScannerTransEntry(0 ,'9' ,1));
925    s45.addTransition(ScannerTransEntry(0 ,'0' ,2));
926    s45.addTransition(ScannerTransEntry(1 ,'0' ,1));
927    s45.addTransition(ScannerTransEntry(1 ,'1' ,1));
928    s45.addTransition(ScannerTransEntry(1 ,'2' ,1));
929    s45.addTransition(ScannerTransEntry(1 ,'3' ,1));
930    s45.addTransition(ScannerTransEntry(1 ,'4' ,1));
931    s45.addTransition(ScannerTransEntry(1 ,'5' ,1));
932    s45.addTransition(ScannerTransEntry(1 ,'6' ,1));
933    s45.addTransition(ScannerTransEntry(1 ,'7' ,1));
934    s45.addTransition(ScannerTransEntry(1 ,'8' ,1));
935    s45.addTransition(ScannerTransEntry(1 ,'9' ,1));
936    _scannerList.Insert(s45);
937 
938    Scanner s46(FLOATVAL);
939    s46.addState(ScannerStateEntry(0 ,START));
940    s46.addState(ScannerStateEntry(1 ,INTERMEDIATE));
941    s46.addState(ScannerStateEntry(2 ,INTERMEDIATE));
942    s46.addState(ScannerStateEntry(3 ,FINAL));
943    s46.addTransition(ScannerTransEntry(0 ,'1' ,1));
944    s46.addTransition(ScannerTransEntry(0 ,'2' ,1));
945    s46.addTransition(ScannerTransEntry(0 ,'3' ,1));
946    s46.addTransition(ScannerTransEntry(0 ,'4' ,1));
947    s46.addTransition(ScannerTransEntry(0 ,'5' ,1));
948    s46.addTransition(ScannerTransEntry(0 ,'6' ,1));
949    s46.addTransition(ScannerTransEntry(0 ,'7' ,1));
950    s46.addTransition(ScannerTransEntry(0 ,'8' ,1));
951    s46.addTransition(ScannerTransEntry(0 ,'9' ,1));
952    s46.addTransition(ScannerTransEntry(0 ,'0' ,2));
953    s46.addTransition(ScannerTransEntry(1 ,'0' ,1));
954    s46.addTransition(ScannerTransEntry(1 ,'1' ,1));
955    s46.addTransition(ScannerTransEntry(1 ,'2' ,1));
956    s46.addTransition(ScannerTransEntry(1 ,'3' ,1));
957    s46.addTransition(ScannerTransEntry(1 ,'4' ,1));
958    s46.addTransition(ScannerTransEntry(1 ,'5' ,1));
959    s46.addTransition(ScannerTransEntry(1 ,'6' ,1));
960    s46.addTransition(ScannerTransEntry(1 ,'7' ,1));
961    s46.addTransition(ScannerTransEntry(1 ,'8' ,1));
962    s46.addTransition(ScannerTransEntry(1 ,'9' ,1));
963    s46.addTransition(ScannerTransEntry(1 ,'.' ,3));
964    s46.addTransition(ScannerTransEntry(2 ,'.' ,3));
965    s46.addTransition(ScannerTransEntry(3 ,'0' ,3));
966    s46.addTransition(ScannerTransEntry(3 ,'1' ,3));
967    s46.addTransition(ScannerTransEntry(3 ,'2' ,3));
968    s46.addTransition(ScannerTransEntry(3 ,'3' ,3));
969    s46.addTransition(ScannerTransEntry(3 ,'4' ,3));
970    s46.addTransition(ScannerTransEntry(3 ,'5' ,3));
971    s46.addTransition(ScannerTransEntry(3 ,'6' ,3));
972    s46.addTransition(ScannerTransEntry(3 ,'7' ,3));
973    s46.addTransition(ScannerTransEntry(3 ,'8' ,3));
974    s46.addTransition(ScannerTransEntry(3 ,'9' ,3));
975    _scannerList.Insert(s46);
976 
977    Scanner s47(QIDENTIFIER);
978    s47.addState(ScannerStateEntry(0 ,INTERMEDIATE));
979    s47.addState(ScannerStateEntry(1 ,INTERMEDIATE));
980    s47.addState(ScannerStateEntry(2 ,START));
981    s47.addState(ScannerStateEntry(3 ,FINAL));
982    s47.addTransition(ScannerTransEntry(0 ,'$' ,1));
983    s47.addTransition(ScannerTransEntry(0 ,'A' ,1));
984    s47.addTransition(ScannerTransEntry(0 ,'B' ,1));
985    s47.addTransition(ScannerTransEntry(0 ,'C' ,1));
986    s47.addTransition(ScannerTransEntry(0 ,'D' ,1));
987    s47.addTransition(ScannerTransEntry(0 ,'E' ,1));
988    s47.addTransition(ScannerTransEntry(0 ,'F' ,1));
989    s47.addTransition(ScannerTransEntry(0 ,'G' ,1));
990    s47.addTransition(ScannerTransEntry(0 ,'H' ,1));
991    s47.addTransition(ScannerTransEntry(0 ,'I' ,1));
992    s47.addTransition(ScannerTransEntry(0 ,'J' ,1));
993    s47.addTransition(ScannerTransEntry(0 ,'K' ,1));
994    s47.addTransition(ScannerTransEntry(0 ,'L' ,1));
995    s47.addTransition(ScannerTransEntry(0 ,'M' ,1));
996    s47.addTransition(ScannerTransEntry(0 ,'N' ,1));
997    s47.addTransition(ScannerTransEntry(0 ,'O' ,1));
998    s47.addTransition(ScannerTransEntry(0 ,'P' ,1));
999    s47.addTransition(ScannerTransEntry(0 ,'Q' ,1));
1000    s47.addTransition(ScannerTransEntry(0 ,'R' ,1));
1001    s47.addTransition(ScannerTransEntry(0 ,'S' ,1));
1002    s47.addTransition(ScannerTransEntry(0 ,'T' ,1));
1003    s47.addTransition(ScannerTransEntry(0 ,'U' ,1));
1004    s47.addTransition(ScannerTransEntry(0 ,'V' ,1));
1005    s47.addTransition(ScannerTransEntry(0 ,'W' ,1));
1006    s47.addTransition(ScannerTransEntry(0 ,'X' ,1));
1007    s47.addTransition(ScannerTransEntry(0 ,'Y' ,1));
1008    s47.addTransition(ScannerTransEntry(0 ,'Z' ,1));
1009    s47.addTransition(ScannerTransEntry(0 ,'a' ,1));
1010    s47.addTransition(ScannerTransEntry(0 ,'b' ,1));
1011    s47.addTransition(ScannerTransEntry(0 ,'c' ,1));
1012    s47.addTransition(ScannerTransEntry(0 ,'d' ,1));
1013    s47.addTransition(ScannerTransEntry(0 ,'e' ,1));
1014    s47.addTransition(ScannerTransEntry(0 ,'f' ,1));
1015    s47.addTransition(ScannerTransEntry(0 ,'g' ,1));
1016    s47.addTransition(ScannerTransEntry(0 ,'h' ,1));
1017    s47.addTransition(ScannerTransEntry(0 ,'i' ,1));
1018    s47.addTransition(ScannerTransEntry(0 ,'j' ,1));
1019    s47.addTransition(ScannerTransEntry(0 ,'k' ,1));
1020    s47.addTransition(ScannerTransEntry(0 ,'l' ,1));
1021    s47.addTransition(ScannerTransEntry(0 ,'m' ,1));
1022    s47.addTransition(ScannerTransEntry(0 ,'n' ,1));
1023    s47.addTransition(ScannerTransEntry(0 ,'o' ,1));
1024    s47.addTransition(ScannerTransEntry(0 ,'p' ,1));
1025    s47.addTransition(ScannerTransEntry(0 ,'q' ,1));
1026    s47.addTransition(ScannerTransEntry(0 ,'r' ,1));
1027    s47.addTransition(ScannerTransEntry(0 ,'s' ,1));
1028    s47.addTransition(ScannerTransEntry(0 ,'t' ,1));
1029    s47.addTransition(ScannerTransEntry(0 ,'u' ,1));
1030    s47.addTransition(ScannerTransEntry(0 ,'v' ,1));
1031    s47.addTransition(ScannerTransEntry(0 ,'w' ,1));
1032    s47.addTransition(ScannerTransEntry(0 ,'x' ,1));
1033    s47.addTransition(ScannerTransEntry(0 ,'y' ,1));
1034    s47.addTransition(ScannerTransEntry(0 ,'z' ,1));
1035    s47.addTransition(ScannerTransEntry(1 ,'0' ,1));
1036    s47.addTransition(ScannerTransEntry(1 ,'1' ,1));
1037    s47.addTransition(ScannerTransEntry(1 ,'2' ,1));
1038    s47.addTransition(ScannerTransEntry(1 ,'3' ,1));
1039    s47.addTransition(ScannerTransEntry(1 ,'4' ,1));
1040    s47.addTransition(ScannerTransEntry(1 ,'5' ,1));
1041    s47.addTransition(ScannerTransEntry(1 ,'6' ,1));
1042    s47.addTransition(ScannerTransEntry(1 ,'7' ,1));
1043    s47.addTransition(ScannerTransEntry(1 ,'8' ,1));
1044    s47.addTransition(ScannerTransEntry(1 ,'9' ,1));
1045    s47.addTransition(ScannerTransEntry(1 ,'A' ,1));
1046    s47.addTransition(ScannerTransEntry(1 ,'B' ,1));
1047    s47.addTransition(ScannerTransEntry(1 ,'C' ,1));
1048    s47.addTransition(ScannerTransEntry(1 ,'D' ,1));
1049    s47.addTransition(ScannerTransEntry(1 ,'E' ,1));
1050    s47.addTransition(ScannerTransEntry(1 ,'F' ,1));
1051    s47.addTransition(ScannerTransEntry(1 ,'G' ,1));
1052    s47.addTransition(ScannerTransEntry(1 ,'H' ,1));
1053    s47.addTransition(ScannerTransEntry(1 ,'I' ,1));
1054    s47.addTransition(ScannerTransEntry(1 ,'J' ,1));
1055    s47.addTransition(ScannerTransEntry(1 ,'K' ,1));
1056    s47.addTransition(ScannerTransEntry(1 ,'L' ,1));
1057    s47.addTransition(ScannerTransEntry(1 ,'M' ,1));
1058    s47.addTransition(ScannerTransEntry(1 ,'N' ,1));
1059    s47.addTransition(ScannerTransEntry(1 ,'O' ,1));
1060    s47.addTransition(ScannerTransEntry(1 ,'P' ,1));
1061    s47.addTransition(ScannerTransEntry(1 ,'Q' ,1));
1062    s47.addTransition(ScannerTransEntry(1 ,'R' ,1));
1063    s47.addTransition(ScannerTransEntry(1 ,'S' ,1));
1064    s47.addTransition(ScannerTransEntry(1 ,'T' ,1));
1065    s47.addTransition(ScannerTransEntry(1 ,'U' ,1));
1066    s47.addTransition(ScannerTransEntry(1 ,'V' ,1));
1067    s47.addTransition(ScannerTransEntry(1 ,'W' ,1));
1068    s47.addTransition(ScannerTransEntry(1 ,'X' ,1));
1069    s47.addTransition(ScannerTransEntry(1 ,'Y' ,1));
1070    s47.addTransition(ScannerTransEntry(1 ,'Z' ,1));
1071    s47.addTransition(ScannerTransEntry(1 ,'_' ,1));
1072    s47.addTransition(ScannerTransEntry(1 ,'a' ,1));
1073    s47.addTransition(ScannerTransEntry(1 ,'b' ,1));
1074    s47.addTransition(ScannerTransEntry(1 ,'c' ,1));
1075    s47.addTransition(ScannerTransEntry(1 ,'d' ,1));
1076    s47.addTransition(ScannerTransEntry(1 ,'e' ,1));
1077    s47.addTransition(ScannerTransEntry(1 ,'f' ,1));
1078    s47.addTransition(ScannerTransEntry(1 ,'g' ,1));
1079    s47.addTransition(ScannerTransEntry(1 ,'h' ,1));
1080    s47.addTransition(ScannerTransEntry(1 ,'i' ,1));
1081    s47.addTransition(ScannerTransEntry(1 ,'j' ,1));
1082    s47.addTransition(ScannerTransEntry(1 ,'k' ,1));
1083    s47.addTransition(ScannerTransEntry(1 ,'l' ,1));
1084    s47.addTransition(ScannerTransEntry(1 ,'m' ,1));
1085    s47.addTransition(ScannerTransEntry(1 ,'n' ,1));
1086    s47.addTransition(ScannerTransEntry(1 ,'o' ,1));
1087    s47.addTransition(ScannerTransEntry(1 ,'p' ,1));
1088    s47.addTransition(ScannerTransEntry(1 ,'q' ,1));
1089    s47.addTransition(ScannerTransEntry(1 ,'r' ,1));
1090    s47.addTransition(ScannerTransEntry(1 ,'s' ,1));
1091    s47.addTransition(ScannerTransEntry(1 ,'t' ,1));
1092    s47.addTransition(ScannerTransEntry(1 ,'u' ,1));
1093    s47.addTransition(ScannerTransEntry(1 ,'v' ,1));
1094    s47.addTransition(ScannerTransEntry(1 ,'w' ,1));
1095    s47.addTransition(ScannerTransEntry(1 ,'x' ,1));
1096    s47.addTransition(ScannerTransEntry(1 ,'y' ,1));
1097    s47.addTransition(ScannerTransEntry(1 ,'z' ,1));
1098    s47.addTransition(ScannerTransEntry(1 ,'`' ,3));
1099    s47.addTransition(ScannerTransEntry(2 ,'`' ,0));
1100    _scannerList.Insert(s47);
1101 
1102    Scanner s48(IDENTIFIER);
1103    s48.addState(ScannerStateEntry(0 ,START));
1104    s48.addState(ScannerStateEntry(1 ,FINAL));
1105    s48.addTransition(ScannerTransEntry(0 ,'@' ,1));
1106    s48.addTransition(ScannerTransEntry(0 ,'A' ,1));
1107    s48.addTransition(ScannerTransEntry(0 ,'B' ,1));
1108    s48.addTransition(ScannerTransEntry(0 ,'C' ,1));
1109    s48.addTransition(ScannerTransEntry(0 ,'D' ,1));
1110    s48.addTransition(ScannerTransEntry(0 ,'E' ,1));
1111    s48.addTransition(ScannerTransEntry(0 ,'F' ,1));
1112    s48.addTransition(ScannerTransEntry(0 ,'G' ,1));
1113    s48.addTransition(ScannerTransEntry(0 ,'H' ,1));
1114    s48.addTransition(ScannerTransEntry(0 ,'I' ,1));
1115    s48.addTransition(ScannerTransEntry(0 ,'J' ,1));
1116    s48.addTransition(ScannerTransEntry(0 ,'K' ,1));
1117    s48.addTransition(ScannerTransEntry(0 ,'L' ,1));
1118    s48.addTransition(ScannerTransEntry(0 ,'M' ,1));
1119    s48.addTransition(ScannerTransEntry(0 ,'N' ,1));
1120    s48.addTransition(ScannerTransEntry(0 ,'O' ,1));
1121    s48.addTransition(ScannerTransEntry(0 ,'P' ,1));
1122    s48.addTransition(ScannerTransEntry(0 ,'Q' ,1));
1123    s48.addTransition(ScannerTransEntry(0 ,'R' ,1));
1124    s48.addTransition(ScannerTransEntry(0 ,'S' ,1));
1125    s48.addTransition(ScannerTransEntry(0 ,'T' ,1));
1126    s48.addTransition(ScannerTransEntry(0 ,'U' ,1));
1127    s48.addTransition(ScannerTransEntry(0 ,'V' ,1));
1128    s48.addTransition(ScannerTransEntry(0 ,'W' ,1));
1129    s48.addTransition(ScannerTransEntry(0 ,'X' ,1));
1130    s48.addTransition(ScannerTransEntry(0 ,'Y' ,1));
1131    s48.addTransition(ScannerTransEntry(0 ,'Z' ,1));
1132    s48.addTransition(ScannerTransEntry(0 ,'a' ,1));
1133    s48.addTransition(ScannerTransEntry(0 ,'b' ,1));
1134    s48.addTransition(ScannerTransEntry(0 ,'c' ,1));
1135    s48.addTransition(ScannerTransEntry(0 ,'d' ,1));
1136    s48.addTransition(ScannerTransEntry(0 ,'e' ,1));
1137    s48.addTransition(ScannerTransEntry(0 ,'f' ,1));
1138    s48.addTransition(ScannerTransEntry(0 ,'g' ,1));
1139    s48.addTransition(ScannerTransEntry(0 ,'h' ,1));
1140    s48.addTransition(ScannerTransEntry(0 ,'i' ,1));
1141    s48.addTransition(ScannerTransEntry(0 ,'j' ,1));
1142    s48.addTransition(ScannerTransEntry(0 ,'k' ,1));
1143    s48.addTransition(ScannerTransEntry(0 ,'l' ,1));
1144    s48.addTransition(ScannerTransEntry(0 ,'m' ,1));
1145    s48.addTransition(ScannerTransEntry(0 ,'n' ,1));
1146    s48.addTransition(ScannerTransEntry(0 ,'o' ,1));
1147    s48.addTransition(ScannerTransEntry(0 ,'p' ,1));
1148    s48.addTransition(ScannerTransEntry(0 ,'q' ,1));
1149    s48.addTransition(ScannerTransEntry(0 ,'r' ,1));
1150    s48.addTransition(ScannerTransEntry(0 ,'s' ,1));
1151    s48.addTransition(ScannerTransEntry(0 ,'t' ,1));
1152    s48.addTransition(ScannerTransEntry(0 ,'u' ,1));
1153    s48.addTransition(ScannerTransEntry(0 ,'v' ,1));
1154    s48.addTransition(ScannerTransEntry(0 ,'w' ,1));
1155    s48.addTransition(ScannerTransEntry(0 ,'x' ,1));
1156    s48.addTransition(ScannerTransEntry(0 ,'y' ,1));
1157    s48.addTransition(ScannerTransEntry(0 ,'z' ,1));
1158    s48.addTransition(ScannerTransEntry(1 ,'0' ,1));
1159    s48.addTransition(ScannerTransEntry(1 ,'1' ,1));
1160    s48.addTransition(ScannerTransEntry(1 ,'2' ,1));
1161    s48.addTransition(ScannerTransEntry(1 ,'3' ,1));
1162    s48.addTransition(ScannerTransEntry(1 ,'4' ,1));
1163    s48.addTransition(ScannerTransEntry(1 ,'5' ,1));
1164    s48.addTransition(ScannerTransEntry(1 ,'6' ,1));
1165    s48.addTransition(ScannerTransEntry(1 ,'7' ,1));
1166    s48.addTransition(ScannerTransEntry(1 ,'8' ,1));
1167    s48.addTransition(ScannerTransEntry(1 ,'9' ,1));
1168    s48.addTransition(ScannerTransEntry(1 ,'@' ,1));
1169    s48.addTransition(ScannerTransEntry(1 ,'A' ,1));
1170    s48.addTransition(ScannerTransEntry(1 ,'B' ,1));
1171    s48.addTransition(ScannerTransEntry(1 ,'C' ,1));
1172    s48.addTransition(ScannerTransEntry(1 ,'D' ,1));
1173    s48.addTransition(ScannerTransEntry(1 ,'E' ,1));
1174    s48.addTransition(ScannerTransEntry(1 ,'F' ,1));
1175    s48.addTransition(ScannerTransEntry(1 ,'G' ,1));
1176    s48.addTransition(ScannerTransEntry(1 ,'H' ,1));
1177    s48.addTransition(ScannerTransEntry(1 ,'I' ,1));
1178    s48.addTransition(ScannerTransEntry(1 ,'J' ,1));
1179    s48.addTransition(ScannerTransEntry(1 ,'K' ,1));
1180    s48.addTransition(ScannerTransEntry(1 ,'L' ,1));
1181    s48.addTransition(ScannerTransEntry(1 ,'M' ,1));
1182    s48.addTransition(ScannerTransEntry(1 ,'N' ,1));
1183    s48.addTransition(ScannerTransEntry(1 ,'O' ,1));
1184    s48.addTransition(ScannerTransEntry(1 ,'P' ,1));
1185    s48.addTransition(ScannerTransEntry(1 ,'Q' ,1));
1186    s48.addTransition(ScannerTransEntry(1 ,'R' ,1));
1187    s48.addTransition(ScannerTransEntry(1 ,'S' ,1));
1188    s48.addTransition(ScannerTransEntry(1 ,'T' ,1));
1189    s48.addTransition(ScannerTransEntry(1 ,'U' ,1));
1190    s48.addTransition(ScannerTransEntry(1 ,'V' ,1));
1191    s48.addTransition(ScannerTransEntry(1 ,'W' ,1));
1192    s48.addTransition(ScannerTransEntry(1 ,'X' ,1));
1193    s48.addTransition(ScannerTransEntry(1 ,'Y' ,1));
1194    s48.addTransition(ScannerTransEntry(1 ,'Z' ,1));
1195    s48.addTransition(ScannerTransEntry(1 ,'_' ,1));
1196    s48.addTransition(ScannerTransEntry(1 ,'a' ,1));
1197    s48.addTransition(ScannerTransEntry(1 ,'b' ,1));
1198    s48.addTransition(ScannerTransEntry(1 ,'c' ,1));
1199    s48.addTransition(ScannerTransEntry(1 ,'d' ,1));
1200    s48.addTransition(ScannerTransEntry(1 ,'e' ,1));
1201    s48.addTransition(ScannerTransEntry(1 ,'f' ,1));
1202    s48.addTransition(ScannerTransEntry(1 ,'g' ,1));
1203    s48.addTransition(ScannerTransEntry(1 ,'h' ,1));
1204    s48.addTransition(ScannerTransEntry(1 ,'i' ,1));
1205    s48.addTransition(ScannerTransEntry(1 ,'j' ,1));
1206    s48.addTransition(ScannerTransEntry(1 ,'k' ,1));
1207    s48.addTransition(ScannerTransEntry(1 ,'l' ,1));
1208    s48.addTransition(ScannerTransEntry(1 ,'m' ,1));
1209    s48.addTransition(ScannerTransEntry(1 ,'n' ,1));
1210    s48.addTransition(ScannerTransEntry(1 ,'o' ,1));
1211    s48.addTransition(ScannerTransEntry(1 ,'p' ,1));
1212    s48.addTransition(ScannerTransEntry(1 ,'q' ,1));
1213    s48.addTransition(ScannerTransEntry(1 ,'r' ,1));
1214    s48.addTransition(ScannerTransEntry(1 ,'s' ,1));
1215    s48.addTransition(ScannerTransEntry(1 ,'t' ,1));
1216    s48.addTransition(ScannerTransEntry(1 ,'u' ,1));
1217    s48.addTransition(ScannerTransEntry(1 ,'v' ,1));
1218    s48.addTransition(ScannerTransEntry(1 ,'w' ,1));
1219    s48.addTransition(ScannerTransEntry(1 ,'x' ,1));
1220    s48.addTransition(ScannerTransEntry(1 ,'y' ,1));
1221    s48.addTransition(ScannerTransEntry(1 ,'z' ,1));
1222    _scannerList.Insert(s48);
1223 
1224 }
loadParser0()1225 void PostgresParser::loadParser0()
1226 {
1227    _actionMap[139][UNSIGNED] = ActionEntry(REDUCE, 63);
1228    _actionMap[139][NULLTOKEN] = ActionEntry(REDUCE, 63);
1229    _actionMap[139][NOT] = ActionEntry(REDUCE, 63);
1230    _actionMap[139][DEFAULT] = ActionEntry(REDUCE, 63);
1231    _actionMap[139][AUTOINCREMENT] = ActionEntry(REDUCE, 63);
1232    _actionMap[139][RB] = ActionEntry(REDUCE, 63);
1233    _actionMap[139][KSEP] = ActionEntry(REDUCE, 63);
1234    _actionMap[133][COLLATE] = ActionEntry(REDUCE, 16);
1235    _actionMap[133][SEMICOLON] = ActionEntry(REDUCE, 16);
1236    _actionMap[134][KSEP] = ActionEntry(REDUCE, 35);
1237    _actionMap[134][RB] = ActionEntry(REDUCE, 35);
1238    _actionMap[135][KSEP] = ActionEntry(REDUCE, 33);
1239    _actionMap[135][RB] = ActionEntry(REDUCE, 33);
1240    _actionMap[136][RB] = ActionEntry(SHIFT, 139);
1241    _actionMap[137][KSEP] = ActionEntry(REDUCE, 56);
1242    _actionMap[137][RB] = ActionEntry(REDUCE, 56);
1243    _actionMap[138][NULLTOKEN] = ActionEntry(REDUCE, 49);
1244    _actionMap[138][NOT] = ActionEntry(REDUCE, 49);
1245    _actionMap[138][DEFAULT] = ActionEntry(REDUCE, 49);
1246    _actionMap[138][AUTOINCREMENT] = ActionEntry(REDUCE, 49);
1247    _actionMap[138][RB] = ActionEntry(REDUCE, 49);
1248    _actionMap[138][KSEP] = ActionEntry(REDUCE, 49);
1249    _actionMap[117][DEFAULT] = ActionEntry(REDUCE, 14);
1250    _actionMap[117][COLLATE] = ActionEntry(REDUCE, 14);
1251    _actionMap[117][SEMICOLON] = ActionEntry(REDUCE, 14);
1252    _actionMap[118][SEMICOLON] = ActionEntry(REDUCE, 18);
1253    _actionMap[119][IDENTIFIER] = ActionEntry(SHIFT, 133);
1254    _actionMap[120][AUTOINCREMENT] = ActionEntry(REDUCE, 12);
1255    _actionMap[120][DEFAULT] = ActionEntry(REDUCE, 12);
1256    _actionMap[120][COLLATE] = ActionEntry(REDUCE, 12);
1257    _actionMap[120][SEMICOLON] = ActionEntry(REDUCE, 12);
1258    _actionMap[121][QIDENTIFIER] = ActionEntry(SHIFT, 134);
1259    _actionMap[122][KSEP] = ActionEntry(REDUCE, 34);
1260    _actionMap[122][RB] = ActionEntry(REDUCE, 34);
1261    _actionMap[123][KSEP] = ActionEntry(REDUCE, 32);
1262    _actionMap[123][RB] = ActionEntry(REDUCE, 32);
1263    _actionMap[124][RB] = ActionEntry(SHIFT, 135);
1264    _actionMap[124][KSEP] = ActionEntry(SHIFT, 121);
1265    _actionMap[125][KSEP] = ActionEntry(REDUCE, 22);
1266    _actionMap[125][RB] = ActionEntry(REDUCE, 22);
1267    _actionMap[126][KSEP] = ActionEntry(REDUCE, 30);
1268    _actionMap[126][RB] = ActionEntry(REDUCE, 30);
1269    _actionMap[127][AUTOINCREMENT] = ActionEntry(REDUCE, 27);
1270    _actionMap[127][RB] = ActionEntry(REDUCE, 27);
1271    _actionMap[127][KSEP] = ActionEntry(REDUCE, 27);
1272    _actionMap[128][INTVAL] = ActionEntry(SHIFT, 136);
1273    _actionMap[129][INTVAL] = ActionEntry(SHIFT, 44);
1274    _actionMap[129][MINUS] = ActionEntry(SHIFT, 43);
1275    _actionMap[129][STRINGVAL] = ActionEntry(SHIFT, 41);
1276    _actionMap[129][NULLTOKEN] = ActionEntry(SHIFT, 42);
1277 }
loadParser1()1278 void PostgresParser::loadParser1()
1279 {
1280    _jumpMap[129][Constant] = 137;
1281    _actionMap[130][NULLTOKEN] = ActionEntry(REDUCE, 55);
1282    _actionMap[130][NOT] = ActionEntry(REDUCE, 55);
1283    _actionMap[130][DEFAULT] = ActionEntry(REDUCE, 55);
1284    _actionMap[130][AUTOINCREMENT] = ActionEntry(REDUCE, 55);
1285    _actionMap[130][RB] = ActionEntry(REDUCE, 55);
1286    _actionMap[130][KSEP] = ActionEntry(REDUCE, 55);
1287    _actionMap[131][UNSIGNED] = ActionEntry(REDUCE, 62);
1288    _actionMap[131][NULLTOKEN] = ActionEntry(REDUCE, 62);
1289    _actionMap[131][NOT] = ActionEntry(REDUCE, 62);
1290    _actionMap[131][DEFAULT] = ActionEntry(REDUCE, 62);
1291    _actionMap[131][AUTOINCREMENT] = ActionEntry(REDUCE, 62);
1292    _actionMap[131][RB] = ActionEntry(REDUCE, 62);
1293    _actionMap[131][KSEP] = ActionEntry(REDUCE, 62);
1294    _actionMap[132][COLLATE] = ActionEntry(SHIFT, 93);
1295    _actionMap[132][NULLTOKEN] = ActionEntry(REDUCE, 67);
1296    _actionMap[132][NOT] = ActionEntry(REDUCE, 67);
1297    _actionMap[132][DEFAULT] = ActionEntry(REDUCE, 67);
1298    _actionMap[132][AUTOINCREMENT] = ActionEntry(REDUCE, 67);
1299    _actionMap[132][RB] = ActionEntry(REDUCE, 67);
1300    _actionMap[132][KSEP] = ActionEntry(REDUCE, 67);
1301    _jumpMap[132][CollateOpt] = 138;
1302    _actionMap[96][INTVAL] = ActionEntry(SHIFT, 117);
1303    _actionMap[97][IDENTIFIER] = ActionEntry(SHIFT, 118);
1304    _actionMap[98][EQU] = ActionEntry(SHIFT, 119);
1305    _actionMap[99][IDENTIFIER] = ActionEntry(SHIFT, 120);
1306    _actionMap[100][RB] = ActionEntry(SHIFT, 122);
1307    _actionMap[100][KSEP] = ActionEntry(SHIFT, 121);
1308    _actionMap[101][KSEP] = ActionEntry(REDUCE, 36);
1309    _actionMap[101][RB] = ActionEntry(REDUCE, 36);
1310    _actionMap[102][RB] = ActionEntry(SHIFT, 123);
1311    _actionMap[102][KSEP] = ActionEntry(SHIFT, 121);
1312    _actionMap[103][QIDENTIFIER] = ActionEntry(SHIFT, 101);
1313    _jumpMap[103][KeyList] = 124;
1314    _actionMap[104][AUTOINCREMENT] = ActionEntry(SHIFT, 126);
1315    _actionMap[104][KSEP] = ActionEntry(REDUCE, 31);
1316    _actionMap[104][RB] = ActionEntry(REDUCE, 31);
1317    _jumpMap[104][IncrementOpt] = 125;
1318    _actionMap[105][AUTOINCREMENT] = ActionEntry(REDUCE, 28);
1319    _actionMap[105][RB] = ActionEntry(REDUCE, 28);
1320    _actionMap[105][KSEP] = ActionEntry(REDUCE, 28);
1321    _actionMap[106][INTVAL] = ActionEntry(SHIFT, 44);
1322    _actionMap[106][MINUS] = ActionEntry(SHIFT, 43);
1323    _actionMap[106][STRINGVAL] = ActionEntry(SHIFT, 41);
1324    _actionMap[106][NULLTOKEN] = ActionEntry(SHIFT, 42);
1325    _jumpMap[106][Constant] = 127;
1326    _actionMap[107][DEFAULT] = ActionEntry(REDUCE, 24);
1327    _actionMap[107][AUTOINCREMENT] = ActionEntry(REDUCE, 24);
1328    _actionMap[107][RB] = ActionEntry(REDUCE, 24);
1329    _actionMap[107][KSEP] = ActionEntry(REDUCE, 24);
1330 }
loadParser2()1331 void PostgresParser::loadParser2()
1332 {
1333    _actionMap[108][NULLTOKEN] = ActionEntry(REDUCE, 48);
1334    _actionMap[108][NOT] = ActionEntry(REDUCE, 48);
1335    _actionMap[108][DEFAULT] = ActionEntry(REDUCE, 48);
1336    _actionMap[108][AUTOINCREMENT] = ActionEntry(REDUCE, 48);
1337    _actionMap[108][RB] = ActionEntry(REDUCE, 48);
1338    _actionMap[108][KSEP] = ActionEntry(REDUCE, 48);
1339    _actionMap[109][NULLTOKEN] = ActionEntry(REDUCE, 64);
1340    _actionMap[109][NOT] = ActionEntry(REDUCE, 64);
1341    _actionMap[109][DEFAULT] = ActionEntry(REDUCE, 64);
1342    _actionMap[109][AUTOINCREMENT] = ActionEntry(REDUCE, 64);
1343    _actionMap[109][RB] = ActionEntry(REDUCE, 64);
1344    _actionMap[109][KSEP] = ActionEntry(REDUCE, 64);
1345    _actionMap[110][KSEP] = ActionEntry(SHIFT, 128);
1346    _actionMap[111][RB] = ActionEntry(SHIFT, 130);
1347    _actionMap[111][KSEP] = ActionEntry(SHIFT, 129);
1348    _actionMap[112][KSEP] = ActionEntry(REDUCE, 57);
1349    _actionMap[112][RB] = ActionEntry(REDUCE, 57);
1350    _actionMap[113][NULLTOKEN] = ActionEntry(REDUCE, 47);
1351    _actionMap[113][NOT] = ActionEntry(REDUCE, 47);
1352    _actionMap[113][DEFAULT] = ActionEntry(REDUCE, 47);
1353    _actionMap[113][AUTOINCREMENT] = ActionEntry(REDUCE, 47);
1354    _actionMap[113][RB] = ActionEntry(REDUCE, 47);
1355    _actionMap[113][KSEP] = ActionEntry(REDUCE, 47);
1356    _actionMap[114][RB] = ActionEntry(SHIFT, 131);
1357    _actionMap[115][NULLTOKEN] = ActionEntry(REDUCE, 66);
1358    _actionMap[115][NOT] = ActionEntry(REDUCE, 66);
1359    _actionMap[115][DEFAULT] = ActionEntry(REDUCE, 66);
1360    _actionMap[115][AUTOINCREMENT] = ActionEntry(REDUCE, 66);
1361    _actionMap[115][RB] = ActionEntry(REDUCE, 66);
1362    _actionMap[115][KSEP] = ActionEntry(REDUCE, 66);
1363    _actionMap[116][RB] = ActionEntry(SHIFT, 132);
1364    _actionMap[70][KSEP] = ActionEntry(REDUCE, 43);
1365    _actionMap[70][RB] = ActionEntry(REDUCE, 43);
1366    _actionMap[71][KSEP] = ActionEntry(REDUCE, 20);
1367    _actionMap[71][RB] = ActionEntry(REDUCE, 20);
1368    _actionMap[72][AUTOINCREMENT] = ActionEntry(SHIFT, 76);
1369    _actionMap[72][DEFAULT] = ActionEntry(REDUCE, 15);
1370    _actionMap[72][COLLATE] = ActionEntry(REDUCE, 15);
1371    _actionMap[72][SEMICOLON] = ActionEntry(REDUCE, 15);
1372    _jumpMap[72][TableCollateOpt] = 75;
1373    _jumpMap[72][TableCharsetOpt] = 74;
1374    _jumpMap[72][AutoIncrementOpt] = 73;
1375    _actionMap[73][DEFAULT] = ActionEntry(SHIFT, 78);
1376    _actionMap[73][COLLATE] = ActionEntry(REDUCE, 17);
1377    _actionMap[73][SEMICOLON] = ActionEntry(REDUCE, 17);
1378    _jumpMap[73][TableCollateOpt] = 75;
1379    _jumpMap[73][TableCharsetOpt] = 74;
1380    _actionMap[74][COLLATE] = ActionEntry(SHIFT, 77);
1381    _actionMap[74][SEMICOLON] = ActionEntry(REDUCE, 19);
1382    _jumpMap[74][TableCollateOpt] = 75;
1383 }
loadParser3()1384 void PostgresParser::loadParser3()
1385 {
1386    _actionMap[75][SEMICOLON] = ActionEntry(REDUCE, 8);
1387    _actionMap[76][EQU] = ActionEntry(SHIFT, 96);
1388    _actionMap[77][EQU] = ActionEntry(SHIFT, 97);
1389    _actionMap[78][CHARSET] = ActionEntry(SHIFT, 98);
1390    _actionMap[79][EQU] = ActionEntry(SHIFT, 99);
1391    _actionMap[80][QIDENTIFIER] = ActionEntry(SHIFT, 101);
1392    _jumpMap[80][KeyList] = 100;
1393    _actionMap[81][QIDENTIFIER] = ActionEntry(SHIFT, 101);
1394    _jumpMap[81][KeyList] = 102;
1395    _actionMap[82][LB] = ActionEntry(SHIFT, 103);
1396    _actionMap[83][KSEP] = ActionEntry(REDUCE, 29);
1397    _actionMap[83][RB] = ActionEntry(REDUCE, 29);
1398    _actionMap[83][AUTOINCREMENT] = ActionEntry(REDUCE, 29);
1399    _actionMap[83][DEFAULT] = ActionEntry(SHIFT, 106);
1400    _jumpMap[83][DefaultDefOpt] = 105;
1401    _jumpMap[83][DefaultOpt] = 104;
1402    _actionMap[84][DEFAULT] = ActionEntry(REDUCE, 25);
1403    _actionMap[84][AUTOINCREMENT] = ActionEntry(REDUCE, 25);
1404    _actionMap[84][RB] = ActionEntry(REDUCE, 25);
1405    _actionMap[84][KSEP] = ActionEntry(REDUCE, 25);
1406    _actionMap[85][NULLTOKEN] = ActionEntry(SHIFT, 107);
1407    _actionMap[86][DEFAULT] = ActionEntry(REDUCE, 23);
1408    _actionMap[86][AUTOINCREMENT] = ActionEntry(REDUCE, 23);
1409    _actionMap[86][RB] = ActionEntry(REDUCE, 23);
1410    _actionMap[86][KSEP] = ActionEntry(REDUCE, 23);
1411    _actionMap[87][UNSIGNED] = ActionEntry(SHIFT, 109);
1412    _actionMap[87][NULLTOKEN] = ActionEntry(REDUCE, 65);
1413    _actionMap[87][NOT] = ActionEntry(REDUCE, 65);
1414    _actionMap[87][DEFAULT] = ActionEntry(REDUCE, 65);
1415    _actionMap[87][AUTOINCREMENT] = ActionEntry(REDUCE, 65);
1416    _actionMap[87][RB] = ActionEntry(REDUCE, 65);
1417    _actionMap[87][KSEP] = ActionEntry(REDUCE, 65);
1418    _jumpMap[87][UnsignedOpt] = 108;
1419    _actionMap[88][INTVAL] = ActionEntry(SHIFT, 110);
1420    _actionMap[89][INTVAL] = ActionEntry(SHIFT, 44);
1421    _actionMap[89][MINUS] = ActionEntry(SHIFT, 43);
1422    _actionMap[89][STRINGVAL] = ActionEntry(SHIFT, 41);
1423    _actionMap[89][NULLTOKEN] = ActionEntry(SHIFT, 42);
1424    _jumpMap[89][Constant] = 112;
1425    _jumpMap[89][ConstList] = 111;
1426    _actionMap[90][UNSIGNED] = ActionEntry(SHIFT, 109);
1427    _actionMap[90][NULLTOKEN] = ActionEntry(REDUCE, 65);
1428    _actionMap[90][NOT] = ActionEntry(REDUCE, 65);
1429    _actionMap[90][DEFAULT] = ActionEntry(REDUCE, 65);
1430    _actionMap[90][AUTOINCREMENT] = ActionEntry(REDUCE, 65);
1431    _actionMap[90][RB] = ActionEntry(REDUCE, 65);
1432    _actionMap[90][KSEP] = ActionEntry(REDUCE, 65);
1433    _jumpMap[90][UnsignedOpt] = 113;
1434    _actionMap[91][INTVAL] = ActionEntry(SHIFT, 114);
1435    _actionMap[92][NULLTOKEN] = ActionEntry(REDUCE, 53);
1436 }
loadParser4()1437 void PostgresParser::loadParser4()
1438 {
1439    _actionMap[92][NOT] = ActionEntry(REDUCE, 53);
1440    _actionMap[92][DEFAULT] = ActionEntry(REDUCE, 53);
1441    _actionMap[92][AUTOINCREMENT] = ActionEntry(REDUCE, 53);
1442    _actionMap[92][RB] = ActionEntry(REDUCE, 53);
1443    _actionMap[92][KSEP] = ActionEntry(REDUCE, 53);
1444    _actionMap[93][IDENTIFIER] = ActionEntry(SHIFT, 115);
1445    _actionMap[94][NULLTOKEN] = ActionEntry(REDUCE, 54);
1446    _actionMap[94][NOT] = ActionEntry(REDUCE, 54);
1447    _actionMap[94][DEFAULT] = ActionEntry(REDUCE, 54);
1448    _actionMap[94][AUTOINCREMENT] = ActionEntry(REDUCE, 54);
1449    _actionMap[94][RB] = ActionEntry(REDUCE, 54);
1450    _actionMap[94][KSEP] = ActionEntry(REDUCE, 54);
1451    _actionMap[95][INTVAL] = ActionEntry(SHIFT, 116);
1452    _actionMap[51][SEMICOLON] = ActionEntry(REDUCE, 40);
1453    _actionMap[51][KSEP] = ActionEntry(REDUCE, 40);
1454    _actionMap[52][INTVAL] = ActionEntry(SHIFT, 44);
1455    _actionMap[52][MINUS] = ActionEntry(SHIFT, 43);
1456    _actionMap[52][STRINGVAL] = ActionEntry(SHIFT, 41);
1457    _actionMap[52][NULLTOKEN] = ActionEntry(SHIFT, 42);
1458    _jumpMap[52][Constant] = 70;
1459    _actionMap[53][SEMICOLON] = ActionEntry(REDUCE, 42);
1460    _actionMap[53][KSEP] = ActionEntry(REDUCE, 42);
1461    _actionMap[54][AUTOINCREMENT] = ActionEntry(REDUCE, 59);
1462    _actionMap[54][RB] = ActionEntry(REDUCE, 59);
1463    _actionMap[54][KSEP] = ActionEntry(REDUCE, 59);
1464    _actionMap[55][QIDENTIFIER] = ActionEntry(SHIFT, 50);
1465    _actionMap[55][PRIMARY] = ActionEntry(SHIFT, 48);
1466    _actionMap[55][UNIQUE] = ActionEntry(SHIFT, 49);
1467    _actionMap[55][KEY] = ActionEntry(SHIFT, 47);
1468    _jumpMap[55][ColumnDesc] = 71;
1469    _actionMap[56][ENGINE] = ActionEntry(SHIFT, 79);
1470    _actionMap[56][AUTOINCREMENT] = ActionEntry(REDUCE, 13);
1471    _actionMap[56][DEFAULT] = ActionEntry(REDUCE, 13);
1472    _actionMap[56][COLLATE] = ActionEntry(REDUCE, 13);
1473    _actionMap[56][SEMICOLON] = ActionEntry(REDUCE, 13);
1474    _jumpMap[56][TableCollateOpt] = 75;
1475    _jumpMap[56][TableCharsetOpt] = 74;
1476    _jumpMap[56][AutoIncrementOpt] = 73;
1477    _jumpMap[56][EngineOpt] = 72;
1478    _actionMap[57][LB] = ActionEntry(SHIFT, 80);
1479    _actionMap[58][LB] = ActionEntry(SHIFT, 81);
1480    _actionMap[59][QIDENTIFIER] = ActionEntry(SHIFT, 82);
1481    _actionMap[60][KSEP] = ActionEntry(REDUCE, 26);
1482    _actionMap[60][RB] = ActionEntry(REDUCE, 26);
1483    _actionMap[60][AUTOINCREMENT] = ActionEntry(REDUCE, 26);
1484    _actionMap[60][DEFAULT] = ActionEntry(REDUCE, 26);
1485    _actionMap[60][NULLTOKEN] = ActionEntry(SHIFT, 86);
1486    _actionMap[60][NOT] = ActionEntry(SHIFT, 85);
1487    _jumpMap[60][DefaultNullOpt] = 84;
1488    _jumpMap[60][NullOpt] = 83;
1489 }
loadParser5()1490 void PostgresParser::loadParser5()
1491 {
1492    _actionMap[61][NULLTOKEN] = ActionEntry(REDUCE, 51);
1493    _actionMap[61][NOT] = ActionEntry(REDUCE, 51);
1494    _actionMap[61][DEFAULT] = ActionEntry(REDUCE, 51);
1495    _actionMap[61][AUTOINCREMENT] = ActionEntry(REDUCE, 51);
1496    _actionMap[61][RB] = ActionEntry(REDUCE, 51);
1497    _actionMap[61][KSEP] = ActionEntry(REDUCE, 51);
1498    _actionMap[62][LB] = ActionEntry(SHIFT, 88);
1499    _jumpMap[62][DecimalDimOpt] = 87;
1500    _actionMap[63][LB] = ActionEntry(SHIFT, 89);
1501    _actionMap[64][LB] = ActionEntry(SHIFT, 91);
1502    _jumpMap[64][DimOpt] = 90;
1503    _actionMap[65][NULLTOKEN] = ActionEntry(REDUCE, 52);
1504    _actionMap[65][NOT] = ActionEntry(REDUCE, 52);
1505    _actionMap[65][DEFAULT] = ActionEntry(REDUCE, 52);
1506    _actionMap[65][AUTOINCREMENT] = ActionEntry(REDUCE, 52);
1507    _actionMap[65][RB] = ActionEntry(REDUCE, 52);
1508    _actionMap[65][KSEP] = ActionEntry(REDUCE, 52);
1509    _actionMap[66][COLLATE] = ActionEntry(SHIFT, 93);
1510    _actionMap[66][NULLTOKEN] = ActionEntry(REDUCE, 67);
1511    _actionMap[66][NOT] = ActionEntry(REDUCE, 67);
1512    _actionMap[66][DEFAULT] = ActionEntry(REDUCE, 67);
1513    _actionMap[66][AUTOINCREMENT] = ActionEntry(REDUCE, 67);
1514    _actionMap[66][RB] = ActionEntry(REDUCE, 67);
1515    _actionMap[66][KSEP] = ActionEntry(REDUCE, 67);
1516    _jumpMap[66][CollateOpt] = 92;
1517    _actionMap[67][COLLATE] = ActionEntry(SHIFT, 93);
1518    _actionMap[67][NULLTOKEN] = ActionEntry(REDUCE, 67);
1519    _actionMap[67][NOT] = ActionEntry(REDUCE, 67);
1520    _actionMap[67][DEFAULT] = ActionEntry(REDUCE, 67);
1521    _actionMap[67][AUTOINCREMENT] = ActionEntry(REDUCE, 67);
1522    _actionMap[67][RB] = ActionEntry(REDUCE, 67);
1523    _actionMap[67][KSEP] = ActionEntry(REDUCE, 67);
1524    _jumpMap[67][CollateOpt] = 94;
1525    _actionMap[68][NULLTOKEN] = ActionEntry(REDUCE, 50);
1526    _actionMap[68][NOT] = ActionEntry(REDUCE, 50);
1527    _actionMap[68][DEFAULT] = ActionEntry(REDUCE, 50);
1528    _actionMap[68][AUTOINCREMENT] = ActionEntry(REDUCE, 50);
1529    _actionMap[68][RB] = ActionEntry(REDUCE, 50);
1530    _actionMap[68][KSEP] = ActionEntry(REDUCE, 50);
1531    _actionMap[69][LB] = ActionEntry(SHIFT, 95);
1532    _actionMap[38][LB] = ActionEntry(SHIFT, 33);
1533    _jumpMap[38][InsertValueSpec] = 51;
1534    _actionMap[39][RB] = ActionEntry(SHIFT, 53);
1535    _actionMap[39][KSEP] = ActionEntry(SHIFT, 52);
1536    _actionMap[40][KSEP] = ActionEntry(REDUCE, 44);
1537    _actionMap[40][RB] = ActionEntry(REDUCE, 44);
1538    _actionMap[41][AUTOINCREMENT] = ActionEntry(REDUCE, 60);
1539    _actionMap[41][KSEP] = ActionEntry(REDUCE, 60);
1540    _actionMap[41][RB] = ActionEntry(REDUCE, 60);
1541    _actionMap[42][AUTOINCREMENT] = ActionEntry(REDUCE, 61);
1542 }
loadParser6()1543 void PostgresParser::loadParser6()
1544 {
1545    _actionMap[42][RB] = ActionEntry(REDUCE, 61);
1546    _actionMap[42][KSEP] = ActionEntry(REDUCE, 61);
1547    _actionMap[43][INTVAL] = ActionEntry(SHIFT, 54);
1548    _actionMap[44][AUTOINCREMENT] = ActionEntry(REDUCE, 58);
1549    _actionMap[44][KSEP] = ActionEntry(REDUCE, 58);
1550    _actionMap[44][RB] = ActionEntry(REDUCE, 58);
1551    _actionMap[45][RB] = ActionEntry(SHIFT, 56);
1552    _actionMap[45][KSEP] = ActionEntry(SHIFT, 55);
1553    _actionMap[46][KSEP] = ActionEntry(REDUCE, 21);
1554    _actionMap[46][RB] = ActionEntry(REDUCE, 21);
1555    _actionMap[47][QIDENTIFIER] = ActionEntry(SHIFT, 57);
1556    _actionMap[48][KEY] = ActionEntry(SHIFT, 58);
1557    _actionMap[49][KEY] = ActionEntry(SHIFT, 59);
1558    _actionMap[50][INT] = ActionEntry(SHIFT, 64);
1559    _actionMap[50][DECIMAL] = ActionEntry(SHIFT, 62);
1560    _actionMap[50][VARCHAR] = ActionEntry(SHIFT, 69);
1561    _actionMap[50][TIMESTAMP] = ActionEntry(SHIFT, 68);
1562    _actionMap[50][DATETIME] = ActionEntry(SHIFT, 61);
1563    _actionMap[50][LONGBLOB] = ActionEntry(SHIFT, 65);
1564    _actionMap[50][MEDIUMTEXT] = ActionEntry(SHIFT, 66);
1565    _actionMap[50][TEXT] = ActionEntry(SHIFT, 67);
1566    _actionMap[50][ENUM] = ActionEntry(SHIFT, 63);
1567    _jumpMap[50][DataTypeProd] = 60;
1568    _actionMap[31][KSEP] = ActionEntry(SHIFT, 38);
1569    _actionMap[31][SEMICOLON] = ActionEntry(REDUCE, 39);
1570    _actionMap[32][SEMICOLON] = ActionEntry(REDUCE, 41);
1571    _actionMap[32][KSEP] = ActionEntry(REDUCE, 41);
1572    _actionMap[33][INTVAL] = ActionEntry(SHIFT, 44);
1573    _actionMap[33][MINUS] = ActionEntry(SHIFT, 43);
1574    _actionMap[33][STRINGVAL] = ActionEntry(SHIFT, 41);
1575    _actionMap[33][NULLTOKEN] = ActionEntry(SHIFT, 42);
1576    _jumpMap[33][Constant] = 40;
1577    _jumpMap[33][InsertValueList] = 39;
1578    _actionMap[34][QIDENTIFIER] = ActionEntry(SHIFT, 50);
1579    _actionMap[34][PRIMARY] = ActionEntry(SHIFT, 48);
1580    _actionMap[34][UNIQUE] = ActionEntry(SHIFT, 49);
1581    _actionMap[34][KEY] = ActionEntry(SHIFT, 47);
1582    _jumpMap[34][ColumnDesc] = 46;
1583    _jumpMap[34][ColumnList] = 45;
1584    _actionMap[35][QIDENTIFIER] = ActionEntry(REDUCE, 11);
1585    _actionMap[36][SEMICOLON] = ActionEntry(REDUCE, 37);
1586    _actionMap[37][SEMICOLON] = ActionEntry(REDUCE, 4);
1587    _actionMap[25][SEMICOLON] = ActionEntry(REDUCE, 1);
1588    _actionMap[25][SET] = ActionEntry(REDUCE, 1);
1589    _actionMap[25][CREATE] = ActionEntry(REDUCE, 1);
1590    _actionMap[25][DROP] = ActionEntry(REDUCE, 1);
1591    _actionMap[25][UNLOCK] = ActionEntry(REDUCE, 1);
1592    _actionMap[25][LOCK] = ActionEntry(REDUCE, 1);
1593    _actionMap[25][INSERT] = ActionEntry(REDUCE, 1);
1594    _actionMap[25][ENDTOKEN] = ActionEntry(REDUCE, 1);
1595 }
loadParser7()1596 void PostgresParser::loadParser7()
1597 {
1598    _actionMap[26][LB] = ActionEntry(SHIFT, 33);
1599    _jumpMap[26][InsertValueSpec] = 32;
1600    _jumpMap[26][InsertValueSpecList] = 31;
1601    _actionMap[27][LB] = ActionEntry(SHIFT, 34);
1602    _actionMap[28][EXISTS] = ActionEntry(SHIFT, 35);
1603    _actionMap[29][WRITE] = ActionEntry(SHIFT, 36);
1604    _actionMap[30][IDENTIFIER] = ActionEntry(SHIFT, 37);
1605    _actionMap[14][SEMICOLON] = ActionEntry(SHIFT, 25);
1606    _actionMap[15][SEMICOLON] = ActionEntry(REDUCE, 2);
1607    _actionMap[15][SET] = ActionEntry(REDUCE, 2);
1608    _actionMap[15][CREATE] = ActionEntry(REDUCE, 2);
1609    _actionMap[15][DROP] = ActionEntry(REDUCE, 2);
1610    _actionMap[15][UNLOCK] = ActionEntry(REDUCE, 2);
1611    _actionMap[15][LOCK] = ActionEntry(REDUCE, 2);
1612    _actionMap[15][INSERT] = ActionEntry(REDUCE, 2);
1613    _actionMap[15][ENDTOKEN] = ActionEntry(REDUCE, 2);
1614    _actionMap[16][SEMICOLON] = ActionEntry(REDUCE, 9);
1615    _actionMap[17][VALUES] = ActionEntry(REDUCE, 46);
1616    _actionMap[17][SEMICOLON] = ActionEntry(REDUCE, 46);
1617    _actionMap[17][LB] = ActionEntry(REDUCE, 46);
1618    _actionMap[18][VALUES] = ActionEntry(SHIFT, 26);
1619    _actionMap[19][QIDENTIFIER] = ActionEntry(SHIFT, 17);
1620    _jumpMap[19][Table] = 27;
1621    _actionMap[20][IF] = ActionEntry(SHIFT, 28);
1622    _actionMap[20][QIDENTIFIER] = ActionEntry(REDUCE, 10);
1623    _actionMap[21][QIDENTIFIER] = ActionEntry(REDUCE, 45);
1624    _actionMap[22][QIDENTIFIER] = ActionEntry(SHIFT, 29);
1625    _actionMap[23][EQU] = ActionEntry(SHIFT, 30);
1626    _actionMap[24][SEMICOLON] = ActionEntry(REDUCE, 38);
1627    _actionMap[1][ENDTOKEN] = ActionEntry(ACCEPT, 0);
1628    _actionMap[1][INSERT] = ActionEntry(SHIFT, 10);
1629    _actionMap[1][DROP] = ActionEntry(SHIFT, 9);
1630    _actionMap[1][UNLOCK] = ActionEntry(SHIFT, 13);
1631    _actionMap[1][LOCK] = ActionEntry(SHIFT, 11);
1632    _actionMap[1][SEMICOLON] = ActionEntry(REDUCE, 3);
1633    _actionMap[1][SET] = ActionEntry(SHIFT, 12);
1634    _actionMap[1][CREATE] = ActionEntry(SHIFT, 8);
1635    _jumpMap[1][InsertPrefix] = 7;
1636    _jumpMap[1][InsertStatement] = 6;
1637    _jumpMap[1][UnlockStatement] = 5;
1638    _jumpMap[1][LockStatement] = 4;
1639    _jumpMap[1][DropOpt] = 3;
1640    _jumpMap[1][Statement] = 14;
1641    _actionMap[2][SEMICOLON] = ActionEntry(SHIFT, 15);
1642    _actionMap[3][QIDENTIFIER] = ActionEntry(SHIFT, 17);
1643    _jumpMap[3][Table] = 16;
1644    _actionMap[4][SEMICOLON] = ActionEntry(REDUCE, 6);
1645    _actionMap[5][SEMICOLON] = ActionEntry(REDUCE, 7);
1646    _actionMap[6][SEMICOLON] = ActionEntry(REDUCE, 5);
1647    _actionMap[7][QIDENTIFIER] = ActionEntry(SHIFT, 17);
1648 }
loadParser8()1649 void PostgresParser::loadParser8()
1650 {
1651    _jumpMap[7][Table] = 18;
1652    _actionMap[8][TABLE] = ActionEntry(SHIFT, 19);
1653    _actionMap[9][TABLE] = ActionEntry(SHIFT, 20);
1654    _actionMap[10][INTO] = ActionEntry(SHIFT, 21);
1655    _actionMap[11][TABLES] = ActionEntry(SHIFT, 22);
1656    _actionMap[12][IDENTIFIER] = ActionEntry(SHIFT, 23);
1657    _actionMap[13][TABLES] = ActionEntry(SHIFT, 24);
1658    _actionMap[0][INSERT] = ActionEntry(SHIFT, 10);
1659    _actionMap[0][DROP] = ActionEntry(SHIFT, 9);
1660    _actionMap[0][UNLOCK] = ActionEntry(SHIFT, 13);
1661    _actionMap[0][LOCK] = ActionEntry(SHIFT, 11);
1662    _actionMap[0][SEMICOLON] = ActionEntry(REDUCE, 3);
1663    _actionMap[0][SET] = ActionEntry(SHIFT, 12);
1664    _actionMap[0][CREATE] = ActionEntry(SHIFT, 8);
1665    _jumpMap[0][InsertPrefix] = 7;
1666    _jumpMap[0][InsertStatement] = 6;
1667    _jumpMap[0][UnlockStatement] = 5;
1668    _jumpMap[0][LockStatement] = 4;
1669    _jumpMap[0][DropOpt] = 3;
1670    _jumpMap[0][Statement] = 2;
1671    _jumpMap[0][StatementList] = 1;
1672 }
loadParser9()1673 void PostgresParser::loadParser9()
1674 {
1675    _prodInfo.Insert(ProdEntry(67, CollateOpt, 0));
1676    _prodInfo.Insert(ProdEntry(66, CollateOpt, 2));
1677    _prodInfo.Insert(ProdEntry(65, UnsignedOpt, 0));
1678    _prodInfo.Insert(ProdEntry(64, UnsignedOpt, 1));
1679    _prodInfo.Insert(ProdEntry(63, DecimalDimOpt, 5));
1680    _prodInfo.Insert(ProdEntry(62, DimOpt, 3));
1681    _prodInfo.Insert(ProdEntry(61, Constant, 1));
1682    _prodInfo.Insert(ProdEntry(60, Constant, 1));
1683    _prodInfo.Insert(ProdEntry(59, Constant, 2));
1684    _prodInfo.Insert(ProdEntry(58, Constant, 1));
1685    _prodInfo.Insert(ProdEntry(57, ConstList, 1));
1686    _prodInfo.Insert(ProdEntry(56, ConstList, 3));
1687    _prodInfo.Insert(ProdEntry(55, DataTypeProd, 4));
1688    _prodInfo.Insert(ProdEntry(54, DataTypeProd, 2));
1689    _prodInfo.Insert(ProdEntry(53, DataTypeProd, 2));
1690    _prodInfo.Insert(ProdEntry(52, DataTypeProd, 1));
1691    _prodInfo.Insert(ProdEntry(51, DataTypeProd, 1));
1692    _prodInfo.Insert(ProdEntry(50, DataTypeProd, 1));
1693    _prodInfo.Insert(ProdEntry(49, DataTypeProd, 5));
1694    _prodInfo.Insert(ProdEntry(48, DataTypeProd, 3));
1695    _prodInfo.Insert(ProdEntry(47, DataTypeProd, 3));
1696    _prodInfo.Insert(ProdEntry(46, Table, 1));
1697    _prodInfo.Insert(ProdEntry(45, InsertPrefix, 2));
1698    _prodInfo.Insert(ProdEntry(44, InsertValueList, 1));
1699    _prodInfo.Insert(ProdEntry(43, InsertValueList, 3));
1700    _prodInfo.Insert(ProdEntry(42, InsertValueSpec, 3));
1701    _prodInfo.Insert(ProdEntry(41, InsertValueSpecList, 1));
1702    _prodInfo.Insert(ProdEntry(40, InsertValueSpecList, 3));
1703    _prodInfo.Insert(ProdEntry(39, InsertStatement, 4));
1704    _prodInfo.Insert(ProdEntry(38, UnlockStatement, 2));
1705    _prodInfo.Insert(ProdEntry(37, LockStatement, 4));
1706    _prodInfo.Insert(ProdEntry(36, KeyList, 1));
1707    _prodInfo.Insert(ProdEntry(35, KeyList, 3));
1708    _prodInfo.Insert(ProdEntry(34, ColumnDesc, 5));
1709    _prodInfo.Insert(ProdEntry(33, ColumnDesc, 6));
1710    _prodInfo.Insert(ProdEntry(32, ColumnDesc, 5));
1711    _prodInfo.Insert(ProdEntry(31, IncrementOpt, 0));
1712    _prodInfo.Insert(ProdEntry(30, IncrementOpt, 1));
1713    _prodInfo.Insert(ProdEntry(29, DefaultDefOpt, 0));
1714    _prodInfo.Insert(ProdEntry(28, DefaultOpt, 1));
1715    _prodInfo.Insert(ProdEntry(27, DefaultOpt, 2));
1716    _prodInfo.Insert(ProdEntry(26, DefaultNullOpt, 0));
1717    _prodInfo.Insert(ProdEntry(25, NullOpt, 1));
1718    _prodInfo.Insert(ProdEntry(24, NullOpt, 2));
1719    _prodInfo.Insert(ProdEntry(23, NullOpt, 1));
1720    _prodInfo.Insert(ProdEntry(22, ColumnDesc, 5));
1721    _prodInfo.Insert(ProdEntry(21, ColumnList, 1));
1722    _prodInfo.Insert(ProdEntry(20, ColumnList, 3));
1723    _prodInfo.Insert(ProdEntry(19, TableCollateOpt, 0));
1724    _prodInfo.Insert(ProdEntry(18, TableCollateOpt, 3));
1725    _prodInfo.Insert(ProdEntry(17, TableCharsetOpt, 0));
1726    _prodInfo.Insert(ProdEntry(16, TableCharsetOpt, 4));
1727    _prodInfo.Insert(ProdEntry(15, AutoIncrementOpt, 0));
1728    _prodInfo.Insert(ProdEntry(14, AutoIncrementOpt, 3));
1729    _prodInfo.Insert(ProdEntry(13, EngineOpt, 0));
1730    _prodInfo.Insert(ProdEntry(12, EngineOpt, 3));
1731    _prodInfo.Insert(ProdEntry(11, DropOpt, 4));
1732    _prodInfo.Insert(ProdEntry(10, DropOpt, 2));
1733    _prodInfo.Insert(ProdEntry(9, Statement, 2));
1734    _prodInfo.Insert(ProdEntry(8, Statement, 10));
1735    _prodInfo.Insert(ProdEntry(7, Statement, 1));
1736    _prodInfo.Insert(ProdEntry(6, Statement, 1));
1737    _prodInfo.Insert(ProdEntry(5, Statement, 1));
1738    _prodInfo.Insert(ProdEntry(4, Statement, 4));
1739    _prodInfo.Insert(ProdEntry(3, Statement, 0));
1740    _prodInfo.Insert(ProdEntry(2, StatementList, 2));
1741    _prodInfo.Insert(ProdEntry(1, StatementList, 3));
1742    _prodInfo.Insert(ProdEntry(0, Start, 1));
1743 }
1744 
PostgresParser()1745 PostgresParser::PostgresParser()
1746 {
1747    loadScanner();
1748    for ( int i=0; i < 140; i++)
1749    {
1750       int j;
1751       for ( j = 0; j < 51; j++)
1752          _actionMap[i][j] = ActionEntry();
1753       for ( j = 0; j < 32; j++)
1754          _jumpMap[i][j] = -1;
1755    }
1756    loadParser0();
1757    loadParser1();
1758    loadParser2();
1759    loadParser3();
1760    loadParser4();
1761    loadParser5();
1762    loadParser6();
1763    loadParser7();
1764    loadParser8();
1765    loadParser9();
1766    _isReserved = false;
1767 }
1768 
~PostgresParser()1769 PostgresParser::~PostgresParser()
1770 {
1771 }
1772 
parse()1773 void PostgresParser::parse()
1774 {
1775    StackT<StackEntry> s;
1776    StackEntry se(NONE, 0, 0);
1777    s.Push(se);
1778    _isReserved = false;
1779    if ( shiftToken() == false )
1780    {
1781       Chain msg = "Parse error at token <" + Chain(_tokenVal) + ">.";
1782       throw Exception(EXLOC, msg);
1783    }
1784    while ( true )
1785    {
1786       Action a;
1787       int num;
1788       if ( getAction(s.getTop()->getState(), _token, a, num) )
1789       {
1790          switch (a)
1791          {
1792             case SHIFT:
1793             {
1794                StackEntry se(TOKEN, _token, num, _tokenVal);
1795                s.Push(se);
1796                if ( shiftToken() == false )
1797                {
1798                   Chain msg = "Parse error at token <" + Chain(_tokenVal) + ">.";
1799                   throw Exception(EXLOC, msg);
1800                }
1801                break;
1802             }
1803             case REDUCE:
1804             {
1805                _tokenList.Empty();
1806                ProdEntry* pPE = _prodInfo.Find(num);
1807                for (int i=0; i<pPE->getNumSymbol();i++)
1808                {
1809                   StackEntry se;
1810                   s.Pop(se);
1811                   if (se.getSymbol() == TOKEN)
1812                      _tokenList.Insert(se.getTval());
1813                }
1814                int fstate;
1815                if (getJump(s.getTop()->getState(), pPE->getProd(), fstate))
1816                {
1817                   StackEntry se(PROD, pPE->getId(), fstate, _tokenVal);
1818                   s.Push(se);
1819                }
1820                else
1821                {
1822                   Chain msg = "Cannot reduce after token <" + Chain(_tokenVal) + ">.";
1823                   throw Exception(EXLOC, msg);
1824                }
1825                switch (num)
1826                {
1827                   case 64:
1828                      storeUnsignedType();
1829                      break;
1830                   case 63:
1831                      storeDecimalDim();
1832                      break;
1833                   case 62:
1834                      storeDim();
1835                      break;
1836                   case 61:
1837                      storeNullValue();
1838                      break;
1839                   case 60:
1840                      storeVarcharValue();
1841                      break;
1842                   case 59:
1843                      storeNegIntValue();
1844                      break;
1845                   case 58:
1846                      storeIntValue();
1847                      break;
1848                   case 55:
1849                      storeEnumType();
1850                      break;
1851                   case 54:
1852                      storeMediumTextType();
1853                      break;
1854                   case 53:
1855                      storeMediumTextType();
1856                      break;
1857                   case 51:
1858                      storeDatetimeType();
1859                      break;
1860                   case 50:
1861                      storeTimestampType();
1862                      break;
1863                   case 49:
1864                      storeVarcharType();
1865                      break;
1866                   case 48:
1867                      storeDecimalType();
1868                      break;
1869                   case 47:
1870                      storeIntType();
1871                      break;
1872                   case 46:
1873                      storeTable();
1874                      break;
1875                   case 45:
1876                      insertPreAction();
1877                      break;
1878                   case 44:
1879                      insertConstValue();
1880                      break;
1881                   case 43:
1882                      insertConstValue();
1883                      break;
1884                   case 42:
1885                      execInsert();
1886                      break;
1887                   case 39:
1888                      insertPostAction();
1889                      break;
1890                   case 36:
1891                      storeKeyColumn();
1892                      break;
1893                   case 35:
1894                      storeKeyColumn();
1895                      break;
1896                   case 34:
1897                      storeKey();
1898                      break;
1899                   case 33:
1900                      storeUniqueKey();
1901                      break;
1902                   case 32:
1903                      storePrimaryKey();
1904                      break;
1905                   case 28:
1906                      storeDefaultNullOpt();
1907                      break;
1908                   case 27:
1909                      storeDefaultOpt();
1910                      break;
1911                   case 25:
1912                      storeNullOpt();
1913                      break;
1914                   case 24:
1915                      storeNotNullOpt();
1916                      break;
1917                   case 23:
1918                      storeNullOpt();
1919                      break;
1920                   case 22:
1921                      storeAttrColumn();
1922                      break;
1923                   case 11:
1924                      dropOpt2();
1925                      break;
1926                   case 10:
1927                      dropOpt1();
1928                      break;
1929                   case 9:
1930                      execDrop();
1931                      break;
1932                   case 8:
1933                      execCreate();
1934                      break;
1935                }
1936                break;
1937             }
1938             case ACCEPT:
1939             {
1940                postAction();
1941                return;
1942             }
1943             default:
1944                break;
1945          }
1946       }
1947       else
1948       {
1949          Chain msg = "Parse error at token <" + Chain(_tokenVal) + ">.";
1950          throw Exception(EXLOC, msg);
1951       }
1952    }
1953 }
1954 
1955 
getAction(int state,PostgresParser::Token token,PostgresParser::Action & a,int & num)1956 bool PostgresParser::getAction(int state, PostgresParser::Token token, PostgresParser::Action& a, int& num)
1957 {
1958     if (_actionMap[state][token].getAction() != NULLACTION )
1959     {
1960 	a = _actionMap[state][token].getAction();
1961 	num = _actionMap[state][token].getNum();
1962 	return true;
1963     }
1964     else
1965     {
1966 	return false;
1967     }
1968 }
1969 
getJump(int state,Production prod,int & fstate)1970 bool PostgresParser::getJump(int state, Production prod, int& fstate)
1971 {
1972     if ( _jumpMap[state][prod] > 0 )
1973     {
1974        fstate = _jumpMap[state][prod];
1975 	    return true;
1976     }
1977     else
1978     {
1979 	    return false;
1980     }
1981 }
1982 
isSepSign(char c)1983 bool PostgresParser::isSepSign(char c)
1984 {
1985    if (c == ';') return true;
1986    if (c == ',') return true;
1987    if (c == '=') return true;
1988    if (c == '<') return true;
1989    if (c == '>') return true;
1990    if (c == ')') return true;
1991    if (c == '(') return true;
1992    if (c == '[') return true;
1993    if (c == ']') return true;
1994    if (c == '+') return true;
1995    if (c == '-') return true;
1996    if (c == '|') return true;
1997    return false;
1998 }
isSepIgnore(char c)1999 bool PostgresParser::isSepIgnore(char c)
2000 {
2001    if (c == '\t') return true;
2002    if (c == ' ') return true;
2003    if (c == '\n') return true;
2004    if (c == '\r') return true;
2005    return false;
2006 }
shiftToken()2007 bool PostgresParser::shiftToken()
2008 {
2009    unsigned long i=0;
2010    char c;
2011    while ( isSepIgnore(c = nextChar()) && ! _isReserved );
2012    if ( _isReserved )
2013    {
2014       _token = _reservedToken;
2015       _isReserved = false;
2016       return true;
2017    }
2018    if (c == 0)
2019    {
2020       _token = ENDTOKEN;
2021       return true;
2022    }
2023    if (isSepSign(c))
2024    {
2025       _tokenVal[i]=c;
2026        i++;
2027    }
2028    else
2029    {
2030       while (c && ! isSepIgnore(c) && ! ( isSepSign(c) && i>0 ) )
2031       {
2032          _tokenVal[i]=c;
2033          i++;
2034          c = nextChar();
2035       }
2036       if (isSepSign(c)) backChar();
2037    }
2038    _tokenVal[i]=0;
2039    Scanner* pS = _scannerList.First();
2040    while (pS)
2041    {
2042       if (pS->checkPattern(_tokenVal))
2043       {
2044          _token = pS->getToken();
2045          return true;
2046       }
2047       pS=_scannerList.Next();
2048    }
2049    return false;
2050 }
setReserved(Token t)2051 void PostgresParser::setReserved(Token t)
2052 {
2053    _reservedToken = t;
2054    _isReserved = true;
2055 }
2056