]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/DotParserTokenManager.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.graphviz / src / org / simantics / graphviz / internal / parser / DotParserTokenManager.java
1 /* Generated By:JavaCC: Do not edit this line. DotParserTokenManager.java */\r
2 package org.simantics.graphviz.internal.parser;\r
3 \r
4 /** Token Manager. */\r
5 @SuppressWarnings("all")\r
6 public class DotParserTokenManager implements DotParserConstants\r
7 {\r
8 \r
9   /** Debug output. */\r
10   public  java.io.PrintStream debugStream = System.out;\r
11   /** Set debug output. */\r
12   public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }\r
13 private final int jjStopStringLiteralDfa_0(int pos, long active0)
14 {\r
15    switch (pos)
16    {\r
17       case 0:\r
18          if ((active0 & 0x7e000L) != 0L)\r
19          {\r
20             jjmatchedKind = 22;\r
21             return 18;\r
22          }\r
23          if ((active0 & 0x60L) != 0L)\r
24             return 34;\r
25          return -1;\r
26       case 1:\r
27          if ((active0 & 0x7e000L) != 0L)\r
28          {\r
29             jjmatchedKind = 22;\r
30             jjmatchedPos = 1;\r
31             return 18;\r
32          }\r
33          return -1;\r
34       case 2:\r
35          if ((active0 & 0x7e000L) != 0L)\r
36          {\r
37             jjmatchedKind = 22;\r
38             jjmatchedPos = 2;\r
39             return 18;\r
40          }\r
41          return -1;\r
42       case 3:\r
43          if ((active0 & 0x30000L) != 0L)\r
44             return 18;\r
45          if ((active0 & 0x4e000L) != 0L)\r
46          {\r
47             jjmatchedKind = 22;\r
48             jjmatchedPos = 3;\r
49             return 18;\r
50          }\r
51          return -1;\r
52       case 4:\r
53          if ((active0 & 0x46000L) != 0L)\r
54          {\r
55             jjmatchedKind = 22;\r
56             jjmatchedPos = 4;\r
57             return 18;\r
58          }\r
59          if ((active0 & 0x8000L) != 0L)\r
60             return 18;\r
61          return -1;\r
62       case 5:\r
63          if ((active0 & 0x40000L) != 0L)\r
64             return 18;\r
65          if ((active0 & 0x6000L) != 0L)\r
66          {\r
67             jjmatchedKind = 22;\r
68             jjmatchedPos = 5;\r
69             return 18;\r
70          }\r
71          return -1;\r
72       case 6:\r
73          if ((active0 & 0x4000L) != 0L)\r
74             return 18;\r
75          if ((active0 & 0x2000L) != 0L)\r
76          {\r
77             jjmatchedKind = 22;\r
78             jjmatchedPos = 6;\r
79             return 18;\r
80          }\r
81          return -1;\r
82       default :\r
83          return -1;\r
84    }\r
85 }\r
86 private final int jjStartNfa_0(int pos, long active0)
87 {\r
88    return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);\r
89 }\r
90 private int jjStopAtPos(int pos, int kind)\r
91 {\r
92    jjmatchedKind = kind;\r
93    jjmatchedPos = pos;\r
94    return pos + 1;\r
95 }\r
96 private int jjMoveStringLiteralDfa0_0()\r
97 {\r
98    switch(curChar)\r
99    {\r
100       case 44:\r
101          return jjStopAtPos(0, 12);\r
102       case 45:\r
103          return jjMoveStringLiteralDfa1_0(0x60L);\r
104       case 58:\r
105          return jjStopAtPos(0, 7);\r
106       case 59:\r
107          return jjStopAtPos(0, 19);\r
108       case 61:\r
109          return jjStopAtPos(0, 4);\r
110       case 91:\r
111          return jjStopAtPos(0, 10);\r
112       case 93:\r
113          return jjStopAtPos(0, 11);\r
114       case 68:\r
115       case 100:\r
116          return jjMoveStringLiteralDfa1_0(0x4000L);\r
117       case 69:\r
118       case 101:\r
119          return jjMoveStringLiteralDfa1_0(0x20000L);\r
120       case 71:\r
121       case 103:\r
122          return jjMoveStringLiteralDfa1_0(0x8000L);\r
123       case 78:\r
124       case 110:\r
125          return jjMoveStringLiteralDfa1_0(0x10000L);\r
126       case 83:\r
127       case 115:\r
128          return jjMoveStringLiteralDfa1_0(0x42000L);\r
129       case 123:\r
130          return jjStopAtPos(0, 8);\r
131       case 125:\r
132          return jjStopAtPos(0, 9);\r
133       default :\r
134          return jjMoveNfa_0(0, 0);\r
135    }\r
136 }\r
137 private int jjMoveStringLiteralDfa1_0(long active0)\r
138 {\r
139    try { curChar = input_stream.readChar(); }\r
140    catch(java.io.IOException e) {\r
141       jjStopStringLiteralDfa_0(0, active0);\r
142       return 1;\r
143    }\r
144    switch(curChar)\r
145    {\r
146       case 45:\r
147          if ((active0 & 0x40L) != 0L)\r
148             return jjStopAtPos(1, 6);\r
149          break;\r
150       case 62:\r
151          if ((active0 & 0x20L) != 0L)\r
152             return jjStopAtPos(1, 5);\r
153          break;\r
154       case 68:\r
155       case 100:\r
156          return jjMoveStringLiteralDfa2_0(active0, 0x20000L);\r
157       case 73:\r
158       case 105:\r
159          return jjMoveStringLiteralDfa2_0(active0, 0x4000L);\r
160       case 79:\r
161       case 111:\r
162          return jjMoveStringLiteralDfa2_0(active0, 0x10000L);\r
163       case 82:\r
164       case 114:\r
165          return jjMoveStringLiteralDfa2_0(active0, 0x8000L);\r
166       case 84:\r
167       case 116:\r
168          return jjMoveStringLiteralDfa2_0(active0, 0x40000L);\r
169       case 85:\r
170       case 117:\r
171          return jjMoveStringLiteralDfa2_0(active0, 0x2000L);\r
172       default :\r
173          break;\r
174    }\r
175    return jjStartNfa_0(0, active0);\r
176 }\r
177 private int jjMoveStringLiteralDfa2_0(long old0, long active0)\r
178 {\r
179    if (((active0 &= old0)) == 0L)\r
180       return jjStartNfa_0(0, old0);\r
181    try { curChar = input_stream.readChar(); }\r
182    catch(java.io.IOException e) {\r
183       jjStopStringLiteralDfa_0(1, active0);\r
184       return 2;\r
185    }\r
186    switch(curChar)\r
187    {\r
188       case 65:\r
189       case 97:\r
190          return jjMoveStringLiteralDfa3_0(active0, 0x8000L);\r
191       case 66:\r
192       case 98:\r
193          return jjMoveStringLiteralDfa3_0(active0, 0x2000L);\r
194       case 68:\r
195       case 100:\r
196          return jjMoveStringLiteralDfa3_0(active0, 0x10000L);\r
197       case 71:\r
198       case 103:\r
199          return jjMoveStringLiteralDfa3_0(active0, 0x24000L);\r
200       case 82:\r
201       case 114:\r
202          return jjMoveStringLiteralDfa3_0(active0, 0x40000L);\r
203       default :\r
204          break;\r
205    }\r
206    return jjStartNfa_0(1, active0);\r
207 }\r
208 private int jjMoveStringLiteralDfa3_0(long old0, long active0)\r
209 {\r
210    if (((active0 &= old0)) == 0L)\r
211       return jjStartNfa_0(1, old0);\r
212    try { curChar = input_stream.readChar(); }\r
213    catch(java.io.IOException e) {\r
214       jjStopStringLiteralDfa_0(2, active0);\r
215       return 3;\r
216    }\r
217    switch(curChar)\r
218    {\r
219       case 69:\r
220       case 101:\r
221          if ((active0 & 0x10000L) != 0L)\r
222             return jjStartNfaWithStates_0(3, 16, 18);\r
223          else if ((active0 & 0x20000L) != 0L)\r
224             return jjStartNfaWithStates_0(3, 17, 18);\r
225          break;\r
226       case 71:\r
227       case 103:\r
228          return jjMoveStringLiteralDfa4_0(active0, 0x2000L);\r
229       case 73:\r
230       case 105:\r
231          return jjMoveStringLiteralDfa4_0(active0, 0x40000L);\r
232       case 80:\r
233       case 112:\r
234          return jjMoveStringLiteralDfa4_0(active0, 0x8000L);\r
235       case 82:\r
236       case 114:\r
237          return jjMoveStringLiteralDfa4_0(active0, 0x4000L);\r
238       default :\r
239          break;\r
240    }\r
241    return jjStartNfa_0(2, active0);\r
242 }\r
243 private int jjMoveStringLiteralDfa4_0(long old0, long active0)\r
244 {\r
245    if (((active0 &= old0)) == 0L)\r
246       return jjStartNfa_0(2, old0);\r
247    try { curChar = input_stream.readChar(); }\r
248    catch(java.io.IOException e) {\r
249       jjStopStringLiteralDfa_0(3, active0);\r
250       return 4;\r
251    }\r
252    switch(curChar)\r
253    {\r
254       case 65:\r
255       case 97:\r
256          return jjMoveStringLiteralDfa5_0(active0, 0x4000L);\r
257       case 67:\r
258       case 99:\r
259          return jjMoveStringLiteralDfa5_0(active0, 0x40000L);\r
260       case 72:\r
261       case 104:\r
262          if ((active0 & 0x8000L) != 0L)\r
263             return jjStartNfaWithStates_0(4, 15, 18);\r
264          break;\r
265       case 82:\r
266       case 114:\r
267          return jjMoveStringLiteralDfa5_0(active0, 0x2000L);\r
268       default :\r
269          break;\r
270    }\r
271    return jjStartNfa_0(3, active0);\r
272 }\r
273 private int jjMoveStringLiteralDfa5_0(long old0, long active0)\r
274 {\r
275    if (((active0 &= old0)) == 0L)\r
276       return jjStartNfa_0(3, old0);\r
277    try { curChar = input_stream.readChar(); }\r
278    catch(java.io.IOException e) {\r
279       jjStopStringLiteralDfa_0(4, active0);\r
280       return 5;\r
281    }\r
282    switch(curChar)\r
283    {\r
284       case 65:\r
285       case 97:\r
286          return jjMoveStringLiteralDfa6_0(active0, 0x2000L);\r
287       case 80:\r
288       case 112:\r
289          return jjMoveStringLiteralDfa6_0(active0, 0x4000L);\r
290       case 84:\r
291       case 116:\r
292          if ((active0 & 0x40000L) != 0L)\r
293             return jjStartNfaWithStates_0(5, 18, 18);\r
294          break;\r
295       default :\r
296          break;\r
297    }\r
298    return jjStartNfa_0(4, active0);\r
299 }\r
300 private int jjMoveStringLiteralDfa6_0(long old0, long active0)\r
301 {\r
302    if (((active0 &= old0)) == 0L)\r
303       return jjStartNfa_0(4, old0);\r
304    try { curChar = input_stream.readChar(); }\r
305    catch(java.io.IOException e) {\r
306       jjStopStringLiteralDfa_0(5, active0);\r
307       return 6;\r
308    }\r
309    switch(curChar)\r
310    {\r
311       case 72:\r
312       case 104:\r
313          if ((active0 & 0x4000L) != 0L)\r
314             return jjStartNfaWithStates_0(6, 14, 18);\r
315          break;\r
316       case 80:\r
317       case 112:\r
318          return jjMoveStringLiteralDfa7_0(active0, 0x2000L);\r
319       default :\r
320          break;\r
321    }\r
322    return jjStartNfa_0(5, active0);\r
323 }\r
324 private int jjMoveStringLiteralDfa7_0(long old0, long active0)\r
325 {\r
326    if (((active0 &= old0)) == 0L)\r
327       return jjStartNfa_0(5, old0);\r
328    try { curChar = input_stream.readChar(); }\r
329    catch(java.io.IOException e) {\r
330       jjStopStringLiteralDfa_0(6, active0);\r
331       return 7;\r
332    }\r
333    switch(curChar)\r
334    {\r
335       case 72:\r
336       case 104:\r
337          if ((active0 & 0x2000L) != 0L)\r
338             return jjStartNfaWithStates_0(7, 13, 18);\r
339          break;\r
340       default :\r
341          break;\r
342    }\r
343    return jjStartNfa_0(6, active0);\r
344 }\r
345 private int jjStartNfaWithStates_0(int pos, int kind, int state)\r
346 {\r
347    jjmatchedKind = kind;\r
348    jjmatchedPos = pos;\r
349    try { curChar = input_stream.readChar(); }\r
350    catch(java.io.IOException e) { return pos + 1; }\r
351    return jjMoveNfa_0(state, pos + 1);\r
352 }\r
353 static final long[] jjbitVec0 = {
354    0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
355 };\r
356 private int jjMoveNfa_0(int startState, int curPos)\r
357 {\r
358    int startsAt = 0;\r
359    jjnewStateCnt = 34;\r
360    int i = 1;\r
361    jjstateSet[0] = startState;\r
362    int kind = 0x7fffffff;\r
363    for (;;)\r
364    {\r
365       if (++jjround == 0x7fffffff)\r
366          ReInitRounds();\r
367       if (curChar < 64)\r
368       {\r
369          long l = 1L << curChar;\r
370          do\r
371          {\r
372             switch(jjstateSet[--i])\r
373             {\r
374                case 0:\r
375                   if ((0x3ff000000000000L & l) != 0L)\r
376                   {\r
377                      if (kind > 23)\r
378                         kind = 23;\r
379                      jjCheckNAddTwoStates(22, 23);\r
380                   }\r
381                   else if ((0x100002600L & l) != 0L)\r
382                   {\r
383                      if (kind > 1)\r
384                         kind = 1;\r
385                   }\r
386                   else if (curChar == 47)\r
387                      jjAddStates(0, 1);\r
388                   else if (curChar == 46)\r
389                      jjCheckNAdd(21);\r
390                   else if (curChar == 45)\r
391                      jjCheckNAddTwoStates(20, 22);\r
392                   else if (curChar == 60)\r
393                      jjCheckNAddStates(2, 4);\r
394                   else if (curChar == 34)\r
395                      jjCheckNAddStates(5, 7);\r
396                   break;\r
397                case 34:\r
398                   if ((0x3ff000000000000L & l) != 0L)\r
399                   {\r
400                      if (kind > 23)\r
401                         kind = 23;\r
402                      jjCheckNAddTwoStates(22, 23);\r
403                   }\r
404                   else if (curChar == 46)\r
405                      jjCheckNAdd(21);\r
406                   break;\r
407                case 1:\r
408                   if (curChar == 34)\r
409                      jjCheckNAddStates(5, 7);\r
410                   break;\r
411                case 2:\r
412                   if ((0xfffffffbffffffffL & l) != 0L)\r
413                      jjCheckNAddStates(5, 7);\r
414                   break;\r
415                case 4:\r
416                   jjCheckNAddStates(5, 7);\r
417                   break;\r
418                case 5:\r
419                   if (curChar == 34 && kind > 20)\r
420                      kind = 20;\r
421                   break;\r
422                case 6:\r
423                   if (curChar == 60)\r
424                      jjCheckNAddStates(2, 4);\r
425                   break;\r
426                case 7:\r
427                   if ((0xafffffffffffffffL & l) != 0L)\r
428                      jjCheckNAddStates(2, 4);\r
429                   break;\r
430                case 8:\r
431                   if (curChar == 60)\r
432                      jjCheckNAddStates(8, 10);\r
433                   break;\r
434                case 9:\r
435                   if ((0xaffffffbffffffffL & l) != 0L)\r
436                      jjCheckNAddStates(8, 10);\r
437                   break;\r
438                case 10:\r
439                   if (curChar == 34)\r
440                      jjCheckNAddStates(11, 13);\r
441                   break;\r
442                case 11:\r
443                   if ((0xfffffffbffffffffL & l) != 0L)\r
444                      jjCheckNAddStates(11, 13);\r
445                   break;\r
446                case 13:\r
447                   jjCheckNAddStates(11, 13);\r
448                   break;\r
449                case 14:\r
450                   if (curChar == 34)\r
451                      jjCheckNAddStates(8, 10);\r
452                   break;\r
453                case 15:\r
454                   if (curChar == 62)\r
455                      jjCheckNAddStates(2, 4);\r
456                   break;\r
457                case 16:\r
458                   if (curChar == 62 && kind > 21)\r
459                      kind = 21;\r
460                   break;\r
461                case 18:\r
462                   if ((0x7ff000000000000L & l) == 0L)\r
463                      break;\r
464                   if (kind > 22)\r
465                      kind = 22;\r
466                   jjstateSet[jjnewStateCnt++] = 18;\r
467                   break;\r
468                case 19:\r
469                   if (curChar == 45)\r
470                      jjCheckNAddTwoStates(20, 22);\r
471                   break;\r
472                case 20:\r
473                   if (curChar == 46)\r
474                      jjCheckNAdd(21);\r
475                   break;\r
476                case 21:\r
477                   if ((0x3ff000000000000L & l) == 0L)\r
478                      break;\r
479                   if (kind > 23)\r
480                      kind = 23;\r
481                   jjCheckNAdd(21);\r
482                   break;\r
483                case 22:\r
484                   if ((0x3ff000000000000L & l) == 0L)\r
485                      break;\r
486                   if (kind > 23)\r
487                      kind = 23;\r
488                   jjCheckNAddTwoStates(22, 23);\r
489                   break;\r
490                case 23:\r
491                   if (curChar != 46)\r
492                      break;\r
493                   if (kind > 23)\r
494                      kind = 23;\r
495                   jjCheckNAdd(24);\r
496                   break;\r
497                case 24:\r
498                   if ((0x3ff000000000000L & l) == 0L)\r
499                      break;\r
500                   if (kind > 23)\r
501                      kind = 23;\r
502                   jjCheckNAdd(24);\r
503                   break;\r
504                case 25:\r
505                   if (curChar == 47)\r
506                      jjAddStates(0, 1);\r
507                   break;\r
508                case 26:\r
509                   if (curChar == 42)\r
510                      jjCheckNAddStates(14, 16);\r
511                   break;\r
512                case 27:\r
513                   if ((0xfffffbffffffffffL & l) != 0L)\r
514                      jjCheckNAddStates(14, 16);\r
515                   break;\r
516                case 28:\r
517                   if (curChar == 42)\r
518                      jjstateSet[jjnewStateCnt++] = 29;\r
519                   break;\r
520                case 29:\r
521                   if ((0xffff7fffffffffffL & l) != 0L)\r
522                      jjCheckNAddStates(14, 16);\r
523                   break;\r
524                case 30:\r
525                   if (curChar == 47 && kind > 2)\r
526                      kind = 2;\r
527                   break;\r
528                case 31:\r
529                   if (curChar == 42)\r
530                      jjstateSet[jjnewStateCnt++] = 30;\r
531                   break;\r
532                case 32:\r
533                   if (curChar != 47)\r
534                      break;\r
535                   if (kind > 3)\r
536                      kind = 3;\r
537                   jjCheckNAdd(33);\r
538                   break;\r
539                case 33:\r
540                   if ((0xfffffffffffffbffL & l) == 0L)\r
541                      break;\r
542                   if (kind > 3)\r
543                      kind = 3;\r
544                   jjCheckNAdd(33);\r
545                   break;\r
546                default : break;\r
547             }\r
548          } while(i != startsAt);\r
549       }\r
550       else if (curChar < 128)\r
551       {\r
552          long l = 1L << (curChar & 077);\r
553          do\r
554          {\r
555             switch(jjstateSet[--i])\r
556             {\r
557                case 0:\r
558                case 18:\r
559                   if ((0x7fffffe87fffffeL & l) == 0L)\r
560                      break;\r
561                   if (kind > 22)\r
562                      kind = 22;\r
563                   jjCheckNAdd(18);\r
564                   break;\r
565                case 2:\r
566                   if ((0xffffffffefffffffL & l) != 0L)\r
567                      jjCheckNAddStates(5, 7);\r
568                   break;\r
569                case 3:\r
570                   if (curChar == 92)\r
571                      jjstateSet[jjnewStateCnt++] = 4;\r
572                   break;\r
573                case 4:\r
574                   jjCheckNAddStates(5, 7);\r
575                   break;\r
576                case 7:\r
577                   jjAddStates(2, 4);\r
578                   break;\r
579                case 9:\r
580                   jjAddStates(8, 10);\r
581                   break;\r
582                case 11:\r
583                   if ((0xffffffffefffffffL & l) != 0L)\r
584                      jjCheckNAddStates(11, 13);\r
585                   break;\r
586                case 12:\r
587                   if (curChar == 92)\r
588                      jjstateSet[jjnewStateCnt++] = 13;\r
589                   break;\r
590                case 13:\r
591                   jjCheckNAddStates(11, 13);\r
592                   break;\r
593                case 27:\r
594                case 29:\r
595                   jjCheckNAddStates(14, 16);\r
596                   break;\r
597                case 33:\r
598                   if (kind > 3)\r
599                      kind = 3;\r
600                   jjstateSet[jjnewStateCnt++] = 33;\r
601                   break;\r
602                default : break;\r
603             }\r
604          } while(i != startsAt);\r
605       }\r
606       else\r
607       {\r
608          int i2 = (curChar & 0xff) >> 6;\r
609          long l2 = 1L << (curChar & 077);\r
610          do\r
611          {\r
612             switch(jjstateSet[--i])\r
613             {\r
614                case 2:\r
615                case 4:\r
616                   if ((jjbitVec0[i2] & l2) != 0L)\r
617                      jjCheckNAddStates(5, 7);\r
618                   break;\r
619                case 7:\r
620                   if ((jjbitVec0[i2] & l2) != 0L)\r
621                      jjAddStates(2, 4);\r
622                   break;\r
623                case 9:\r
624                   if ((jjbitVec0[i2] & l2) != 0L)\r
625                      jjAddStates(8, 10);\r
626                   break;\r
627                case 11:\r
628                case 13:\r
629                   if ((jjbitVec0[i2] & l2) != 0L)\r
630                      jjCheckNAddStates(11, 13);\r
631                   break;\r
632                case 27:\r
633                case 29:\r
634                   if ((jjbitVec0[i2] & l2) != 0L)\r
635                      jjCheckNAddStates(14, 16);\r
636                   break;\r
637                case 33:\r
638                   if ((jjbitVec0[i2] & l2) == 0L)\r
639                      break;\r
640                   if (kind > 3)\r
641                      kind = 3;\r
642                   jjstateSet[jjnewStateCnt++] = 33;\r
643                   break;\r
644                default : break;\r
645             }\r
646          } while(i != startsAt);\r
647       }\r
648       if (kind != 0x7fffffff)\r
649       {\r
650          jjmatchedKind = kind;\r
651          jjmatchedPos = curPos;\r
652          kind = 0x7fffffff;\r
653       }\r
654       ++curPos;\r
655       if ((i = jjnewStateCnt) == (startsAt = 34 - (jjnewStateCnt = startsAt)))\r
656          return curPos;\r
657       try { curChar = input_stream.readChar(); }\r
658       catch(java.io.IOException e) { return curPos; }\r
659    }\r
660 }\r
661 static final int[] jjnextStates = {
662    26, 32, 7, 8, 16, 2, 3, 5, 9, 10, 15, 11, 12, 14, 27, 28, 
663    31, 
664 };\r
665 \r
666 /** Token literal values. */\r
667 public static final String[] jjstrLiteralImages = {\r
668 "", null, null, null, "\75", "\55\76", "\55\55", "\72", "\173", "\175", \r
669 "\133", "\135", "\54", null, null, null, null, null, null, "\73", null, null, null, \r
670 null, };\r
671 \r
672 /** Lexer state names. */\r
673 public static final String[] lexStateNames = {\r
674    "DEFAULT",\r
675 };\r
676 static final long[] jjtoToken = {
677    0xfffff1L, 
678 };\r
679 static final long[] jjtoSkip = {
680    0xeL, 
681 };\r
682 protected SimpleCharStream input_stream;\r
683 private final int[] jjrounds = new int[34];\r
684 private final int[] jjstateSet = new int[68];\r
685 private final StringBuilder jjimage = new StringBuilder();\r
686 private StringBuilder image = jjimage;\r
687 private int jjimageLen;\r
688 private int lengthOfMatch;\r
689 protected char curChar;\r
690 /** Constructor. */\r
691 public DotParserTokenManager(SimpleCharStream stream){\r
692    if (SimpleCharStream.staticFlag)\r
693       throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");\r
694    input_stream = stream;\r
695 }\r
696 \r
697 /** Constructor. */\r
698 public DotParserTokenManager(SimpleCharStream stream, int lexState){\r
699    this(stream);\r
700    SwitchTo(lexState);\r
701 }\r
702 \r
703 /** Reinitialise parser. */\r
704 public void ReInit(SimpleCharStream stream)\r
705 {\r
706    jjmatchedPos = jjnewStateCnt = 0;\r
707    curLexState = defaultLexState;\r
708    input_stream = stream;\r
709    ReInitRounds();\r
710 }\r
711 private void ReInitRounds()\r
712 {\r
713    int i;\r
714    jjround = 0x80000001;\r
715    for (i = 34; i-- > 0;)\r
716       jjrounds[i] = 0x80000000;\r
717 }\r
718 \r
719 /** Reinitialise parser. */\r
720 public void ReInit(SimpleCharStream stream, int lexState)\r
721 {\r
722    ReInit(stream);\r
723    SwitchTo(lexState);\r
724 }\r
725 \r
726 /** Switch to specified lex state. */\r
727 public void SwitchTo(int lexState)\r
728 {\r
729    if (lexState >= 1 || lexState < 0)\r
730       throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);\r
731    else\r
732       curLexState = lexState;\r
733 }\r
734 \r
735 protected Token jjFillToken()\r
736 {\r
737    final Token t;\r
738    final String curTokenImage;\r
739    final int beginLine;\r
740    final int endLine;\r
741    final int beginColumn;\r
742    final int endColumn;\r
743    String im = jjstrLiteralImages[jjmatchedKind];\r
744    curTokenImage = (im == null) ? input_stream.GetImage() : im;\r
745    beginLine = input_stream.getBeginLine();\r
746    beginColumn = input_stream.getBeginColumn();\r
747    endLine = input_stream.getEndLine();\r
748    endColumn = input_stream.getEndColumn();\r
749    t = Token.newToken(jjmatchedKind, curTokenImage);\r
750 \r
751    t.beginLine = beginLine;\r
752    t.endLine = endLine;\r
753    t.beginColumn = beginColumn;\r
754    t.endColumn = endColumn;\r
755 \r
756    return t;\r
757 }\r
758 \r
759 int curLexState = 0;\r
760 int defaultLexState = 0;\r
761 int jjnewStateCnt;\r
762 int jjround;\r
763 int jjmatchedPos;\r
764 int jjmatchedKind;\r
765 \r
766 /** Get the next Token. */\r
767 public Token getNextToken() \r
768 {\r
769   Token matchedToken;\r
770   int curPos = 0;\r
771 \r
772   EOFLoop :
773   for (;;)\r
774   {\r
775    try\r
776    {\r
777       curChar = input_stream.BeginToken();\r
778    }\r
779    catch(java.io.IOException e)\r
780    {\r
781       jjmatchedKind = 0;\r
782       matchedToken = jjFillToken();\r
783       return matchedToken;\r
784    }\r
785    image = jjimage;\r
786    image.setLength(0);\r
787    jjimageLen = 0;\r
788 \r
789    jjmatchedKind = 0x7fffffff;\r
790    jjmatchedPos = 0;\r
791    curPos = jjMoveStringLiteralDfa0_0();\r
792    if (jjmatchedKind != 0x7fffffff)\r
793    {\r
794       if (jjmatchedPos + 1 < curPos)\r
795          input_stream.backup(curPos - jjmatchedPos - 1);\r
796       if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)\r
797       {\r
798          matchedToken = jjFillToken();\r
799          TokenLexicalActions(matchedToken);\r
800          return matchedToken;\r
801       }\r
802       else\r
803       {\r
804          continue EOFLoop;\r
805       }\r
806    }\r
807    int error_line = input_stream.getEndLine();\r
808    int error_column = input_stream.getEndColumn();\r
809    String error_after = null;\r
810    boolean EOFSeen = false;\r
811    try { input_stream.readChar(); input_stream.backup(1); }\r
812    catch (java.io.IOException e1) {\r
813       EOFSeen = true;\r
814       error_after = curPos <= 1 ? "" : input_stream.GetImage();\r
815       if (curChar == '\n' || curChar == '\r') {\r
816          error_line++;\r
817          error_column = 0;\r
818       }\r
819       else\r
820          error_column++;\r
821    }\r
822    if (!EOFSeen) {\r
823       input_stream.backup(1);\r
824       error_after = curPos <= 1 ? "" : input_stream.GetImage();\r
825    }\r
826    throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);\r
827   }\r
828 }\r
829 \r
830 void TokenLexicalActions(Token matchedToken)\r
831 {\r
832    switch(jjmatchedKind)\r
833    {\r
834       case 20 :\r
835         image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));\r
836       matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1);\r
837          break;\r
838       default :\r
839          break;\r
840    }\r
841 }\r
842 private void jjCheckNAdd(int state)\r
843 {\r
844    if (jjrounds[state] != jjround)\r
845    {\r
846       jjstateSet[jjnewStateCnt++] = state;\r
847       jjrounds[state] = jjround;\r
848    }\r
849 }\r
850 private void jjAddStates(int start, int end)\r
851 {\r
852    do {\r
853       jjstateSet[jjnewStateCnt++] = jjnextStates[start];\r
854    } while (start++ != end);\r
855 }\r
856 private void jjCheckNAddTwoStates(int state1, int state2)\r
857 {\r
858    jjCheckNAdd(state1);\r
859    jjCheckNAdd(state2);\r
860 }\r
861 \r
862 private void jjCheckNAddStates(int start, int end)\r
863 {\r
864    do {\r
865       jjCheckNAdd(jjnextStates[start]);\r
866    } while (start++ != end);\r
867 }\r
868 \r
869 }\r