001    /*
002     * Sonar, open source software quality management tool.
003     * Copyright (C) 2008-2011 SonarSource
004     * mailto:contact AT sonarsource DOT com
005     *
006     * Sonar is free software; you can redistribute it and/or
007     * modify it under the terms of the GNU Lesser General Public
008     * License as published by the Free Software Foundation; either
009     * version 3 of the License, or (at your option) any later version.
010     *
011     * Sonar is distributed in the hope that it will be useful,
012     * but WITHOUT ANY WARRANTY; without even the implied warranty of
013     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014     * Lesser General Public License for more details.
015     *
016     * You should have received a copy of the GNU Lesser General Public
017     * License along with Sonar; if not, write to the Free Software
018     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
019     */
020    
021    /* Generated By:JavaCC: Do not edit this line. CPPParserTokenManager.java */
022    package net.sourceforge.pmd.cpd.cppast;
023    
024    /** Token Manager. */
025    public class CPPParserTokenManager implements CPPParserConstants
026    {
027     private static String filename;
028     public static void setFileName(String name) {
029      filename = name;
030     }
031     public static String getFileName() {
032      return filename;
033     }
034    
035      /** Debug output. */
036      public static  java.io.PrintStream debugStream = System.out;
037      /** Set debug output. */
038      public static  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
039    private static final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, long active2)
040    {
041       switch (pos)
042       {
043          case 0:
044             if ((active1 & 0x3ffffffffffff0L) != 0L || (active2 & 0x40L) != 0L)
045             {
046                jjmatchedKind = 135;
047                return 29;
048             }
049             if ((active0 & 0x40000000L) != 0L || (active1 & 0x5L) != 0L)
050                return 1;
051             return -1;
052          case 1:
053             if ((active1 & 0x3fffffffbf9ff0L) != 0L || (active2 & 0x40L) != 0L)
054             {
055                if (jjmatchedPos != 1)
056                {
057                   jjmatchedKind = 135;
058                   jjmatchedPos = 1;
059                }
060                return 29;
061             }
062             if ((active1 & 0x406000L) != 0L)
063                return 29;
064             return -1;
065          case 2:
066             if ((active1 & 0x3ffbfffab7dff0L) != 0L || (active2 & 0x40L) != 0L)
067             {
068                jjmatchedKind = 135;
069                jjmatchedPos = 2;
070                return 29;
071             }
072             if ((active1 & 0x40005080000L) != 0L)
073                return 29;
074             return -1;
075          case 3:
076             if ((active1 & 0x3779fff8965ea0L) != 0L || (active2 & 0x40L) != 0L)
077             {
078                jjmatchedKind = 135;
079                jjmatchedPos = 3;
080                return 29;
081             }
082             if ((active1 & 0x8820002218150L) != 0L)
083                return 29;
084             return -1;
085          case 4:
086             if ((active1 & 0x569bdf8925c00L) != 0L || (active2 & 0x40L) != 0L)
087             {
088                jjmatchedKind = 135;
089                jjmatchedPos = 4;
090                return 29;
091             }
092             if ((active1 & 0x321042000402a0L) != 0L)
093                return 29;
094             return -1;
095          case 5:
096             if ((active1 & 0x56900d8000c00L) != 0L || (active2 & 0x40L) != 0L)
097             {
098                jjmatchedKind = 135;
099                jjmatchedPos = 5;
100                return 29;
101             }
102             if ((active1 & 0xbd20925000L) != 0L)
103                return 29;
104             return -1;
105          case 6:
106             if ((active1 & 0x52100d0000400L) != 0L)
107             {
108                jjmatchedKind = 135;
109                jjmatchedPos = 6;
110                return 29;
111             }
112             if ((active1 & 0x480008000800L) != 0L || (active2 & 0x40L) != 0L)
113                return 29;
114             return -1;
115          case 7:
116             if ((active1 & 0x50000000L) != 0L)
117             {
118                jjmatchedKind = 135;
119                jjmatchedPos = 7;
120                return 29;
121             }
122             if ((active1 & 0x5210080000400L) != 0L)
123                return 29;
124             return -1;
125          case 8:
126             if ((active1 & 0x40000000L) != 0L)
127             {
128                jjmatchedKind = 135;
129                jjmatchedPos = 8;
130                return 29;
131             }
132             if ((active1 & 0x10000000L) != 0L)
133                return 29;
134             return -1;
135          default :
136             return -1;
137       }
138    }
139    private static final int jjStartNfa_0(int pos, long active0, long active1, long active2)
140    {
141       return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1, active2), pos + 1);
142    }
143    static private int jjStopAtPos(int pos, int kind)
144    {
145       jjmatchedKind = kind;
146       jjmatchedPos = pos;
147       return pos + 1;
148    }
149    static private int jjMoveStringLiteralDfa0_0()
150    {
151       switch(curChar)
152       {
153          case 13:
154             return jjMoveStringLiteralDfa1_0(0x10L, 0x0L, 0x0L);
155          case 33:
156             jjmatchedKind = 63;
157             return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x0L, 0x0L);
158          case 35:
159             return jjStopAtPos(0, 8);
160          case 37:
161             jjmatchedKind = 59;
162             return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L, 0x0L);
163          case 38:
164             jjmatchedKind = 46;
165             return jjMoveStringLiteralDfa1_0(0x88000000000L, 0x0L, 0x0L);
166          case 40:
167             return jjStopAtPos(0, 23);
168          case 41:
169             return jjStopAtPos(0, 24);
170          case 42:
171             jjmatchedKind = 57;
172             return jjMoveStringLiteralDfa1_0(0x100000000L, 0x0L, 0x0L);
173          case 43:
174             jjmatchedKind = 55;
175             return jjMoveStringLiteralDfa1_0(0x1000000800000000L, 0x0L, 0x0L);
176          case 44:
177             return jjStopAtPos(0, 28);
178          case 45:
179             jjmatchedKind = 56;
180             return jjMoveStringLiteralDfa1_0(0x2000001000000000L, 0xaL, 0x0L);
181          case 46:
182             jjmatchedKind = 64;
183             return jjMoveStringLiteralDfa1_0(0x40000000L, 0x4L, 0x0L);
184          case 47:
185             jjmatchedKind = 58;
186             return jjMoveStringLiteralDfa1_0(0x2000000c0L, 0x0L, 0x0L);
187          case 58:
188             jjmatchedKind = 26;
189             return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L);
190          case 59:
191             return jjStopAtPos(0, 27);
192          case 60:
193             jjmatchedKind = 49;
194             return jjMoveStringLiteralDfa1_0(0x28002000000000L, 0x0L, 0x0L);
195          case 61:
196             jjmatchedKind = 31;
197             return jjMoveStringLiteralDfa1_0(0x800000000000L, 0x0L, 0x0L);
198          case 62:
199             jjmatchedKind = 50;
200             return jjMoveStringLiteralDfa1_0(0x50004000000000L, 0x0L, 0x0L);
201          case 63:
202             return jjStopAtPos(0, 29);
203          case 91:
204             return jjStopAtPos(0, 21);
205          case 93:
206             return jjStopAtPos(0, 22);
207          case 94:
208             jjmatchedKind = 45;
209             return jjMoveStringLiteralDfa1_0(0x10000000000L, 0x0L, 0x0L);
210          case 97:
211             return jjMoveStringLiteralDfa1_0(0x0L, 0x10L, 0x0L);
212          case 98:
213             return jjMoveStringLiteralDfa1_0(0x0L, 0x20L, 0x0L);
214          case 99:
215             return jjMoveStringLiteralDfa1_0(0x0L, 0x40000007c0L, 0x0L);
216          case 100:
217             return jjMoveStringLiteralDfa1_0(0x0L, 0x7800L, 0x0L);
218          case 101:
219             return jjMoveStringLiteralDfa1_0(0x0L, 0x38000L, 0x0L);
220          case 102:
221             return jjMoveStringLiteralDfa1_0(0x0L, 0x100000001c0000L, 0x40L);
222          case 103:
223             return jjMoveStringLiteralDfa1_0(0x0L, 0x200000L, 0x0L);
224          case 105:
225             return jjMoveStringLiteralDfa1_0(0x0L, 0x1c00000L, 0x0L);
226          case 108:
227             return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000L, 0x0L);
228          case 110:
229             return jjMoveStringLiteralDfa1_0(0x0L, 0x4000000L, 0x0L);
230          case 111:
231             return jjMoveStringLiteralDfa1_0(0x0L, 0x4000000000000L, 0x0L);
232          case 112:
233             return jjMoveStringLiteralDfa1_0(0x0L, 0x38000000L, 0x0L);
234          case 114:
235             return jjMoveStringLiteralDfa1_0(0x0L, 0x1c0000000L, 0x0L);
236          case 115:
237             return jjMoveStringLiteralDfa1_0(0x0L, 0xbe00000000L, 0x0L);
238          case 116:
239             return jjMoveStringLiteralDfa1_0(0x0L, 0x280f0000000000L, 0x0L);
240          case 117:
241             return jjMoveStringLiteralDfa1_0(0x0L, 0x300000000000L, 0x0L);
242          case 118:
243             return jjMoveStringLiteralDfa1_0(0x0L, 0x1c00000000000L, 0x0L);
244          case 119:
245             return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000000000L, 0x0L);
246          case 123:
247             return jjStopAtPos(0, 19);
248          case 124:
249             jjmatchedKind = 44;
250             return jjMoveStringLiteralDfa1_0(0x60000000000L, 0x0L, 0x0L);
251          case 125:
252             return jjStopAtPos(0, 20);
253          case 126:
254             return jjStopAtPos(0, 62);
255          default :
256             return jjMoveNfa_0(28, 0);
257       }
258    }
259    static private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2)
260    {
261       try { curChar = input_stream.readChar(); }
262       catch(java.io.IOException e) {
263          jjStopStringLiteralDfa_0(0, active0, active1, active2);
264          return 1;
265       }
266       switch(curChar)
267       {
268          case 10:
269             if ((active0 & 0x10L) != 0L)
270                return jjStopAtPos(1, 4);
271             break;
272          case 38:
273             if ((active0 & 0x80000000000L) != 0L)
274                return jjStopAtPos(1, 43);
275             break;
276          case 42:
277             if ((active0 & 0x80L) != 0L)
278                return jjStopAtPos(1, 7);
279             else if ((active1 & 0x4L) != 0L)
280                return jjStopAtPos(1, 66);
281             break;
282          case 43:
283             if ((active0 & 0x1000000000000000L) != 0L)
284                return jjStopAtPos(1, 60);
285             break;
286          case 45:
287             if ((active0 & 0x2000000000000000L) != 0L)
288                return jjStopAtPos(1, 61);
289             break;
290          case 46:
291             return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L);
292          case 47:
293             if ((active0 & 0x40L) != 0L)
294                return jjStopAtPos(1, 6);
295             break;
296          case 58:
297             if ((active0 & 0x2000000L) != 0L)
298                return jjStopAtPos(1, 25);
299             break;
300          case 60:
301             if ((active0 & 0x20000000000000L) != 0L)
302             {
303                jjmatchedKind = 53;
304                jjmatchedPos = 1;
305             }
306             return jjMoveStringLiteralDfa2_0(active0, 0x2000000000L, active1, 0L, active2, 0L);
307          case 61:
308             if ((active0 & 0x100000000L) != 0L)
309                return jjStopAtPos(1, 32);
310             else if ((active0 & 0x200000000L) != 0L)
311                return jjStopAtPos(1, 33);
312             else if ((active0 & 0x400000000L) != 0L)
313                return jjStopAtPos(1, 34);
314             else if ((active0 & 0x800000000L) != 0L)
315                return jjStopAtPos(1, 35);
316             else if ((active0 & 0x1000000000L) != 0L)
317                return jjStopAtPos(1, 36);
318             else if ((active0 & 0x8000000000L) != 0L)
319                return jjStopAtPos(1, 39);
320             else if ((active0 & 0x10000000000L) != 0L)
321                return jjStopAtPos(1, 40);
322             else if ((active0 & 0x20000000000L) != 0L)
323                return jjStopAtPos(1, 41);
324             else if ((active0 & 0x800000000000L) != 0L)
325                return jjStopAtPos(1, 47);
326             else if ((active0 & 0x1000000000000L) != 0L)
327                return jjStopAtPos(1, 48);
328             else if ((active0 & 0x8000000000000L) != 0L)
329                return jjStopAtPos(1, 51);
330             else if ((active0 & 0x10000000000000L) != 0L)
331                return jjStopAtPos(1, 52);
332             break;
333          case 62:
334             if ((active0 & 0x40000000000000L) != 0L)
335             {
336                jjmatchedKind = 54;
337                jjmatchedPos = 1;
338             }
339             else if ((active1 & 0x2L) != 0L)
340             {
341                jjmatchedKind = 65;
342                jjmatchedPos = 1;
343             }
344             return jjMoveStringLiteralDfa2_0(active0, 0x4000000000L, active1, 0x8L, active2, 0L);
345          case 97:
346             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x100000000000c0L, active2, 0L);
347          case 101:
348             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x101c4001800L, active2, 0L);
349          case 102:
350             if ((active1 & 0x400000L) != 0L)
351                return jjStartNfaWithStates_0(1, 86, 29);
352             break;
353          case 104:
354             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x22020200000100L, active2, 0L);
355          case 105:
356             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400c00000000L, active2, 0x40L);
357          case 108:
358             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4000048000L, active2, 0L);
359          case 110:
360             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x300001810000L, active2, 0L);
361          case 111:
362             if ((active1 & 0x2000L) != 0L)
363             {
364                jjmatchedKind = 77;
365                jjmatchedPos = 1;
366             }
367             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1800002284600L, active2, 0L);
368          case 112:
369             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4000000000000L, active2, 0L);
370          case 114:
371             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8040018100020L, active2, 0L);
372          case 116:
373             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x3000000000L, active2, 0L);
374          case 117:
375             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x20000010L, active2, 0L);
376          case 119:
377             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0L);
378          case 120:
379             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x20000L, active2, 0L);
380          case 121:
381             return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x80000000000L, active2, 0L);
382          case 124:
383             if ((active0 & 0x40000000000L) != 0L)
384                return jjStopAtPos(1, 42);
385             break;
386          default :
387             break;
388       }
389       return jjStartNfa_0(0, active0, active1, active2);
390    }
391    static private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1, long old2, long active2)
392    {
393       if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2)) == 0L)
394          return jjStartNfa_0(0, old0, old1, old2);
395       try { curChar = input_stream.readChar(); }
396       catch(java.io.IOException e) {
397          jjStopStringLiteralDfa_0(1, active0, active1, active2);
398          return 2;
399       }
400       switch(curChar)
401       {
402          case 42:
403             if ((active1 & 0x8L) != 0L)
404                return jjStopAtPos(2, 67);
405             break;
406          case 46:
407             if ((active0 & 0x40000000L) != 0L)
408                return jjStopAtPos(2, 30);
409             break;
410          case 61:
411             if ((active0 & 0x2000000000L) != 0L)
412                return jjStopAtPos(2, 37);
413             else if ((active0 & 0x4000000000L) != 0L)
414                return jjStopAtPos(2, 38);
415             break;
416          case 97:
417             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x5000000100L, active2, 0L);
418          case 98:
419             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20000000L, active2, 0L);
420          case 100:
421             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40000000L, active2, 0L);
422          case 101:
423             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4000000000020L, active2, 0L);
424          case 102:
425             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800L, active2, 0L);
426          case 103:
427             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x480000000L, active2, 0L);
428          case 105:
429             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2928008100000L, active2, 0L);
430          case 108:
431             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x11000000801000L, active2, 0L);
432          case 109:
433             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x10000000000L, active2, 0L);
434          case 110:
435             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2000600L, active2, 0x40L);
436          case 111:
437             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x210040000L, active2, 0L);
438          case 112:
439             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x80000000000L, active2, 0L);
440          case 114:
441             if ((active1 & 0x80000L) != 0L)
442                return jjStartNfaWithStates_0(2, 83, 29);
443             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20402000000000L, active2, 0L);
444          case 115:
445             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x200000008040L, active2, 0L);
446          case 116:
447             if ((active1 & 0x1000000L) != 0L)
448                return jjStartNfaWithStates_0(2, 88, 29);
449             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x100220090L, active2, 0L);
450          case 117:
451             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x8000000014000L, active2, 0L);
452          case 119:
453             if ((active1 & 0x4000000L) != 0L)
454                return jjStartNfaWithStates_0(2, 90, 29);
455             break;
456          case 121:
457             if ((active1 & 0x40000000000L) != 0L)
458                return jjStartNfaWithStates_0(2, 106, 29);
459             break;
460          case 122:
461             return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000000L, active2, 0L);
462          default :
463             break;
464       }
465       return jjStartNfa_0(1, active0, active1, active2);
466    }
467    static private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1, long old2, long active2)
468    {
469       if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2)) == 0L)
470          return jjStartNfa_0(1, old0, old1, old2);
471       try { curChar = input_stream.readChar(); }
472       catch(java.io.IOException e) {
473          jjStopStringLiteralDfa_0(2, 0L, active1, active2);
474          return 3;
475       }
476       switch(curChar)
477       {
478          case 97:
479             return jjMoveStringLiteralDfa4_0(active1, 0x1000000040820L, active2, 0x40L);
480          case 98:
481             return jjMoveStringLiteralDfa4_0(active1, 0x4000L, active2, 0L);
482          case 99:
483             return jjMoveStringLiteralDfa4_0(active1, 0x80L, active2, 0L);
484          case 100:
485             if ((active1 & 0x800000000000L) != 0L)
486                return jjStartNfaWithStates_0(3, 111, 29);
487             break;
488          case 101:
489             if ((active1 & 0x40L) != 0L)
490                return jjStartNfaWithStates_0(3, 70, 29);
491             else if ((active1 & 0x8000L) != 0L)
492                return jjStartNfaWithStates_0(3, 79, 29);
493             else if ((active1 & 0x8000000000000L) != 0L)
494                return jjStartNfaWithStates_0(3, 115, 29);
495             return jjMoveStringLiteralDfa4_0(active1, 0x80840121000L, active2, 0L);
496          case 103:
497             if ((active1 & 0x2000000L) != 0L)
498                return jjStartNfaWithStates_0(3, 89, 29);
499             break;
500          case 105:
501             return jjMoveStringLiteralDfa4_0(active1, 0x200080800000L, active2, 0L);
502          case 108:
503             return jjMoveStringLiteralDfa4_0(active1, 0x2000020000000L, active2, 0L);
504          case 109:
505             if ((active1 & 0x10000L) != 0L)
506                return jjStartNfaWithStates_0(3, 80, 29);
507             break;
508          case 110:
509             return jjMoveStringLiteralDfa4_0(active1, 0x400000000L, active2, 0L);
510          case 111:
511             if ((active1 & 0x10L) != 0L)
512                return jjStartNfaWithStates_0(3, 68, 29);
513             else if ((active1 & 0x200000L) != 0L)
514                return jjStartNfaWithStates_0(3, 85, 29);
515             return jjMoveStringLiteralDfa4_0(active1, 0x20100000000000L, active2, 0L);
516          case 112:
517             return jjMoveStringLiteralDfa4_0(active1, 0x10000000000L, active2, 0L);
518          case 114:
519             if ((active1 & 0x100L) != 0L)
520                return jjStartNfaWithStates_0(3, 72, 29);
521             return jjMoveStringLiteralDfa4_0(active1, 0x4000200000000L, active2, 0L);
522          case 115:
523             if ((active1 & 0x20000000000L) != 0L)
524                return jjStartNfaWithStates_0(3, 105, 29);
525             return jjMoveStringLiteralDfa4_0(active1, 0x10004000000200L, active2, 0L);
526          case 116:
527             return jjMoveStringLiteralDfa4_0(active1, 0x409010000400L, active2, 0L);
528          case 117:
529             return jjMoveStringLiteralDfa4_0(active1, 0x2100000000L, active2, 0L);
530          case 118:
531             return jjMoveStringLiteralDfa4_0(active1, 0x8000000L, active2, 0L);
532          default :
533             break;
534       }
535       return jjStartNfa_0(2, 0L, active1, active2);
536    }
537    static private int jjMoveStringLiteralDfa4_0(long old1, long active1, long old2, long active2)
538    {
539       if (((active1 &= old1) | (active2 &= old2)) == 0L)
540          return jjStartNfa_0(2, 0L, old1, old2);
541       try { curChar = input_stream.readChar(); }
542       catch(java.io.IOException e) {
543          jjStopStringLiteralDfa_0(3, 0L, active1, active2);
544          return 4;
545       }
546       switch(curChar)
547       {
548          case 97:
549             return jjMoveStringLiteralDfa5_0(active1, 0x4000008000000L, active2, 0L);
550          case 99:
551             return jjMoveStringLiteralDfa5_0(active1, 0xa040000000L, active2, 0L);
552          case 100:
553             return jjMoveStringLiteralDfa5_0(active1, 0x80000000000L, active2, 0L);
554          case 101:
555             if ((active1 & 0x2000000000000L) != 0L)
556                return jjStartNfaWithStates_0(4, 113, 29);
557             else if ((active1 & 0x10000000000000L) != 0L)
558                return jjStartNfaWithStates_0(4, 116, 29);
559             return jjMoveStringLiteralDfa5_0(active1, 0x410000000L, active2, 0L);
560          case 103:
561             return jjMoveStringLiteralDfa5_0(active1, 0x200000000000L, active2, 0L);
562          case 104:
563             if ((active1 & 0x80L) != 0L)
564                return jjStartNfaWithStates_0(4, 71, 29);
565             break;
566          case 105:
567             return jjMoveStringLiteralDfa5_0(active1, 0x1020000400L, active2, 0L);
568          case 107:
569             if ((active1 & 0x20L) != 0L)
570                return jjStartNfaWithStates_0(4, 69, 29);
571             break;
572          case 108:
573             return jjMoveStringLiteralDfa5_0(active1, 0x10000004000L, active2, 0x40L);
574          case 110:
575             if ((active1 & 0x100000000000L) != 0L)
576                return jjStartNfaWithStates_0(4, 108, 29);
577             return jjMoveStringLiteralDfa5_0(active1, 0x900000L, active2, 0L);
578          case 111:
579             return jjMoveStringLiteralDfa5_0(active1, 0x800000000L, active2, 0L);
580          case 114:
581             return jjMoveStringLiteralDfa5_0(active1, 0x100020000L, active2, 0L);
582          case 115:
583             if ((active1 & 0x4000000000L) != 0L)
584                return jjStartNfaWithStates_0(4, 102, 29);
585             return jjMoveStringLiteralDfa5_0(active1, 0x80000000L, active2, 0L);
586          case 116:
587             if ((active1 & 0x200L) != 0L)
588                return jjStartNfaWithStates_0(4, 73, 29);
589             else if ((active1 & 0x40000L) != 0L)
590                return jjStartNfaWithStates_0(4, 82, 29);
591             else if ((active1 & 0x200000000L) != 0L)
592                return jjStartNfaWithStates_0(4, 97, 29);
593             return jjMoveStringLiteralDfa5_0(active1, 0x1000000001000L, active2, 0L);
594          case 117:
595             return jjMoveStringLiteralDfa5_0(active1, 0x400000000800L, active2, 0L);
596          case 119:
597             if ((active1 & 0x20000000000000L) != 0L)
598                return jjStartNfaWithStates_0(4, 117, 29);
599             break;
600          default :
601             break;
602       }
603       return jjStartNfa_0(3, 0L, active1, active2);
604    }
605    static private int jjMoveStringLiteralDfa5_0(long old1, long active1, long old2, long active2)
606    {
607       if (((active1 &= old1) | (active2 &= old2)) == 0L)
608          return jjStartNfa_0(3, 0L, old1, old2);
609       try { curChar = input_stream.readChar(); }
610       catch(java.io.IOException e) {
611          jjStopStringLiteralDfa_0(4, 0L, active1, active2);
612          return 5;
613       }
614       switch(curChar)
615       {
616          case 97:
617             return jjMoveStringLiteralDfa6_0(active1, 0x410000000000L, active2, 0L);
618          case 99:
619             if ((active1 & 0x20000000L) != 0L)
620                return jjStartNfaWithStates_0(5, 93, 29);
621             else if ((active1 & 0x1000000000L) != 0L)
622                return jjStartNfaWithStates_0(5, 100, 29);
623             return jjMoveStringLiteralDfa6_0(active1, 0x10000000L, active2, 0L);
624          case 100:
625             if ((active1 & 0x100000L) != 0L)
626                return jjStartNfaWithStates_0(5, 84, 29);
627             else if ((active1 & 0x400000000L) != 0L)
628                return jjStartNfaWithStates_0(5, 98, 29);
629             break;
630          case 101:
631             if ((active1 & 0x1000L) != 0L)
632                return jjStartNfaWithStates_0(5, 76, 29);
633             else if ((active1 & 0x4000L) != 0L)
634                return jjStartNfaWithStates_0(5, 78, 29);
635             else if ((active1 & 0x800000L) != 0L)
636                return jjStartNfaWithStates_0(5, 87, 29);
637             return jjMoveStringLiteralDfa6_0(active1, 0x80000000000L, active2, 0L);
638          case 102:
639             if ((active1 & 0x800000000L) != 0L)
640                return jjStartNfaWithStates_0(5, 99, 29);
641             break;
642          case 104:
643             if ((active1 & 0x8000000000L) != 0L)
644                return jjStartNfaWithStates_0(5, 103, 29);
645             break;
646          case 105:
647             return jjMoveStringLiteralDfa6_0(active1, 0x1000000000000L, active2, 0L);
648          case 108:
649             return jjMoveStringLiteralDfa6_0(active1, 0x40000800L, active2, 0x40L);
650          case 110:
651             if ((active1 & 0x20000L) != 0L)
652                return jjStartNfaWithStates_0(5, 81, 29);
653             else if ((active1 & 0x100000000L) != 0L)
654                return jjStartNfaWithStates_0(5, 96, 29);
655             return jjMoveStringLiteralDfa6_0(active1, 0x200000000400L, active2, 0L);
656          case 116:
657             if ((active1 & 0x2000000000L) != 0L)
658                return jjStartNfaWithStates_0(5, 101, 29);
659             return jjMoveStringLiteralDfa6_0(active1, 0x4000088000000L, active2, 0L);
660          default :
661             break;
662       }
663       return jjStartNfa_0(4, 0L, active1, active2);
664    }
665    static private int jjMoveStringLiteralDfa6_0(long old1, long active1, long old2, long active2)
666    {
667       if (((active1 &= old1) | (active2 &= old2)) == 0L)
668          return jjStartNfa_0(4, 0L, old1, old2);
669       try { curChar = input_stream.readChar(); }
670       catch(java.io.IOException e) {
671          jjStopStringLiteralDfa_0(5, 0L, active1, active2);
672          return 6;
673       }
674       switch(curChar)
675       {
676          case 97:
677             return jjMoveStringLiteralDfa7_0(active1, 0x40000000L, active2, 0L);
678          case 101:
679             if ((active1 & 0x8000000L) != 0L)
680                return jjStartNfaWithStates_0(6, 91, 29);
681             return jjMoveStringLiteralDfa7_0(active1, 0x200080000000L, active2, 0L);
682          case 102:
683             if ((active1 & 0x80000000000L) != 0L)
684                return jjStartNfaWithStates_0(6, 107, 29);
685             break;
686          case 108:
687             if ((active1 & 0x400000000000L) != 0L)
688                return jjStartNfaWithStates_0(6, 110, 29);
689             return jjMoveStringLiteralDfa7_0(active1, 0x1000000000000L, active2, 0L);
690          case 111:
691             return jjMoveStringLiteralDfa7_0(active1, 0x4000000000000L, active2, 0L);
692          case 116:
693             if ((active1 & 0x800L) != 0L)
694                return jjStartNfaWithStates_0(6, 75, 29);
695             return jjMoveStringLiteralDfa7_0(active1, 0x10010000000L, active2, 0L);
696          case 117:
697             return jjMoveStringLiteralDfa7_0(active1, 0x400L, active2, 0L);
698          case 121:
699             if ((active2 & 0x40L) != 0L)
700                return jjStartNfaWithStates_0(6, 134, 29);
701             break;
702          default :
703             break;
704       }
705       return jjStartNfa_0(5, 0L, active1, active2);
706    }
707    static private int jjMoveStringLiteralDfa7_0(long old1, long active1, long old2, long active2)
708    {
709       if (((active1 &= old1) | (active2 &= old2)) == 0L)
710          return jjStartNfa_0(5, 0L, old1, old2);
711       try { curChar = input_stream.readChar(); }
712       catch(java.io.IOException e) {
713          jjStopStringLiteralDfa_0(6, 0L, active1, 0L);
714          return 7;
715       }
716       switch(curChar)
717       {
718          case 100:
719             if ((active1 & 0x200000000000L) != 0L)
720                return jjStartNfaWithStates_0(7, 109, 29);
721             break;
722          case 101:
723             if ((active1 & 0x400L) != 0L)
724                return jjStartNfaWithStates_0(7, 74, 29);
725             else if ((active1 & 0x10000000000L) != 0L)
726                return jjStartNfaWithStates_0(7, 104, 29);
727             else if ((active1 & 0x1000000000000L) != 0L)
728                return jjStartNfaWithStates_0(7, 112, 29);
729             return jjMoveStringLiteralDfa8_0(active1, 0x10000000L);
730          case 114:
731             if ((active1 & 0x80000000L) != 0L)
732                return jjStartNfaWithStates_0(7, 95, 29);
733             else if ((active1 & 0x4000000000000L) != 0L)
734                return jjStartNfaWithStates_0(7, 114, 29);
735             return jjMoveStringLiteralDfa8_0(active1, 0x40000000L);
736          default :
737             break;
738       }
739       return jjStartNfa_0(6, 0L, active1, 0L);
740    }
741    static private int jjMoveStringLiteralDfa8_0(long old1, long active1)
742    {
743       if (((active1 &= old1)) == 0L)
744          return jjStartNfa_0(6, 0L, old1, 0L);
745       try { curChar = input_stream.readChar(); }
746       catch(java.io.IOException e) {
747          jjStopStringLiteralDfa_0(7, 0L, active1, 0L);
748          return 8;
749       }
750       switch(curChar)
751       {
752          case 100:
753             if ((active1 & 0x10000000L) != 0L)
754                return jjStartNfaWithStates_0(8, 92, 29);
755             break;
756          case 101:
757             return jjMoveStringLiteralDfa9_0(active1, 0x40000000L);
758          default :
759             break;
760       }
761       return jjStartNfa_0(7, 0L, active1, 0L);
762    }
763    static private int jjMoveStringLiteralDfa9_0(long old1, long active1)
764    {
765       if (((active1 &= old1)) == 0L)
766          return jjStartNfa_0(7, 0L, old1, 0L);
767       try { curChar = input_stream.readChar(); }
768       catch(java.io.IOException e) {
769          jjStopStringLiteralDfa_0(8, 0L, active1, 0L);
770          return 9;
771       }
772       switch(curChar)
773       {
774          case 100:
775             if ((active1 & 0x40000000L) != 0L)
776                return jjStartNfaWithStates_0(9, 94, 29);
777             break;
778          default :
779             break;
780       }
781       return jjStartNfa_0(8, 0L, active1, 0L);
782    }
783    static private int jjStartNfaWithStates_0(int pos, int kind, int state)
784    {
785       jjmatchedKind = kind;
786       jjmatchedPos = pos;
787       try { curChar = input_stream.readChar(); }
788       catch(java.io.IOException e) { return pos + 1; }
789       return jjMoveNfa_0(state, pos + 1);
790    }
791    static final long[] jjbitVec0 = {
792       0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
793    };
794    static private int jjMoveNfa_0(int startState, int curPos)
795    {
796       int startsAt = 0;
797       jjnewStateCnt = 78;
798       int i = 1;
799       jjstateSet[0] = startState;
800       int kind = 0x7fffffff;
801       for (;;)
802       {
803          if (++jjround == 0x7fffffff)
804             ReInitRounds();
805          if (curChar < 64)
806          {
807             long l = 1L << curChar;
808             do
809             {
810                switch(jjstateSet[--i])
811                {
812                   case 28:
813                      if ((0x3ff000000000000L & l) != 0L)
814                         jjCheckNAddStates(0, 5);
815                      else if (curChar == 36)
816                      {
817                         if (kind > 135)
818                            kind = 135;
819                         jjCheckNAdd(29);
820                      }
821                      else if (curChar == 34)
822                         jjCheckNAddStates(6, 8);
823                      else if (curChar == 39)
824                         jjCheckNAddTwoStates(7, 9);
825                      else if (curChar == 46)
826                         jjCheckNAdd(1);
827                      if ((0x3fe000000000000L & l) != 0L)
828                      {
829                         if (kind > 122)
830                            kind = 122;
831                         jjCheckNAddStates(9, 16);
832                      }
833                      else if (curChar == 48)
834                         jjAddStates(17, 20);
835                      if (curChar == 48)
836                      {
837                         if (kind > 118)
838                            kind = 118;
839                         jjCheckNAddStates(21, 28);
840                      }
841                      break;
842                   case 0:
843                      if (curChar == 46)
844                         jjCheckNAdd(1);
845                      break;
846                   case 1:
847                      if ((0x3ff000000000000L & l) == 0L)
848                         break;
849                      if (kind > 130)
850                         kind = 130;
851                      jjCheckNAddStates(29, 31);
852                      break;
853                   case 3:
854                      if ((0x280000000000L & l) != 0L)
855                         jjCheckNAdd(4);
856                      break;
857                   case 4:
858                      if ((0x3ff000000000000L & l) == 0L)
859                         break;
860                      if (kind > 130)
861                         kind = 130;
862                      jjCheckNAddTwoStates(4, 5);
863                      break;
864                   case 6:
865                      if (curChar == 39)
866                         jjCheckNAddTwoStates(7, 9);
867                      break;
868                   case 7:
869                      if ((0xffffff7fffffdbffL & l) != 0L)
870                         jjCheckNAddTwoStates(7, 8);
871                      break;
872                   case 8:
873                      if (curChar == 39 && kind > 132)
874                         kind = 132;
875                      break;
876                   case 10:
877                      if ((0x8000008400000000L & l) != 0L)
878                         jjCheckNAdd(8);
879                      break;
880                   case 11:
881                      if (curChar == 48)
882                         jjCheckNAddTwoStates(12, 8);
883                      break;
884                   case 12:
885                      if ((0xff000000000000L & l) != 0L)
886                         jjCheckNAddTwoStates(12, 8);
887                      break;
888                   case 13:
889                      if ((0x3fe000000000000L & l) != 0L)
890                         jjCheckNAddTwoStates(14, 8);
891                      break;
892                   case 14:
893                      if ((0x3ff000000000000L & l) != 0L)
894                         jjCheckNAddTwoStates(14, 8);
895                      break;
896                   case 16:
897                      if ((0x3ff000000000000L & l) != 0L)
898                         jjCheckNAddTwoStates(16, 8);
899                      break;
900                   case 17:
901                      if (curChar == 34)
902                         jjCheckNAddStates(6, 8);
903                      break;
904                   case 18:
905                      if ((0xfffffffbffffdbffL & l) != 0L)
906                         jjCheckNAddStates(6, 8);
907                      break;
908                   case 20:
909                      if ((0x8000008400000400L & l) != 0L)
910                         jjCheckNAddStates(6, 8);
911                      break;
912                   case 21:
913                      if (curChar == 34 && kind > 133)
914                         kind = 133;
915                      break;
916                   case 22:
917                      if (curChar == 48)
918                         jjCheckNAddStates(32, 35);
919                      break;
920                   case 23:
921                      if ((0xff000000000000L & l) != 0L)
922                         jjCheckNAddStates(32, 35);
923                      break;
924                   case 24:
925                      if ((0x3fe000000000000L & l) != 0L)
926                         jjCheckNAddStates(36, 39);
927                      break;
928                   case 25:
929                      if ((0x3ff000000000000L & l) != 0L)
930                         jjCheckNAddStates(36, 39);
931                      break;
932                   case 27:
933                      if ((0x3ff000000000000L & l) != 0L)
934                         jjCheckNAddStates(40, 43);
935                      break;
936                   case 29:
937                      if ((0x3ff001000000000L & l) == 0L)
938                         break;
939                      if (kind > 135)
940                         kind = 135;
941                      jjCheckNAdd(29);
942                      break;
943                   case 30:
944                      if (curChar != 48)
945                         break;
946                      if (kind > 118)
947                         kind = 118;
948                      jjCheckNAddStates(21, 28);
949                      break;
950                   case 31:
951                      if ((0xff000000000000L & l) == 0L)
952                         break;
953                      if (kind > 118)
954                         kind = 118;
955                      jjCheckNAdd(31);
956                      break;
957                   case 32:
958                      if ((0xff000000000000L & l) != 0L)
959                         jjCheckNAddTwoStates(32, 33);
960                      break;
961                   case 34:
962                      if ((0xff000000000000L & l) != 0L)
963                         jjCheckNAddTwoStates(34, 35);
964                      break;
965                   case 36:
966                      if ((0xff000000000000L & l) != 0L)
967                         jjCheckNAddStates(44, 46);
968                      break;
969                   case 41:
970                      if ((0x3fe000000000000L & l) == 0L)
971                         break;
972                      if (kind > 122)
973                         kind = 122;
974                      jjCheckNAddStates(9, 16);
975                      break;
976                   case 42:
977                      if ((0x3ff000000000000L & l) == 0L)
978                         break;
979                      if (kind > 122)
980                         kind = 122;
981                      jjCheckNAdd(42);
982                      break;
983                   case 43:
984                      if ((0x3ff000000000000L & l) != 0L)
985                         jjCheckNAddTwoStates(43, 44);
986                      break;
987                   case 45:
988                      if ((0x3ff000000000000L & l) != 0L)
989                         jjCheckNAddTwoStates(45, 46);
990                      break;
991                   case 47:
992                      if ((0x3ff000000000000L & l) != 0L)
993                         jjCheckNAddStates(47, 49);
994                      break;
995                   case 52:
996                      if (curChar == 48)
997                         jjAddStates(17, 20);
998                      break;
999                   case 54:
1000                      if ((0x3ff000000000000L & l) == 0L)
1001                         break;
1002                      if (kind > 126)
1003                         kind = 126;
1004                      jjstateSet[jjnewStateCnt++] = 54;
1005                      break;
1006                   case 56:
1007                      if ((0x3ff000000000000L & l) == 0L)
1008                         break;
1009                      if (kind > 127)
1010                         kind = 127;
1011                      jjAddStates(50, 51);
1012                      break;
1013                   case 59:
1014                      if ((0x3ff000000000000L & l) != 0L)
1015                         jjAddStates(52, 53);
1016                      break;
1017                   case 62:
1018                      if ((0x3ff000000000000L & l) != 0L)
1019                         jjAddStates(54, 56);
1020                      break;
1021                   case 67:
1022                      if ((0x3ff000000000000L & l) != 0L)
1023                         jjCheckNAddStates(0, 5);
1024                      break;
1025                   case 68:
1026                      if ((0x3ff000000000000L & l) != 0L)
1027                         jjCheckNAddTwoStates(68, 69);
1028                      break;
1029                   case 69:
1030                      if (curChar != 46)
1031                         break;
1032                      if (kind > 130)
1033                         kind = 130;
1034                      jjCheckNAddStates(57, 59);
1035                      break;
1036                   case 70:
1037                      if ((0x3ff000000000000L & l) == 0L)
1038                         break;
1039                      if (kind > 130)
1040                         kind = 130;
1041                      jjCheckNAddStates(57, 59);
1042                      break;
1043                   case 71:
1044                      if ((0x3ff000000000000L & l) != 0L)
1045                         jjCheckNAddTwoStates(71, 0);
1046                      break;
1047                   case 72:
1048                      if ((0x3ff000000000000L & l) != 0L)
1049                         jjCheckNAddTwoStates(72, 73);
1050                      break;
1051                   case 74:
1052                      if ((0x280000000000L & l) != 0L)
1053                         jjCheckNAdd(75);
1054                      break;
1055                   case 75:
1056                      if ((0x3ff000000000000L & l) == 0L)
1057                         break;
1058                      if (kind > 131)
1059                         kind = 131;
1060                      jjCheckNAddTwoStates(75, 76);
1061                      break;
1062                   default : break;
1063                }
1064             } while(i != startsAt);
1065          }
1066          else if (curChar < 128)
1067          {
1068             long l = 1L << (curChar & 077);
1069             do
1070             {
1071                switch(jjstateSet[--i])
1072                {
1073                   case 28:
1074                      if ((0x7fffffe87fffffeL & l) != 0L)
1075                      {
1076                         if (kind > 135)
1077                            kind = 135;
1078                         jjCheckNAdd(29);
1079                      }
1080                      if (curChar == 76)
1081                         jjAddStates(60, 61);
1082                      break;
1083                   case 2:
1084                      if ((0x2000000020L & l) != 0L)
1085                         jjAddStates(62, 63);
1086                      break;
1087                   case 5:
1088                      if ((0x104000001040L & l) != 0L && kind > 130)
1089                         kind = 130;
1090                      break;
1091                   case 7:
1092                      if ((0xffffffffefffffffL & l) != 0L)
1093                         jjCheckNAddTwoStates(7, 8);
1094                      break;
1095                   case 9:
1096                      if (curChar == 92)
1097                         jjAddStates(64, 67);
1098                      break;
1099                   case 10:
1100                      if ((0x54404610000000L & l) != 0L)
1101                         jjCheckNAdd(8);
1102                      break;
1103                   case 15:
1104                      if ((0x100000001000000L & l) != 0L)
1105                         jjCheckNAdd(16);
1106                      break;
1107                   case 16:
1108                      if ((0x7e0000007eL & l) != 0L)
1109                         jjCheckNAddTwoStates(16, 8);
1110                      break;
1111                   case 18:
1112                      if ((0xffffffffefffffffL & l) != 0L)
1113                         jjCheckNAddStates(6, 8);
1114                      break;
1115                   case 19:
1116                      if (curChar == 92)
1117                         jjAddStates(68, 71);
1118                      break;
1119                   case 20:
1120                      if ((0x54404610000000L & l) != 0L)
1121                         jjCheckNAddStates(6, 8);
1122                      break;
1123                   case 26:
1124                      if ((0x100000001000000L & l) != 0L)
1125                         jjCheckNAdd(27);
1126                      break;
1127                   case 27:
1128                      if ((0x7e0000007eL & l) != 0L)
1129                         jjCheckNAddStates(40, 43);
1130                      break;
1131                   case 29:
1132                      if ((0x7fffffe87fffffeL & l) == 0L)
1133                         break;
1134                      if (kind > 135)
1135                         kind = 135;
1136                      jjCheckNAdd(29);
1137                      break;
1138                   case 33:
1139                      if ((0x100000001000L & l) != 0L && kind > 119)
1140                         kind = 119;
1141                      break;
1142                   case 35:
1143                      if ((0x20000000200000L & l) != 0L && kind > 120)
1144                         kind = 120;
1145                      break;
1146                   case 37:
1147                      if ((0x100000001000L & l) != 0L && kind > 121)
1148                         kind = 121;
1149                      break;
1150                   case 38:
1151                      if ((0x20000000200000L & l) != 0L)
1152                         jjstateSet[jjnewStateCnt++] = 37;
1153                      break;
1154                   case 39:
1155                      if ((0x20000000200000L & l) != 0L && kind > 121)
1156                         kind = 121;
1157                      break;
1158                   case 40:
1159                      if ((0x100000001000L & l) != 0L)
1160                         jjstateSet[jjnewStateCnt++] = 39;
1161                      break;
1162                   case 44:
1163                      if ((0x20100000201000L & l) != 0L && kind > 123)
1164                         kind = 123;
1165                      break;
1166                   case 46:
1167                      if ((0x20000000200000L & l) != 0L && kind > 124)
1168                         kind = 124;
1169                      break;
1170                   case 48:
1171                      if ((0x100000001000L & l) != 0L && kind > 125)
1172                         kind = 125;
1173                      break;
1174                   case 49:
1175                      if ((0x20000000200000L & l) != 0L)
1176                         jjstateSet[jjnewStateCnt++] = 48;
1177                      break;
1178                   case 50:
1179                      if ((0x20000000200000L & l) != 0L && kind > 125)
1180                         kind = 125;
1181                      break;
1182                   case 51:
1183                      if ((0x100000001000L & l) != 0L)
1184                         jjstateSet[jjnewStateCnt++] = 50;
1185                      break;
1186                   case 53:
1187                      if ((0x100000001000000L & l) != 0L)
1188                         jjCheckNAdd(54);
1189                      break;
1190                   case 54:
1191                      if ((0x7e0000007eL & l) == 0L)
1192                         break;
1193                      if (kind > 126)
1194                         kind = 126;
1195                      jjCheckNAdd(54);
1196                      break;
1197                   case 55:
1198                      if ((0x100000001000000L & l) != 0L)
1199                         jjCheckNAdd(56);
1200                      break;
1201                   case 56:
1202                      if ((0x7e0000007eL & l) == 0L)
1203                         break;
1204                      if (kind > 127)
1205                         kind = 127;
1206                      jjCheckNAddTwoStates(56, 57);
1207                      break;
1208                   case 57:
1209                      if ((0x20100000201000L & l) != 0L && kind > 127)
1210                         kind = 127;
1211                      break;
1212                   case 58:
1213                      if ((0x100000001000000L & l) != 0L)
1214                         jjCheckNAdd(59);
1215                      break;
1216                   case 59:
1217                      if ((0x7e0000007eL & l) != 0L)
1218                         jjCheckNAddTwoStates(59, 60);
1219                      break;
1220                   case 60:
1221                      if ((0x20000000200000L & l) != 0L && kind > 128)
1222                         kind = 128;
1223                      break;
1224                   case 61:
1225                      if ((0x100000001000000L & l) != 0L)
1226                         jjCheckNAdd(62);
1227                      break;
1228                   case 62:
1229                      if ((0x7e0000007eL & l) != 0L)
1230                         jjCheckNAddStates(54, 56);
1231                      break;
1232                   case 63:
1233                      if ((0x100000001000L & l) != 0L && kind > 129)
1234                         kind = 129;
1235                      break;
1236                   case 64:
1237                      if ((0x20000000200000L & l) != 0L)
1238                         jjstateSet[jjnewStateCnt++] = 63;
1239                      break;
1240                   case 65:
1241                      if ((0x20000000200000L & l) != 0L && kind > 129)
1242                         kind = 129;
1243                      break;
1244                   case 66:
1245                      if ((0x100000001000L & l) != 0L)
1246                         jjstateSet[jjnewStateCnt++] = 65;
1247                      break;
1248                   case 73:
1249                      if ((0x2000000020L & l) != 0L)
1250                         jjAddStates(72, 73);
1251                      break;
1252                   case 76:
1253                      if ((0x104000001040L & l) != 0L && kind > 131)
1254                         kind = 131;
1255                      break;
1256                   case 77:
1257                      if (curChar == 76)
1258                         jjAddStates(60, 61);
1259                      break;
1260                   default : break;
1261                }
1262             } while(i != startsAt);
1263          }
1264          else
1265          {
1266             int i2 = (curChar & 0xff) >> 6;
1267             long l2 = 1L << (curChar & 077);
1268             do
1269             {
1270                switch(jjstateSet[--i])
1271                {
1272                   case 7:
1273                      if ((jjbitVec0[i2] & l2) != 0L)
1274                         jjAddStates(74, 75);
1275                      break;
1276                   case 18:
1277                      if ((jjbitVec0[i2] & l2) != 0L)
1278                         jjAddStates(6, 8);
1279                      break;
1280                   default : break;
1281                }
1282             } while(i != startsAt);
1283          }
1284          if (kind != 0x7fffffff)
1285          {
1286             jjmatchedKind = kind;
1287             jjmatchedPos = curPos;
1288             kind = 0x7fffffff;
1289          }
1290          ++curPos;
1291          if ((i = jjnewStateCnt) == (startsAt = 78 - (jjnewStateCnt = startsAt)))
1292             return curPos;
1293          try { curChar = input_stream.readChar(); }
1294          catch(java.io.IOException e) { return curPos; }
1295       }
1296    }
1297    static private int jjMoveStringLiteralDfa0_1()
1298    {
1299       switch(curChar)
1300       {
1301          case 10:
1302             return jjStopAtPos(0, 9);
1303          default :
1304             return 1;
1305       }
1306    }
1307    static private int jjMoveStringLiteralDfa0_4()
1308    {
1309       switch(curChar)
1310       {
1311          case 10:
1312             return jjStopAtPos(0, 14);
1313          case 47:
1314             return jjMoveStringLiteralDfa1_4(0x8000L);
1315          case 92:
1316             return jjMoveStringLiteralDfa1_4(0x30000L);
1317          default :
1318             return 1;
1319       }
1320    }
1321    static private int jjMoveStringLiteralDfa1_4(long active0)
1322    {
1323       try { curChar = input_stream.readChar(); }
1324       catch(java.io.IOException e) {
1325          return 1;
1326       }
1327       switch(curChar)
1328       {
1329          case 10:
1330             if ((active0 & 0x10000L) != 0L)
1331                return jjStopAtPos(1, 16);
1332             break;
1333          case 13:
1334             return jjMoveStringLiteralDfa2_4(active0, 0x20000L);
1335          case 42:
1336             if ((active0 & 0x8000L) != 0L)
1337                return jjStopAtPos(1, 15);
1338             break;
1339          default :
1340             return 2;
1341       }
1342       return 2;
1343    }
1344    static private int jjMoveStringLiteralDfa2_4(long old0, long active0)
1345    {
1346       if (((active0 &= old0)) == 0L)
1347          return 2;
1348       try { curChar = input_stream.readChar(); }
1349       catch(java.io.IOException e) {
1350          return 2;
1351       }
1352       switch(curChar)
1353       {
1354          case 10:
1355             if ((active0 & 0x20000L) != 0L)
1356                return jjStopAtPos(2, 17);
1357             break;
1358          default :
1359             return 3;
1360       }
1361       return 3;
1362    }
1363    static private int jjMoveStringLiteralDfa0_3()
1364    {
1365       switch(curChar)
1366       {
1367          case 42:
1368             return jjMoveStringLiteralDfa1_3(0x2000L);
1369          default :
1370             return 1;
1371       }
1372    }
1373    static private int jjMoveStringLiteralDfa1_3(long active0)
1374    {
1375       try { curChar = input_stream.readChar(); }
1376       catch(java.io.IOException e) {
1377          return 1;
1378       }
1379       switch(curChar)
1380       {
1381          case 47:
1382             if ((active0 & 0x2000L) != 0L)
1383                return jjStopAtPos(1, 13);
1384             break;
1385          default :
1386             return 2;
1387       }
1388       return 2;
1389    }
1390    static private int jjMoveStringLiteralDfa0_2()
1391    {
1392       switch(curChar)
1393       {
1394          case 42:
1395             return jjMoveStringLiteralDfa1_2(0x800L);
1396          default :
1397             return 1;
1398       }
1399    }
1400    static private int jjMoveStringLiteralDfa1_2(long active0)
1401    {
1402       try { curChar = input_stream.readChar(); }
1403       catch(java.io.IOException e) {
1404          return 1;
1405       }
1406       switch(curChar)
1407       {
1408          case 47:
1409             if ((active0 & 0x800L) != 0L)
1410                return jjStopAtPos(1, 11);
1411             break;
1412          default :
1413             return 2;
1414       }
1415       return 2;
1416    }
1417    static final int[] jjnextStates = {
1418       68, 69, 71, 0, 72, 73, 18, 19, 21, 42, 43, 44, 45, 46, 47, 49, 
1419       51, 53, 55, 58, 61, 31, 32, 33, 34, 35, 36, 38, 40, 1, 2, 5, 
1420       18, 19, 23, 21, 18, 19, 25, 21, 18, 19, 27, 21, 36, 38, 40, 47, 
1421       49, 51, 56, 57, 59, 60, 62, 64, 66, 70, 2, 5, 6, 17, 3, 4, 
1422       10, 11, 13, 15, 20, 22, 24, 26, 74, 75, 7, 8, 
1423    };
1424    
1425    /** Token literal values. */
1426    public static final String[] jjstrLiteralImages = {
1427    "", null, null, null, null, null, null, null, null, null, null, null, null, 
1428    null, null, null, null, null, null, "\173", "\175", "\133", "\135", "\50", "\51", 
1429    "\72\72", "\72", "\73", "\54", "\77", "\56\56\56", "\75", "\52\75", "\57\75", "\45\75", 
1430    "\53\75", "\55\75", "\74\74\75", "\76\76\75", "\46\75", "\136\75", "\174\75", 
1431    "\174\174", "\46\46", "\174", "\136", "\46", "\75\75", "\41\75", "\74", "\76", "\74\75", 
1432    "\76\75", "\74\74", "\76\76", "\53", "\55", "\52", "\57", "\45", "\53\53", "\55\55", 
1433    "\176", "\41", "\56", "\55\76", "\56\52", "\55\76\52", "\141\165\164\157", 
1434    "\142\162\145\141\153", "\143\141\163\145", "\143\141\164\143\150", "\143\150\141\162", 
1435    "\143\157\156\163\164", "\143\157\156\164\151\156\165\145", "\144\145\146\141\165\154\164", 
1436    "\144\145\154\145\164\145", "\144\157", "\144\157\165\142\154\145", "\145\154\163\145", 
1437    "\145\156\165\155", "\145\170\164\145\162\156", "\146\154\157\141\164", "\146\157\162", 
1438    "\146\162\151\145\156\144", "\147\157\164\157", "\151\146", "\151\156\154\151\156\145", "\151\156\164", 
1439    "\154\157\156\147", "\156\145\167", "\160\162\151\166\141\164\145", 
1440    "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\162\145\144\145\143\154\141\162\145\144", 
1441    "\162\145\147\151\163\164\145\162", "\162\145\164\165\162\156", "\163\150\157\162\164", 
1442    "\163\151\147\156\145\144", "\163\151\172\145\157\146", "\163\164\141\164\151\143", 
1443    "\163\164\162\165\143\164", "\143\154\141\163\163", "\163\167\151\164\143\150", 
1444    "\164\145\155\160\154\141\164\145", "\164\150\151\163", "\164\162\171", "\164\171\160\145\144\145\146", 
1445    "\165\156\151\157\156", "\165\156\163\151\147\156\145\144", "\166\151\162\164\165\141\154", 
1446    "\166\157\151\144", "\166\157\154\141\164\151\154\145", "\167\150\151\154\145", 
1447    "\157\160\145\162\141\164\157\162", "\164\162\165\145", "\146\141\154\163\145", "\164\150\162\157\167", null, null, 
1448    null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
1449    "\146\151\156\141\154\154\171", null, };
1450    
1451    /** Lexer state names. */
1452    public static final String[] lexStateNames = {
1453       "DEFAULT",
1454       "IN_LINE_COMMENT",
1455       "IN_COMMENT",
1456       "IN_PREPROCESSOR_OUTPUT_COMMENT",
1457       "PREPROCESSOR_OUTPUT",
1458    };
1459    
1460    /** Lex State array. */
1461    public static final int[] jjnewLexState = {
1462       -1, -1, -1, -1, -1, -1, 1, 2, 4, 0, -1, 0, -1, 4, 0, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
1463       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
1464       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
1465       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
1466       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
1467       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
1468    };
1469    static final long[] jjtoToken = {
1470       0xfffffffffff80001L, 0xffffffffffffffffL, 0xffL, 
1471    };
1472    static final long[] jjtoSkip = {
1473       0xebfeL, 0x0L, 0x0L, 
1474    };
1475    static final long[] jjtoMore = {
1476       0x71400L, 0x0L, 0x0L, 
1477    };
1478    static protected SimpleCharStream input_stream;
1479    static private final int[] jjrounds = new int[78];
1480    static private final int[] jjstateSet = new int[156];
1481    static protected char curChar;
1482    /** Constructor. */
1483    public CPPParserTokenManager(SimpleCharStream stream){
1484       if (input_stream != null)
1485          throw new TokenMgrError("ERROR: Second call to constructor of static lexer. You must use ReInit() to initialize the static variables.", TokenMgrError.STATIC_LEXER_ERROR);
1486       input_stream = stream;
1487    }
1488    
1489    /** Constructor. */
1490    public CPPParserTokenManager(SimpleCharStream stream, int lexState){
1491       this(stream);
1492       SwitchTo(lexState);
1493    }
1494    
1495    /** Reinitialise parser. */
1496    static public void ReInit(SimpleCharStream stream)
1497    {
1498       jjmatchedPos = jjnewStateCnt = 0;
1499       curLexState = defaultLexState;
1500       input_stream = stream;
1501       ReInitRounds();
1502    }
1503    static private void ReInitRounds()
1504    {
1505       int i;
1506       jjround = 0x80000001;
1507       for (i = 78; i-- > 0;)
1508          jjrounds[i] = 0x80000000;
1509    }
1510    
1511    /** Reinitialise parser. */
1512    static public void ReInit(SimpleCharStream stream, int lexState)
1513    {
1514       ReInit(stream);
1515       SwitchTo(lexState);
1516    }
1517    
1518    /** Switch to specified lex state. */
1519    static public void SwitchTo(int lexState)
1520    {
1521       if (lexState >= 5 || lexState < 0)
1522          throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
1523       else
1524          curLexState = lexState;
1525    }
1526    
1527    static protected Token jjFillToken()
1528    {
1529       final Token t;
1530       final String curTokenImage;
1531       final int beginLine;
1532       final int endLine;
1533       final int beginColumn;
1534       final int endColumn;
1535       String im = jjstrLiteralImages[jjmatchedKind];
1536       curTokenImage = (im == null) ? input_stream.GetImage() : im;
1537       beginLine = input_stream.getBeginLine();
1538       beginColumn = input_stream.getBeginColumn();
1539       endLine = input_stream.getEndLine();
1540       endColumn = input_stream.getEndColumn();
1541       t = Token.newToken(jjmatchedKind, curTokenImage);
1542    
1543       t.beginLine = beginLine;
1544       t.endLine = endLine;
1545       t.beginColumn = beginColumn;
1546       t.endColumn = endColumn;
1547    
1548       return t;
1549    }
1550    
1551    static int curLexState = 0;
1552    static int defaultLexState = 0;
1553    static int jjnewStateCnt;
1554    static int jjround;
1555    static int jjmatchedPos;
1556    static int jjmatchedKind;
1557    
1558    /** Get the next Token. */
1559    public static Token getNextToken() 
1560    {
1561      Token matchedToken;
1562      int curPos = 0;
1563    
1564      EOFLoop :
1565      for (;;)
1566      {
1567       try
1568       {
1569          curChar = input_stream.BeginToken();
1570       }
1571       catch(java.io.IOException e)
1572       {
1573          jjmatchedKind = 0;
1574          matchedToken = jjFillToken();
1575          return matchedToken;
1576       }
1577    
1578       for (;;)
1579       {
1580         switch(curLexState)
1581         {
1582           case 0:
1583             try { input_stream.backup(0);
1584                while (curChar <= 32 && (0x100001600L & (1L << curChar)) != 0L)
1585                   curChar = input_stream.BeginToken();
1586             }
1587             catch (java.io.IOException e1) { continue EOFLoop; }
1588             jjmatchedKind = 0x7fffffff;
1589             jjmatchedPos = 0;
1590             curPos = jjMoveStringLiteralDfa0_0();
1591             break;
1592           case 1:
1593             jjmatchedKind = 0x7fffffff;
1594             jjmatchedPos = 0;
1595             curPos = jjMoveStringLiteralDfa0_1();
1596             if (jjmatchedPos == 0 && jjmatchedKind > 10)
1597             {
1598                jjmatchedKind = 10;
1599             }
1600             break;
1601           case 2:
1602             jjmatchedKind = 0x7fffffff;
1603             jjmatchedPos = 0;
1604             curPos = jjMoveStringLiteralDfa0_2();
1605             if (jjmatchedPos == 0 && jjmatchedKind > 12)
1606             {
1607                jjmatchedKind = 12;
1608             }
1609             break;
1610           case 3:
1611             jjmatchedKind = 0x7fffffff;
1612             jjmatchedPos = 0;
1613             curPos = jjMoveStringLiteralDfa0_3();
1614             if (jjmatchedPos == 0 && jjmatchedKind > 12)
1615             {
1616                jjmatchedKind = 12;
1617             }
1618             break;
1619           case 4:
1620             jjmatchedKind = 0x7fffffff;
1621             jjmatchedPos = 0;
1622             curPos = jjMoveStringLiteralDfa0_4();
1623             if (jjmatchedPos == 0 && jjmatchedKind > 18)
1624             {
1625                jjmatchedKind = 18;
1626             }
1627             break;
1628         }
1629         if (jjmatchedKind != 0x7fffffff)
1630         {
1631            if (jjmatchedPos + 1 < curPos)
1632               input_stream.backup(curPos - jjmatchedPos - 1);
1633            if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
1634            {
1635               matchedToken = jjFillToken();
1636           if (jjnewLexState[jjmatchedKind] != -1)
1637             curLexState = jjnewLexState[jjmatchedKind];
1638               return matchedToken;
1639            }
1640            else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
1641            {
1642             if (jjnewLexState[jjmatchedKind] != -1)
1643               curLexState = jjnewLexState[jjmatchedKind];
1644               continue EOFLoop;
1645            }
1646          if (jjnewLexState[jjmatchedKind] != -1)
1647            curLexState = jjnewLexState[jjmatchedKind];
1648            curPos = 0;
1649            jjmatchedKind = 0x7fffffff;
1650            try {
1651               curChar = input_stream.readChar();
1652               continue;
1653            }
1654            catch (java.io.IOException e1) { }
1655         }
1656         int error_line = input_stream.getEndLine();
1657         int error_column = input_stream.getEndColumn();
1658         String error_after = null;
1659         boolean EOFSeen = false;
1660         try { input_stream.readChar(); input_stream.backup(1); }
1661         catch (java.io.IOException e1) {
1662            EOFSeen = true;
1663            error_after = curPos <= 1 ? "" : input_stream.GetImage();
1664            if (curChar == '\n' || curChar == '\r') {
1665               error_line++;
1666               error_column = 0;
1667            }
1668            else
1669               error_column++;
1670         }
1671         if (!EOFSeen) {
1672            input_stream.backup(1);
1673            error_after = curPos <= 1 ? "" : input_stream.GetImage();
1674         }
1675         throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
1676       }
1677      }
1678    }
1679    
1680    static private void jjCheckNAdd(int state)
1681    {
1682       if (jjrounds[state] != jjround)
1683       {
1684          jjstateSet[jjnewStateCnt++] = state;
1685          jjrounds[state] = jjround;
1686       }
1687    }
1688    static private void jjAddStates(int start, int end)
1689    {
1690       do {
1691          jjstateSet[jjnewStateCnt++] = jjnextStates[start];
1692       } while (start++ != end);
1693    }
1694    static private void jjCheckNAddTwoStates(int state1, int state2)
1695    {
1696       jjCheckNAdd(state1);
1697       jjCheckNAdd(state2);
1698    }
1699    
1700    static private void jjCheckNAddStates(int start, int end)
1701    {
1702       do {
1703          jjCheckNAdd(jjnextStates[start]);
1704       } while (start++ != end);
1705    }
1706    
1707    }