1 /* Generated By:JavaCC: Do not edit this line. DotParserTokenManager.java */
\r
2 package org.simantics.graphviz.internal.parser;
\r
4 /** Token Manager. */
\r
5 @SuppressWarnings("all")
\r
6 public class DotParserTokenManager implements DotParserConstants
\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)
18 if ((active0 & 0x7e000L) != 0L)
\r
23 if ((active0 & 0x60L) != 0L)
\r
27 if ((active0 & 0x7e000L) != 0L)
\r
35 if ((active0 & 0x7e000L) != 0L)
\r
43 if ((active0 & 0x30000L) != 0L)
\r
45 if ((active0 & 0x4e000L) != 0L)
\r
53 if ((active0 & 0x46000L) != 0L)
\r
59 if ((active0 & 0x8000L) != 0L)
\r
63 if ((active0 & 0x40000L) != 0L)
\r
65 if ((active0 & 0x6000L) != 0L)
\r
73 if ((active0 & 0x4000L) != 0L)
\r
75 if ((active0 & 0x2000L) != 0L)
\r
86 private final int jjStartNfa_0(int pos, long active0)
88 return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
\r
90 private int jjStopAtPos(int pos, int kind)
\r
92 jjmatchedKind = kind;
\r
96 private int jjMoveStringLiteralDfa0_0()
\r
101 return jjStopAtPos(0, 12);
\r
103 return jjMoveStringLiteralDfa1_0(0x60L);
\r
105 return jjStopAtPos(0, 7);
\r
107 return jjStopAtPos(0, 19);
\r
109 return jjStopAtPos(0, 4);
\r
111 return jjStopAtPos(0, 10);
\r
113 return jjStopAtPos(0, 11);
\r
116 return jjMoveStringLiteralDfa1_0(0x4000L);
\r
119 return jjMoveStringLiteralDfa1_0(0x20000L);
\r
122 return jjMoveStringLiteralDfa1_0(0x8000L);
\r
125 return jjMoveStringLiteralDfa1_0(0x10000L);
\r
128 return jjMoveStringLiteralDfa1_0(0x42000L);
\r
130 return jjStopAtPos(0, 8);
\r
132 return jjStopAtPos(0, 9);
\r
134 return jjMoveNfa_0(0, 0);
\r
137 private int jjMoveStringLiteralDfa1_0(long active0)
\r
139 try { curChar = input_stream.readChar(); }
\r
140 catch(java.io.IOException e) {
\r
141 jjStopStringLiteralDfa_0(0, active0);
\r
147 if ((active0 & 0x40L) != 0L)
\r
148 return jjStopAtPos(1, 6);
\r
151 if ((active0 & 0x20L) != 0L)
\r
152 return jjStopAtPos(1, 5);
\r
156 return jjMoveStringLiteralDfa2_0(active0, 0x20000L);
\r
159 return jjMoveStringLiteralDfa2_0(active0, 0x4000L);
\r
162 return jjMoveStringLiteralDfa2_0(active0, 0x10000L);
\r
165 return jjMoveStringLiteralDfa2_0(active0, 0x8000L);
\r
168 return jjMoveStringLiteralDfa2_0(active0, 0x40000L);
\r
171 return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
\r
175 return jjStartNfa_0(0, active0);
\r
177 private int jjMoveStringLiteralDfa2_0(long old0, long active0)
\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
190 return jjMoveStringLiteralDfa3_0(active0, 0x8000L);
\r
193 return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
\r
196 return jjMoveStringLiteralDfa3_0(active0, 0x10000L);
\r
199 return jjMoveStringLiteralDfa3_0(active0, 0x24000L);
\r
202 return jjMoveStringLiteralDfa3_0(active0, 0x40000L);
\r
206 return jjStartNfa_0(1, active0);
\r
208 private int jjMoveStringLiteralDfa3_0(long old0, long active0)
\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
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
228 return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
\r
231 return jjMoveStringLiteralDfa4_0(active0, 0x40000L);
\r
234 return jjMoveStringLiteralDfa4_0(active0, 0x8000L);
\r
237 return jjMoveStringLiteralDfa4_0(active0, 0x4000L);
\r
241 return jjStartNfa_0(2, active0);
\r
243 private int jjMoveStringLiteralDfa4_0(long old0, long active0)
\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
256 return jjMoveStringLiteralDfa5_0(active0, 0x4000L);
\r
259 return jjMoveStringLiteralDfa5_0(active0, 0x40000L);
\r
262 if ((active0 & 0x8000L) != 0L)
\r
263 return jjStartNfaWithStates_0(4, 15, 18);
\r
267 return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
\r
271 return jjStartNfa_0(3, active0);
\r
273 private int jjMoveStringLiteralDfa5_0(long old0, long active0)
\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
286 return jjMoveStringLiteralDfa6_0(active0, 0x2000L);
\r
289 return jjMoveStringLiteralDfa6_0(active0, 0x4000L);
\r
292 if ((active0 & 0x40000L) != 0L)
\r
293 return jjStartNfaWithStates_0(5, 18, 18);
\r
298 return jjStartNfa_0(4, active0);
\r
300 private int jjMoveStringLiteralDfa6_0(long old0, long active0)
\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
313 if ((active0 & 0x4000L) != 0L)
\r
314 return jjStartNfaWithStates_0(6, 14, 18);
\r
318 return jjMoveStringLiteralDfa7_0(active0, 0x2000L);
\r
322 return jjStartNfa_0(5, active0);
\r
324 private int jjMoveStringLiteralDfa7_0(long old0, long active0)
\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
337 if ((active0 & 0x2000L) != 0L)
\r
338 return jjStartNfaWithStates_0(7, 13, 18);
\r
343 return jjStartNfa_0(6, active0);
\r
345 private int jjStartNfaWithStates_0(int pos, int kind, int state)
\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
353 static final long[] jjbitVec0 = {
354 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
356 private int jjMoveNfa_0(int startState, int curPos)
\r
359 jjnewStateCnt = 34;
\r
361 jjstateSet[0] = startState;
\r
362 int kind = 0x7fffffff;
\r
365 if (++jjround == 0x7fffffff)
\r
369 long l = 1L << curChar;
\r
372 switch(jjstateSet[--i])
\r
375 if ((0x3ff000000000000L & l) != 0L)
\r
379 jjCheckNAddTwoStates(22, 23);
\r
381 else if ((0x100002600L & l) != 0L)
\r
386 else if (curChar == 47)
\r
388 else if (curChar == 46)
\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
398 if ((0x3ff000000000000L & l) != 0L)
\r
402 jjCheckNAddTwoStates(22, 23);
\r
404 else if (curChar == 46)
\r
409 jjCheckNAddStates(5, 7);
\r
412 if ((0xfffffffbffffffffL & l) != 0L)
\r
413 jjCheckNAddStates(5, 7);
\r
416 jjCheckNAddStates(5, 7);
\r
419 if (curChar == 34 && kind > 20)
\r
424 jjCheckNAddStates(2, 4);
\r
427 if ((0xafffffffffffffffL & l) != 0L)
\r
428 jjCheckNAddStates(2, 4);
\r
432 jjCheckNAddStates(8, 10);
\r
435 if ((0xaffffffbffffffffL & l) != 0L)
\r
436 jjCheckNAddStates(8, 10);
\r
440 jjCheckNAddStates(11, 13);
\r
443 if ((0xfffffffbffffffffL & l) != 0L)
\r
444 jjCheckNAddStates(11, 13);
\r
447 jjCheckNAddStates(11, 13);
\r
451 jjCheckNAddStates(8, 10);
\r
455 jjCheckNAddStates(2, 4);
\r
458 if (curChar == 62 && kind > 21)
\r
462 if ((0x7ff000000000000L & l) == 0L)
\r
466 jjstateSet[jjnewStateCnt++] = 18;
\r
470 jjCheckNAddTwoStates(20, 22);
\r
477 if ((0x3ff000000000000L & l) == 0L)
\r
484 if ((0x3ff000000000000L & l) == 0L)
\r
488 jjCheckNAddTwoStates(22, 23);
\r
498 if ((0x3ff000000000000L & l) == 0L)
\r
510 jjCheckNAddStates(14, 16);
\r
513 if ((0xfffffbffffffffffL & l) != 0L)
\r
514 jjCheckNAddStates(14, 16);
\r
518 jjstateSet[jjnewStateCnt++] = 29;
\r
521 if ((0xffff7fffffffffffL & l) != 0L)
\r
522 jjCheckNAddStates(14, 16);
\r
525 if (curChar == 47 && kind > 2)
\r
530 jjstateSet[jjnewStateCnt++] = 30;
\r
540 if ((0xfffffffffffffbffL & l) == 0L)
\r
548 } while(i != startsAt);
\r
550 else if (curChar < 128)
\r
552 long l = 1L << (curChar & 077);
\r
555 switch(jjstateSet[--i])
\r
559 if ((0x7fffffe87fffffeL & l) == 0L)
\r
566 if ((0xffffffffefffffffL & l) != 0L)
\r
567 jjCheckNAddStates(5, 7);
\r
571 jjstateSet[jjnewStateCnt++] = 4;
\r
574 jjCheckNAddStates(5, 7);
\r
580 jjAddStates(8, 10);
\r
583 if ((0xffffffffefffffffL & l) != 0L)
\r
584 jjCheckNAddStates(11, 13);
\r
588 jjstateSet[jjnewStateCnt++] = 13;
\r
591 jjCheckNAddStates(11, 13);
\r
595 jjCheckNAddStates(14, 16);
\r
600 jjstateSet[jjnewStateCnt++] = 33;
\r
604 } while(i != startsAt);
\r
608 int i2 = (curChar & 0xff) >> 6;
\r
609 long l2 = 1L << (curChar & 077);
\r
612 switch(jjstateSet[--i])
\r
616 if ((jjbitVec0[i2] & l2) != 0L)
\r
617 jjCheckNAddStates(5, 7);
\r
620 if ((jjbitVec0[i2] & l2) != 0L)
\r
624 if ((jjbitVec0[i2] & l2) != 0L)
\r
625 jjAddStates(8, 10);
\r
629 if ((jjbitVec0[i2] & l2) != 0L)
\r
630 jjCheckNAddStates(11, 13);
\r
634 if ((jjbitVec0[i2] & l2) != 0L)
\r
635 jjCheckNAddStates(14, 16);
\r
638 if ((jjbitVec0[i2] & l2) == 0L)
\r
642 jjstateSet[jjnewStateCnt++] = 33;
\r
646 } while(i != startsAt);
\r
648 if (kind != 0x7fffffff)
\r
650 jjmatchedKind = kind;
\r
651 jjmatchedPos = curPos;
\r
655 if ((i = jjnewStateCnt) == (startsAt = 34 - (jjnewStateCnt = startsAt)))
\r
657 try { curChar = input_stream.readChar(); }
\r
658 catch(java.io.IOException e) { return curPos; }
\r
661 static final int[] jjnextStates = {
662 26, 32, 7, 8, 16, 2, 3, 5, 9, 10, 15, 11, 12, 14, 27, 28,
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
672 /** Lexer state names. */
\r
673 public static final String[] lexStateNames = {
\r
676 static final long[] jjtoToken = {
679 static final long[] jjtoSkip = {
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
697 /** Constructor. */
\r
698 public DotParserTokenManager(SimpleCharStream stream, int lexState){
\r
700 SwitchTo(lexState);
\r
703 /** Reinitialise parser. */
\r
704 public void ReInit(SimpleCharStream stream)
\r
706 jjmatchedPos = jjnewStateCnt = 0;
\r
707 curLexState = defaultLexState;
\r
708 input_stream = stream;
\r
711 private void ReInitRounds()
\r
714 jjround = 0x80000001;
\r
715 for (i = 34; i-- > 0;)
\r
716 jjrounds[i] = 0x80000000;
\r
719 /** Reinitialise parser. */
\r
720 public void ReInit(SimpleCharStream stream, int lexState)
\r
723 SwitchTo(lexState);
\r
726 /** Switch to specified lex state. */
\r
727 public void SwitchTo(int lexState)
\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
732 curLexState = lexState;
\r
735 protected Token jjFillToken()
\r
738 final String curTokenImage;
\r
739 final int beginLine;
\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
751 t.beginLine = beginLine;
\r
752 t.endLine = endLine;
\r
753 t.beginColumn = beginColumn;
\r
754 t.endColumn = endColumn;
\r
759 int curLexState = 0;
\r
760 int defaultLexState = 0;
\r
766 /** Get the next Token. */
\r
767 public Token getNextToken()
\r
769 Token matchedToken;
\r
777 curChar = input_stream.BeginToken();
\r
779 catch(java.io.IOException e)
\r
782 matchedToken = jjFillToken();
\r
783 return matchedToken;
\r
786 image.setLength(0);
\r
789 jjmatchedKind = 0x7fffffff;
\r
791 curPos = jjMoveStringLiteralDfa0_0();
\r
792 if (jjmatchedKind != 0x7fffffff)
\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
798 matchedToken = jjFillToken();
\r
799 TokenLexicalActions(matchedToken);
\r
800 return matchedToken;
\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
814 error_after = curPos <= 1 ? "" : input_stream.GetImage();
\r
815 if (curChar == '\n' || curChar == '\r') {
\r
823 input_stream.backup(1);
\r
824 error_after = curPos <= 1 ? "" : input_stream.GetImage();
\r
826 throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
\r
830 void TokenLexicalActions(Token matchedToken)
\r
832 switch(jjmatchedKind)
\r
835 image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
\r
836 matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1);
\r
842 private void jjCheckNAdd(int state)
\r
844 if (jjrounds[state] != jjround)
\r
846 jjstateSet[jjnewStateCnt++] = state;
\r
847 jjrounds[state] = jjround;
\r
850 private void jjAddStates(int start, int end)
\r
853 jjstateSet[jjnewStateCnt++] = jjnextStates[start];
\r
854 } while (start++ != end);
\r
856 private void jjCheckNAddTwoStates(int state1, int state2)
\r
858 jjCheckNAdd(state1);
\r
859 jjCheckNAdd(state2);
\r
862 private void jjCheckNAddStates(int start, int end)
\r
865 jjCheckNAdd(jjnextStates[start]);
\r
866 } while (start++ != end);
\r