001: /*
002: * This file is part of the GeOxygene project source files.
003: *
004: * GeOxygene aims at providing an open framework which implements OGC/ISO specifications for
005: * the development and deployment of geographic (GIS) applications. It is a open source
006: * contribution of the COGIT laboratory at the Institut Géographique National (the French
007: * National Mapping Agency).
008: *
009: * See: http://oxygene-project.sourceforge.net
010: *
011: * Copyright (C) 2005 Institut Géographique National
012: *
013: * This library is free software; you can redistribute it and/or modify it under the terms
014: * of the GNU Lesser General Public License as published by the Free Software Foundation;
015: * either version 2.1 of the License, or any later version.
016: *
017: * This library is distributed in the hope that it will be useful, but WITHOUT ANY
018: * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
019: * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
020: *
021: * You should have received a copy of the GNU Lesser General Public License along with
022: * this library (see file LICENSE if present); if not, write to the Free Software
023: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024: *
025: */
026:
027: /* Generated By:JavaCC: Do not edit this line. WktAwtTokenManager.java */
028: package fr.ign.cogit.geoxygene.util.conversion;
029:
030: public class WktAwtTokenManager implements WktAwtConstants {
031: public java.io.PrintStream debugStream = System.out;
032:
033: public void setDebugStream(java.io.PrintStream ds) {
034: debugStream = ds;
035: }
036:
037: private final int jjStopStringLiteralDfa_0(int pos, long active0) {
038: switch (pos) {
039: default:
040: return -1;
041: }
042: }
043:
044: private final int jjStartNfa_0(int pos, long active0) {
045: return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0),
046: pos + 1);
047: }
048:
049: private final int jjStopAtPos(int pos, int kind) {
050: jjmatchedKind = kind;
051: jjmatchedPos = pos;
052: return pos + 1;
053: }
054:
055: private final int jjStartNfaWithStates_0(int pos, int kind,
056: int state) {
057: jjmatchedKind = kind;
058: jjmatchedPos = pos;
059: try {
060: curChar = input_stream.readChar();
061: } catch (java.io.IOException e) {
062: return pos + 1;
063: }
064: return jjMoveNfa_0(state, pos + 1);
065: }
066:
067: private final int jjMoveStringLiteralDfa0_0() {
068: switch (curChar) {
069: case 10:
070: return jjStopAtPos(0, 6);
071: case 40:
072: return jjStopAtPos(0, 9);
073: case 41:
074: return jjStopAtPos(0, 10);
075: case 44:
076: return jjStopAtPos(0, 12);
077: case 69:
078: return jjMoveStringLiteralDfa1_0(0x800L);
079: case 71:
080: return jjMoveStringLiteralDfa1_0(0x80000L);
081: case 76:
082: return jjMoveStringLiteralDfa1_0(0x4000L);
083: case 77:
084: return jjMoveStringLiteralDfa1_0(0x58000L);
085: case 80:
086: return jjMoveStringLiteralDfa1_0(0x22000L);
087: default:
088: return jjMoveNfa_0(0, 0);
089: }
090: }
091:
092: private final int jjMoveStringLiteralDfa1_0(long active0) {
093: try {
094: curChar = input_stream.readChar();
095: } catch (java.io.IOException e) {
096: jjStopStringLiteralDfa_0(0, active0);
097: return 1;
098: }
099: switch (curChar) {
100: case 69:
101: return jjMoveStringLiteralDfa2_0(active0, 0x80000L);
102: case 73:
103: return jjMoveStringLiteralDfa2_0(active0, 0x4000L);
104: case 77:
105: return jjMoveStringLiteralDfa2_0(active0, 0x800L);
106: case 79:
107: return jjMoveStringLiteralDfa2_0(active0, 0x22000L);
108: case 85:
109: return jjMoveStringLiteralDfa2_0(active0, 0x58000L);
110: default:
111: break;
112: }
113: return jjStartNfa_0(0, active0);
114: }
115:
116: private final int jjMoveStringLiteralDfa2_0(long old0, long active0) {
117: if (((active0 &= old0)) == 0L)
118: return jjStartNfa_0(0, old0);
119: try {
120: curChar = input_stream.readChar();
121: } catch (java.io.IOException e) {
122: jjStopStringLiteralDfa_0(1, active0);
123: return 2;
124: }
125: switch (curChar) {
126: case 73:
127: return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
128: case 76:
129: return jjMoveStringLiteralDfa3_0(active0, 0x78000L);
130: case 78:
131: return jjMoveStringLiteralDfa3_0(active0, 0x4000L);
132: case 79:
133: return jjMoveStringLiteralDfa3_0(active0, 0x80000L);
134: case 80:
135: return jjMoveStringLiteralDfa3_0(active0, 0x800L);
136: default:
137: break;
138: }
139: return jjStartNfa_0(1, active0);
140: }
141:
142: private final int jjMoveStringLiteralDfa3_0(long old0, long active0) {
143: if (((active0 &= old0)) == 0L)
144: return jjStartNfa_0(1, old0);
145: try {
146: curChar = input_stream.readChar();
147: } catch (java.io.IOException e) {
148: jjStopStringLiteralDfa_0(2, active0);
149: return 3;
150: }
151: switch (curChar) {
152: case 69:
153: return jjMoveStringLiteralDfa4_0(active0, 0x4000L);
154: case 77:
155: return jjMoveStringLiteralDfa4_0(active0, 0x80000L);
156: case 78:
157: return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
158: case 84:
159: return jjMoveStringLiteralDfa4_0(active0, 0x58800L);
160: case 89:
161: return jjMoveStringLiteralDfa4_0(active0, 0x20000L);
162: default:
163: break;
164: }
165: return jjStartNfa_0(2, active0);
166: }
167:
168: private final int jjMoveStringLiteralDfa4_0(long old0, long active0) {
169: if (((active0 &= old0)) == 0L)
170: return jjStartNfa_0(2, old0);
171: try {
172: curChar = input_stream.readChar();
173: } catch (java.io.IOException e) {
174: jjStopStringLiteralDfa_0(3, active0);
175: return 4;
176: }
177: switch (curChar) {
178: case 69:
179: return jjMoveStringLiteralDfa5_0(active0, 0x80000L);
180: case 71:
181: return jjMoveStringLiteralDfa5_0(active0, 0x20000L);
182: case 73:
183: return jjMoveStringLiteralDfa5_0(active0, 0x58000L);
184: case 83:
185: return jjMoveStringLiteralDfa5_0(active0, 0x4000L);
186: case 84:
187: if ((active0 & 0x2000L) != 0L)
188: return jjStopAtPos(4, 13);
189: break;
190: case 89:
191: if ((active0 & 0x800L) != 0L)
192: return jjStopAtPos(4, 11);
193: break;
194: default:
195: break;
196: }
197: return jjStartNfa_0(3, active0);
198: }
199:
200: private final int jjMoveStringLiteralDfa5_0(long old0, long active0) {
201: if (((active0 &= old0)) == 0L)
202: return jjStartNfa_0(3, old0);
203: try {
204: curChar = input_stream.readChar();
205: } catch (java.io.IOException e) {
206: jjStopStringLiteralDfa_0(4, active0);
207: return 5;
208: }
209: switch (curChar) {
210: case 76:
211: return jjMoveStringLiteralDfa6_0(active0, 0x10000L);
212: case 79:
213: return jjMoveStringLiteralDfa6_0(active0, 0x20000L);
214: case 80:
215: return jjMoveStringLiteralDfa6_0(active0, 0x48000L);
216: case 84:
217: return jjMoveStringLiteralDfa6_0(active0, 0x84000L);
218: default:
219: break;
220: }
221: return jjStartNfa_0(4, active0);
222: }
223:
224: private final int jjMoveStringLiteralDfa6_0(long old0, long active0) {
225: if (((active0 &= old0)) == 0L)
226: return jjStartNfa_0(4, old0);
227: try {
228: curChar = input_stream.readChar();
229: } catch (java.io.IOException e) {
230: jjStopStringLiteralDfa_0(5, active0);
231: return 6;
232: }
233: switch (curChar) {
234: case 73:
235: return jjMoveStringLiteralDfa7_0(active0, 0x10000L);
236: case 78:
237: if ((active0 & 0x20000L) != 0L)
238: return jjStopAtPos(6, 17);
239: break;
240: case 79:
241: return jjMoveStringLiteralDfa7_0(active0, 0x48000L);
242: case 82:
243: return jjMoveStringLiteralDfa7_0(active0, 0x84000L);
244: default:
245: break;
246: }
247: return jjStartNfa_0(5, active0);
248: }
249:
250: private final int jjMoveStringLiteralDfa7_0(long old0, long active0) {
251: if (((active0 &= old0)) == 0L)
252: return jjStartNfa_0(5, old0);
253: try {
254: curChar = input_stream.readChar();
255: } catch (java.io.IOException e) {
256: jjStopStringLiteralDfa_0(6, active0);
257: return 7;
258: }
259: switch (curChar) {
260: case 73:
261: return jjMoveStringLiteralDfa8_0(active0, 0xc000L);
262: case 76:
263: return jjMoveStringLiteralDfa8_0(active0, 0x40000L);
264: case 78:
265: return jjMoveStringLiteralDfa8_0(active0, 0x10000L);
266: case 89:
267: return jjMoveStringLiteralDfa8_0(active0, 0x80000L);
268: default:
269: break;
270: }
271: return jjStartNfa_0(6, active0);
272: }
273:
274: private final int jjMoveStringLiteralDfa8_0(long old0, long active0) {
275: if (((active0 &= old0)) == 0L)
276: return jjStartNfa_0(6, old0);
277: try {
278: curChar = input_stream.readChar();
279: } catch (java.io.IOException e) {
280: jjStopStringLiteralDfa_0(7, active0);
281: return 8;
282: }
283: switch (curChar) {
284: case 67:
285: return jjMoveStringLiteralDfa9_0(active0, 0x80000L);
286: case 69:
287: return jjMoveStringLiteralDfa9_0(active0, 0x10000L);
288: case 78:
289: return jjMoveStringLiteralDfa9_0(active0, 0xc000L);
290: case 89:
291: return jjMoveStringLiteralDfa9_0(active0, 0x40000L);
292: default:
293: break;
294: }
295: return jjStartNfa_0(7, active0);
296: }
297:
298: private final int jjMoveStringLiteralDfa9_0(long old0, long active0) {
299: if (((active0 &= old0)) == 0L)
300: return jjStartNfa_0(7, old0);
301: try {
302: curChar = input_stream.readChar();
303: } catch (java.io.IOException e) {
304: jjStopStringLiteralDfa_0(8, active0);
305: return 9;
306: }
307: switch (curChar) {
308: case 71:
309: if ((active0 & 0x4000L) != 0L)
310: return jjStopAtPos(9, 14);
311: return jjMoveStringLiteralDfa10_0(active0, 0x40000L);
312: case 79:
313: return jjMoveStringLiteralDfa10_0(active0, 0x80000L);
314: case 83:
315: return jjMoveStringLiteralDfa10_0(active0, 0x10000L);
316: case 84:
317: if ((active0 & 0x8000L) != 0L)
318: return jjStopAtPos(9, 15);
319: break;
320: default:
321: break;
322: }
323: return jjStartNfa_0(8, active0);
324: }
325:
326: private final int jjMoveStringLiteralDfa10_0(long old0, long active0) {
327: if (((active0 &= old0)) == 0L)
328: return jjStartNfa_0(8, old0);
329: try {
330: curChar = input_stream.readChar();
331: } catch (java.io.IOException e) {
332: jjStopStringLiteralDfa_0(9, active0);
333: return 10;
334: }
335: switch (curChar) {
336: case 76:
337: return jjMoveStringLiteralDfa11_0(active0, 0x80000L);
338: case 79:
339: return jjMoveStringLiteralDfa11_0(active0, 0x40000L);
340: case 84:
341: return jjMoveStringLiteralDfa11_0(active0, 0x10000L);
342: default:
343: break;
344: }
345: return jjStartNfa_0(9, active0);
346: }
347:
348: private final int jjMoveStringLiteralDfa11_0(long old0, long active0) {
349: if (((active0 &= old0)) == 0L)
350: return jjStartNfa_0(9, old0);
351: try {
352: curChar = input_stream.readChar();
353: } catch (java.io.IOException e) {
354: jjStopStringLiteralDfa_0(10, active0);
355: return 11;
356: }
357: switch (curChar) {
358: case 76:
359: return jjMoveStringLiteralDfa12_0(active0, 0x80000L);
360: case 78:
361: if ((active0 & 0x40000L) != 0L)
362: return jjStopAtPos(11, 18);
363: break;
364: case 82:
365: return jjMoveStringLiteralDfa12_0(active0, 0x10000L);
366: default:
367: break;
368: }
369: return jjStartNfa_0(10, active0);
370: }
371:
372: private final int jjMoveStringLiteralDfa12_0(long old0, long active0) {
373: if (((active0 &= old0)) == 0L)
374: return jjStartNfa_0(10, old0);
375: try {
376: curChar = input_stream.readChar();
377: } catch (java.io.IOException e) {
378: jjStopStringLiteralDfa_0(11, active0);
379: return 12;
380: }
381: switch (curChar) {
382: case 69:
383: return jjMoveStringLiteralDfa13_0(active0, 0x80000L);
384: case 73:
385: return jjMoveStringLiteralDfa13_0(active0, 0x10000L);
386: default:
387: break;
388: }
389: return jjStartNfa_0(11, active0);
390: }
391:
392: private final int jjMoveStringLiteralDfa13_0(long old0, long active0) {
393: if (((active0 &= old0)) == 0L)
394: return jjStartNfa_0(11, old0);
395: try {
396: curChar = input_stream.readChar();
397: } catch (java.io.IOException e) {
398: jjStopStringLiteralDfa_0(12, active0);
399: return 13;
400: }
401: switch (curChar) {
402: case 67:
403: return jjMoveStringLiteralDfa14_0(active0, 0x80000L);
404: case 78:
405: return jjMoveStringLiteralDfa14_0(active0, 0x10000L);
406: default:
407: break;
408: }
409: return jjStartNfa_0(12, active0);
410: }
411:
412: private final int jjMoveStringLiteralDfa14_0(long old0, long active0) {
413: if (((active0 &= old0)) == 0L)
414: return jjStartNfa_0(12, old0);
415: try {
416: curChar = input_stream.readChar();
417: } catch (java.io.IOException e) {
418: jjStopStringLiteralDfa_0(13, active0);
419: return 14;
420: }
421: switch (curChar) {
422: case 71:
423: if ((active0 & 0x10000L) != 0L)
424: return jjStopAtPos(14, 16);
425: break;
426: case 84:
427: return jjMoveStringLiteralDfa15_0(active0, 0x80000L);
428: default:
429: break;
430: }
431: return jjStartNfa_0(13, active0);
432: }
433:
434: private final int jjMoveStringLiteralDfa15_0(long old0, long active0) {
435: if (((active0 &= old0)) == 0L)
436: return jjStartNfa_0(13, old0);
437: try {
438: curChar = input_stream.readChar();
439: } catch (java.io.IOException e) {
440: jjStopStringLiteralDfa_0(14, active0);
441: return 15;
442: }
443: switch (curChar) {
444: case 73:
445: return jjMoveStringLiteralDfa16_0(active0, 0x80000L);
446: default:
447: break;
448: }
449: return jjStartNfa_0(14, active0);
450: }
451:
452: private final int jjMoveStringLiteralDfa16_0(long old0, long active0) {
453: if (((active0 &= old0)) == 0L)
454: return jjStartNfa_0(14, old0);
455: try {
456: curChar = input_stream.readChar();
457: } catch (java.io.IOException e) {
458: jjStopStringLiteralDfa_0(15, active0);
459: return 16;
460: }
461: switch (curChar) {
462: case 79:
463: return jjMoveStringLiteralDfa17_0(active0, 0x80000L);
464: default:
465: break;
466: }
467: return jjStartNfa_0(15, active0);
468: }
469:
470: private final int jjMoveStringLiteralDfa17_0(long old0, long active0) {
471: if (((active0 &= old0)) == 0L)
472: return jjStartNfa_0(15, old0);
473: try {
474: curChar = input_stream.readChar();
475: } catch (java.io.IOException e) {
476: jjStopStringLiteralDfa_0(16, active0);
477: return 17;
478: }
479: switch (curChar) {
480: case 78:
481: if ((active0 & 0x80000L) != 0L)
482: return jjStopAtPos(17, 19);
483: break;
484: default:
485: break;
486: }
487: return jjStartNfa_0(16, active0);
488: }
489:
490: private final void jjCheckNAdd(int state) {
491: if (jjrounds[state] != jjround) {
492: jjstateSet[jjnewStateCnt++] = state;
493: jjrounds[state] = jjround;
494: }
495: }
496:
497: private final void jjAddStates(int start, int end) {
498: do {
499: jjstateSet[jjnewStateCnt++] = jjnextStates[start];
500: } while (start++ != end);
501: }
502:
503: private final void jjCheckNAddTwoStates(int state1, int state2) {
504: jjCheckNAdd(state1);
505: jjCheckNAdd(state2);
506: }
507:
508: private final void jjCheckNAddStates(int start, int end) {
509: do {
510: jjCheckNAdd(jjnextStates[start]);
511: } while (start++ != end);
512: }
513:
514: private final void jjCheckNAddStates(int start) {
515: jjCheckNAdd(jjnextStates[start]);
516: jjCheckNAdd(jjnextStates[start + 1]);
517: }
518:
519: private final int jjMoveNfa_0(int startState, int curPos) {
520: int[] nextStates;
521: int startsAt = 0;
522: jjnewStateCnt = 50;
523: int i = 1;
524: jjstateSet[0] = startState;
525: int j, kind = 0x7fffffff;
526: for (;;) {
527: if (++jjround == 0x7fffffff)
528: ReInitRounds();
529: if (curChar < 64) {
530: long l = 1L << curChar;
531: MatchLoop: do {
532: switch (jjstateSet[--i]) {
533: case 0:
534: if ((0x3ff000000000000L & l) != 0L) {
535: if (kind > 1)
536: kind = 1;
537: jjCheckNAddStates(0, 14);
538: } else if ((0x280000000000L & l) != 0L)
539: jjAddStates(15, 18);
540: else if (curChar == 46)
541: jjCheckNAddStates(19, 22);
542: break;
543: case 1:
544: if (curChar == 46)
545: jjCheckNAddTwoStates(2, 23);
546: break;
547: case 2:
548: if ((0x3ff000000000000L & l) != 0L)
549: jjCheckNAddStates(23, 25);
550: break;
551: case 4:
552: if ((0x280000000000L & l) != 0L)
553: jjCheckNAdd(5);
554: break;
555: case 5:
556: if ((0x3ff000000000000L & l) != 0L)
557: jjCheckNAddTwoStates(5, 6);
558: break;
559: case 6:
560: if (curChar == 32)
561: jjCheckNAddStates(26, 29);
562: break;
563: case 7:
564: if ((0x280000000000L & l) != 0L)
565: jjCheckNAddTwoStates(8, 14);
566: break;
567: case 8:
568: if (curChar == 46)
569: jjCheckNAddTwoStates(9, 13);
570: break;
571: case 9:
572: if ((0x3ff000000000000L & l) == 0L)
573: break;
574: if (kind > 5)
575: kind = 5;
576: jjCheckNAddTwoStates(9, 10);
577: break;
578: case 11:
579: if ((0x280000000000L & l) != 0L)
580: jjCheckNAdd(12);
581: break;
582: case 12:
583: if ((0x3ff000000000000L & l) == 0L)
584: break;
585: if (kind > 5)
586: kind = 5;
587: jjCheckNAdd(12);
588: break;
589: case 13:
590: if ((0x3ff000000000000L & l) == 0L)
591: break;
592: if (kind > 5)
593: kind = 5;
594: jjCheckNAdd(13);
595: break;
596: case 14:
597: if ((0x3ff000000000000L & l) == 0L)
598: break;
599: if (kind > 5)
600: kind = 5;
601: jjCheckNAddStates(30, 36);
602: break;
603: case 15:
604: if ((0x3ff000000000000L & l) == 0L)
605: break;
606: if (kind > 5)
607: kind = 5;
608: jjCheckNAddTwoStates(15, 10);
609: break;
610: case 16:
611: if ((0x3ff000000000000L & l) == 0L)
612: break;
613: if (kind > 5)
614: kind = 5;
615: jjCheckNAddStates(37, 39);
616: break;
617: case 17:
618: if (curChar == 46)
619: jjCheckNAdd(18);
620: break;
621: case 18:
622: if ((0x3ff000000000000L & l) == 0L)
623: break;
624: if (kind > 5)
625: kind = 5;
626: jjCheckNAddTwoStates(18, 10);
627: break;
628: case 19:
629: if ((0x3ff000000000000L & l) == 0L)
630: break;
631: if (kind > 5)
632: kind = 5;
633: jjCheckNAddTwoStates(19, 20);
634: break;
635: case 20:
636: if (curChar == 46)
637: jjCheckNAdd(21);
638: break;
639: case 21:
640: if ((0x3ff000000000000L & l) == 0L)
641: break;
642: if (kind > 5)
643: kind = 5;
644: jjCheckNAdd(21);
645: break;
646: case 22:
647: if ((0x3ff000000000000L & l) == 0L)
648: break;
649: if (kind > 5)
650: kind = 5;
651: jjCheckNAdd(22);
652: break;
653: case 23:
654: if ((0x3ff000000000000L & l) != 0L)
655: jjCheckNAddTwoStates(23, 6);
656: break;
657: case 24:
658: if ((0x3ff000000000000L & l) != 0L)
659: jjCheckNAddStates(40, 47);
660: break;
661: case 25:
662: if ((0x3ff000000000000L & l) != 0L)
663: jjCheckNAddStates(48, 50);
664: break;
665: case 26:
666: if ((0x3ff000000000000L & l) != 0L)
667: jjCheckNAddStates(51, 54);
668: break;
669: case 27:
670: if (curChar == 46)
671: jjCheckNAdd(28);
672: break;
673: case 28:
674: if ((0x3ff000000000000L & l) != 0L)
675: jjCheckNAddStates(55, 57);
676: break;
677: case 29:
678: if ((0x3ff000000000000L & l) != 0L)
679: jjCheckNAddStates(58, 60);
680: break;
681: case 30:
682: if (curChar == 46)
683: jjCheckNAdd(31);
684: break;
685: case 31:
686: if ((0x3ff000000000000L & l) != 0L)
687: jjCheckNAddTwoStates(31, 6);
688: break;
689: case 32:
690: if ((0x3ff000000000000L & l) != 0L)
691: jjCheckNAddTwoStates(32, 6);
692: break;
693: case 33:
694: if (curChar == 46)
695: jjCheckNAddTwoStates(34, 38);
696: break;
697: case 34:
698: if ((0x3ff000000000000L & l) == 0L)
699: break;
700: if (kind > 1)
701: kind = 1;
702: jjCheckNAddTwoStates(34, 35);
703: break;
704: case 36:
705: if ((0x280000000000L & l) != 0L)
706: jjCheckNAdd(37);
707: break;
708: case 37:
709: if ((0x3ff000000000000L & l) == 0L)
710: break;
711: if (kind > 1)
712: kind = 1;
713: jjCheckNAdd(37);
714: break;
715: case 38:
716: if ((0x3ff000000000000L & l) == 0L)
717: break;
718: if (kind > 1)
719: kind = 1;
720: jjCheckNAdd(38);
721: break;
722: case 39:
723: if ((0x3ff000000000000L & l) == 0L)
724: break;
725: if (kind > 1)
726: kind = 1;
727: jjCheckNAddStates(61, 67);
728: break;
729: case 40:
730: if ((0x3ff000000000000L & l) == 0L)
731: break;
732: if (kind > 1)
733: kind = 1;
734: jjCheckNAddTwoStates(40, 35);
735: break;
736: case 41:
737: if ((0x3ff000000000000L & l) == 0L)
738: break;
739: if (kind > 1)
740: kind = 1;
741: jjCheckNAddStates(68, 70);
742: break;
743: case 42:
744: if (curChar == 46)
745: jjCheckNAdd(43);
746: break;
747: case 43:
748: if ((0x3ff000000000000L & l) == 0L)
749: break;
750: if (kind > 1)
751: kind = 1;
752: jjCheckNAddTwoStates(43, 35);
753: break;
754: case 44:
755: if ((0x3ff000000000000L & l) == 0L)
756: break;
757: if (kind > 1)
758: kind = 1;
759: jjCheckNAddTwoStates(44, 45);
760: break;
761: case 45:
762: if (curChar == 46)
763: jjCheckNAdd(46);
764: break;
765: case 46:
766: if ((0x3ff000000000000L & l) == 0L)
767: break;
768: if (kind > 1)
769: kind = 1;
770: jjCheckNAdd(46);
771: break;
772: case 47:
773: if ((0x3ff000000000000L & l) == 0L)
774: break;
775: if (kind > 1)
776: kind = 1;
777: jjCheckNAdd(47);
778: break;
779: case 48:
780: if (curChar == 46)
781: jjCheckNAddStates(19, 22);
782: break;
783: case 49:
784: if ((0x3ff000000000000L & l) == 0L)
785: break;
786: if (kind > 1)
787: kind = 1;
788: jjCheckNAddStates(0, 14);
789: break;
790: default:
791: break;
792: }
793: } while (i != startsAt);
794: } else if (curChar < 128) {
795: long l = 1L << (curChar & 077);
796: MatchLoop: do {
797: switch (jjstateSet[--i]) {
798: case 3:
799: if ((0x2000000020L & l) != 0L)
800: jjAddStates(71, 72);
801: break;
802: case 10:
803: if ((0x2000000020L & l) != 0L)
804: jjAddStates(73, 74);
805: break;
806: case 35:
807: if ((0x2000000020L & l) != 0L)
808: jjAddStates(75, 76);
809: break;
810: default:
811: break;
812: }
813: } while (i != startsAt);
814: } else {
815: int i2 = (curChar & 0xff) >> 6;
816: long l2 = 1L << (curChar & 077);
817: MatchLoop: do {
818: switch (jjstateSet[--i]) {
819: default:
820: break;
821: }
822: } while (i != startsAt);
823: }
824: if (kind != 0x7fffffff) {
825: jjmatchedKind = kind;
826: jjmatchedPos = curPos;
827: kind = 0x7fffffff;
828: }
829: ++curPos;
830: if ((i = jjnewStateCnt) == (startsAt = 50 - (jjnewStateCnt = startsAt)))
831: return curPos;
832: try {
833: curChar = input_stream.readChar();
834: } catch (java.io.IOException e) {
835: return curPos;
836: }
837: }
838: }
839:
840: static final int[] jjnextStates = { 40, 41, 42, 35, 44, 45, 47, 25,
841: 26, 27, 3, 29, 30, 32, 6, 1, 24, 33, 39, 34, 38, 2, 23, 2,
842: 3, 6, 6, 7, 8, 14, 15, 16, 17, 10, 19, 20, 22, 16, 17, 10,
843: 25, 26, 27, 3, 29, 30, 32, 6, 25, 3, 6, 26, 27, 3, 6, 28,
844: 3, 6, 29, 30, 6, 40, 41, 42, 35, 44, 45, 47, 41, 42, 35, 4,
845: 5, 11, 12, 36, 37, };
846: public static final String[] jjstrLiteralImages = {
847: "",
848: null,
849: null,
850: null,
851: null,
852: null,
853: "\12",
854: null,
855: null,
856: "\50",
857: "\51",
858: "\105\115\120\124\131",
859: "\54",
860: "\120\117\111\116\124",
861: "\114\111\116\105\123\124\122\111\116\107",
862: "\115\125\114\124\111\120\117\111\116\124",
863: "\115\125\114\124\111\114\111\116\105\123\124\122\111\116\107",
864: "\120\117\114\131\107\117\116",
865: "\115\125\114\124\111\120\117\114\131\107\117\116",
866: "\107\105\117\115\105\124\122\131\103\117\114\114\105\103\124\111\117\116", };
867: public static final String[] lexStateNames = { "DEFAULT", };
868: static final long[] jjtoToken = { 0xffe63L, };
869: static final long[] jjtoSkip = { 0x180L, };
870: private SimpleCharStream input_stream;
871: private final int[] jjrounds = new int[50];
872: private final int[] jjstateSet = new int[100];
873: protected char curChar;
874:
875: public WktAwtTokenManager(SimpleCharStream stream) {
876: if (SimpleCharStream.staticFlag)
877: throw new Error(
878: "ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
879: input_stream = stream;
880: }
881:
882: public WktAwtTokenManager(SimpleCharStream stream, int lexState) {
883: this (stream);
884: SwitchTo(lexState);
885: }
886:
887: public void ReInit(SimpleCharStream stream) {
888: jjmatchedPos = jjnewStateCnt = 0;
889: curLexState = defaultLexState;
890: input_stream = stream;
891: ReInitRounds();
892: }
893:
894: private final void ReInitRounds() {
895: int i;
896: jjround = 0x80000001;
897: for (i = 50; i-- > 0;)
898: jjrounds[i] = 0x80000000;
899: }
900:
901: public void ReInit(SimpleCharStream stream, int lexState) {
902: ReInit(stream);
903: SwitchTo(lexState);
904: }
905:
906: public void SwitchTo(int lexState) {
907: if (lexState >= 1 || lexState < 0)
908: throw new TokenMgrError(
909: "Error: Ignoring invalid lexical state : "
910: + lexState + ". State unchanged.",
911: TokenMgrError.INVALID_LEXICAL_STATE);
912: else
913: curLexState = lexState;
914: }
915:
916: private final Token jjFillToken() {
917: Token t = Token.newToken(jjmatchedKind);
918: t.kind = jjmatchedKind;
919: String im = jjstrLiteralImages[jjmatchedKind];
920: t.image = (im == null) ? input_stream.GetImage() : im;
921: t.beginLine = input_stream.getBeginLine();
922: t.beginColumn = input_stream.getBeginColumn();
923: t.endLine = input_stream.getEndLine();
924: t.endColumn = input_stream.getEndColumn();
925: return t;
926: }
927:
928: int curLexState = 0;
929: int defaultLexState = 0;
930: int jjnewStateCnt;
931: int jjround;
932: int jjmatchedPos;
933: int jjmatchedKind;
934:
935: public final Token getNextToken() {
936: int kind;
937: Token specialToken = null;
938: Token matchedToken;
939: int curPos = 0;
940:
941: EOFLoop: for (;;) {
942: try {
943: curChar = input_stream.BeginToken();
944: } catch (java.io.IOException e) {
945: jjmatchedKind = 0;
946: matchedToken = jjFillToken();
947: return matchedToken;
948: }
949:
950: try {
951: input_stream.backup(0);
952: while (curChar <= 32
953: && (0x100000200L & (1L << curChar)) != 0L)
954: curChar = input_stream.BeginToken();
955: } catch (java.io.IOException e1) {
956: continue EOFLoop;
957: }
958: jjmatchedKind = 0x7fffffff;
959: jjmatchedPos = 0;
960: curPos = jjMoveStringLiteralDfa0_0();
961: if (jjmatchedKind != 0x7fffffff) {
962: if (jjmatchedPos + 1 < curPos)
963: input_stream.backup(curPos - jjmatchedPos - 1);
964: if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
965: matchedToken = jjFillToken();
966: return matchedToken;
967: } else {
968: continue EOFLoop;
969: }
970: }
971: int error_line = input_stream.getEndLine();
972: int error_column = input_stream.getEndColumn();
973: String error_after = null;
974: boolean EOFSeen = false;
975: try {
976: input_stream.readChar();
977: input_stream.backup(1);
978: } catch (java.io.IOException e1) {
979: EOFSeen = true;
980: error_after = curPos <= 1 ? "" : input_stream
981: .GetImage();
982: if (curChar == '\n' || curChar == '\r') {
983: error_line++;
984: error_column = 0;
985: } else
986: error_column++;
987: }
988: if (!EOFSeen) {
989: input_stream.backup(1);
990: error_after = curPos <= 1 ? "" : input_stream
991: .GetImage();
992: }
993: throw new TokenMgrError(EOFSeen, curLexState, error_line,
994: error_column, error_after, curChar,
995: TokenMgrError.LEXICAL_ERROR);
996: }
997: }
998:
999: }
|