1 /* Generated By:JavaCC: Do not edit this line. DotParserTokenManager.java */
2 package org.simantics.graphviz.internal.parser;
5 @SuppressWarnings("all")
6 public class DotParserTokenManager implements DotParserConstants
10 public java.io.PrintStream debugStream = System.out;
11 /** Set debug output. */
12 public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
13 private final int jjStopStringLiteralDfa_0(int pos, long active0)
18 if ((active0 & 0x7e000L) != 0L)
23 if ((active0 & 0x60L) != 0L)
27 if ((active0 & 0x7e000L) != 0L)
35 if ((active0 & 0x7e000L) != 0L)
43 if ((active0 & 0x30000L) != 0L)
45 if ((active0 & 0x4e000L) != 0L)
53 if ((active0 & 0x46000L) != 0L)
59 if ((active0 & 0x8000L) != 0L)
63 if ((active0 & 0x40000L) != 0L)
65 if ((active0 & 0x6000L) != 0L)
73 if ((active0 & 0x4000L) != 0L)
75 if ((active0 & 0x2000L) != 0L)
86 private final int jjStartNfa_0(int pos, long active0)
88 return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
90 private int jjStopAtPos(int pos, int kind)
96 private int jjMoveStringLiteralDfa0_0()
101 return jjStopAtPos(0, 12);
103 return jjMoveStringLiteralDfa1_0(0x60L);
105 return jjStopAtPos(0, 7);
107 return jjStopAtPos(0, 19);
109 return jjStopAtPos(0, 4);
111 return jjStopAtPos(0, 10);
113 return jjStopAtPos(0, 11);
116 return jjMoveStringLiteralDfa1_0(0x4000L);
119 return jjMoveStringLiteralDfa1_0(0x20000L);
122 return jjMoveStringLiteralDfa1_0(0x8000L);
125 return jjMoveStringLiteralDfa1_0(0x10000L);
128 return jjMoveStringLiteralDfa1_0(0x42000L);
130 return jjStopAtPos(0, 8);
132 return jjStopAtPos(0, 9);
134 return jjMoveNfa_0(0, 0);
137 private int jjMoveStringLiteralDfa1_0(long active0)
139 try { curChar = input_stream.readChar(); }
140 catch(java.io.IOException e) {
141 jjStopStringLiteralDfa_0(0, active0);
147 if ((active0 & 0x40L) != 0L)
148 return jjStopAtPos(1, 6);
151 if ((active0 & 0x20L) != 0L)
152 return jjStopAtPos(1, 5);
156 return jjMoveStringLiteralDfa2_0(active0, 0x20000L);
159 return jjMoveStringLiteralDfa2_0(active0, 0x4000L);
162 return jjMoveStringLiteralDfa2_0(active0, 0x10000L);
165 return jjMoveStringLiteralDfa2_0(active0, 0x8000L);
168 return jjMoveStringLiteralDfa2_0(active0, 0x40000L);
171 return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
175 return jjStartNfa_0(0, active0);
177 private int jjMoveStringLiteralDfa2_0(long old0, long active0)
179 if (((active0 &= old0)) == 0L)
180 return jjStartNfa_0(0, old0);
181 try { curChar = input_stream.readChar(); }
182 catch(java.io.IOException e) {
183 jjStopStringLiteralDfa_0(1, active0);
190 return jjMoveStringLiteralDfa3_0(active0, 0x8000L);
193 return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
196 return jjMoveStringLiteralDfa3_0(active0, 0x10000L);
199 return jjMoveStringLiteralDfa3_0(active0, 0x24000L);
202 return jjMoveStringLiteralDfa3_0(active0, 0x40000L);
206 return jjStartNfa_0(1, active0);
208 private int jjMoveStringLiteralDfa3_0(long old0, long active0)
210 if (((active0 &= old0)) == 0L)
211 return jjStartNfa_0(1, old0);
212 try { curChar = input_stream.readChar(); }
213 catch(java.io.IOException e) {
214 jjStopStringLiteralDfa_0(2, active0);
221 if ((active0 & 0x10000L) != 0L)
222 return jjStartNfaWithStates_0(3, 16, 18);
223 else if ((active0 & 0x20000L) != 0L)
224 return jjStartNfaWithStates_0(3, 17, 18);
228 return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
231 return jjMoveStringLiteralDfa4_0(active0, 0x40000L);
234 return jjMoveStringLiteralDfa4_0(active0, 0x8000L);
237 return jjMoveStringLiteralDfa4_0(active0, 0x4000L);
241 return jjStartNfa_0(2, active0);
243 private int jjMoveStringLiteralDfa4_0(long old0, long active0)
245 if (((active0 &= old0)) == 0L)
246 return jjStartNfa_0(2, old0);
247 try { curChar = input_stream.readChar(); }
248 catch(java.io.IOException e) {
249 jjStopStringLiteralDfa_0(3, active0);
256 return jjMoveStringLiteralDfa5_0(active0, 0x4000L);
259 return jjMoveStringLiteralDfa5_0(active0, 0x40000L);
262 if ((active0 & 0x8000L) != 0L)
263 return jjStartNfaWithStates_0(4, 15, 18);
267 return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
271 return jjStartNfa_0(3, active0);
273 private int jjMoveStringLiteralDfa5_0(long old0, long active0)
275 if (((active0 &= old0)) == 0L)
276 return jjStartNfa_0(3, old0);
277 try { curChar = input_stream.readChar(); }
278 catch(java.io.IOException e) {
279 jjStopStringLiteralDfa_0(4, active0);
286 return jjMoveStringLiteralDfa6_0(active0, 0x2000L);
289 return jjMoveStringLiteralDfa6_0(active0, 0x4000L);
292 if ((active0 & 0x40000L) != 0L)
293 return jjStartNfaWithStates_0(5, 18, 18);
298 return jjStartNfa_0(4, active0);
300 private int jjMoveStringLiteralDfa6_0(long old0, long active0)
302 if (((active0 &= old0)) == 0L)
303 return jjStartNfa_0(4, old0);
304 try { curChar = input_stream.readChar(); }
305 catch(java.io.IOException e) {
306 jjStopStringLiteralDfa_0(5, active0);
313 if ((active0 & 0x4000L) != 0L)
314 return jjStartNfaWithStates_0(6, 14, 18);
318 return jjMoveStringLiteralDfa7_0(active0, 0x2000L);
322 return jjStartNfa_0(5, active0);
324 private int jjMoveStringLiteralDfa7_0(long old0, long active0)
326 if (((active0 &= old0)) == 0L)
327 return jjStartNfa_0(5, old0);
328 try { curChar = input_stream.readChar(); }
329 catch(java.io.IOException e) {
330 jjStopStringLiteralDfa_0(6, active0);
337 if ((active0 & 0x2000L) != 0L)
338 return jjStartNfaWithStates_0(7, 13, 18);
343 return jjStartNfa_0(6, active0);
345 private int jjStartNfaWithStates_0(int pos, int kind, int state)
347 jjmatchedKind = kind;
349 try { curChar = input_stream.readChar(); }
350 catch(java.io.IOException e) { return pos + 1; }
351 return jjMoveNfa_0(state, pos + 1);
353 static final long[] jjbitVec0 = {
354 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
356 private int jjMoveNfa_0(int startState, int curPos)
361 jjstateSet[0] = startState;
362 int kind = 0x7fffffff;
365 if (++jjround == 0x7fffffff)
369 long l = 1L << curChar;
372 switch(jjstateSet[--i])
375 if ((0x3ff000000000000L & l) != 0L)
379 jjCheckNAddTwoStates(22, 23);
381 else if ((0x100002600L & l) != 0L)
386 else if (curChar == 47)
388 else if (curChar == 46)
390 else if (curChar == 45)
391 jjCheckNAddTwoStates(20, 22);
392 else if (curChar == 60)
393 jjCheckNAddStates(2, 4);
394 else if (curChar == 34)
395 jjCheckNAddStates(5, 7);
398 if ((0x3ff000000000000L & l) != 0L)
402 jjCheckNAddTwoStates(22, 23);
404 else if (curChar == 46)
409 jjCheckNAddStates(5, 7);
412 if ((0xfffffffbffffffffL & l) != 0L)
413 jjCheckNAddStates(5, 7);
416 jjCheckNAddStates(5, 7);
419 if (curChar == 34 && kind > 20)
424 jjCheckNAddStates(2, 4);
427 if ((0xafffffffffffffffL & l) != 0L)
428 jjCheckNAddStates(2, 4);
432 jjCheckNAddStates(8, 10);
435 if ((0xaffffffbffffffffL & l) != 0L)
436 jjCheckNAddStates(8, 10);
440 jjCheckNAddStates(11, 13);
443 if ((0xfffffffbffffffffL & l) != 0L)
444 jjCheckNAddStates(11, 13);
447 jjCheckNAddStates(11, 13);
451 jjCheckNAddStates(8, 10);
455 jjCheckNAddStates(2, 4);
458 if (curChar == 62 && kind > 21)
462 if ((0x7ff000000000000L & l) == 0L)
466 jjstateSet[jjnewStateCnt++] = 18;
470 jjCheckNAddTwoStates(20, 22);
477 if ((0x3ff000000000000L & l) == 0L)
484 if ((0x3ff000000000000L & l) == 0L)
488 jjCheckNAddTwoStates(22, 23);
498 if ((0x3ff000000000000L & l) == 0L)
510 jjCheckNAddStates(14, 16);
513 if ((0xfffffbffffffffffL & l) != 0L)
514 jjCheckNAddStates(14, 16);
518 jjstateSet[jjnewStateCnt++] = 29;
521 if ((0xffff7fffffffffffL & l) != 0L)
522 jjCheckNAddStates(14, 16);
525 if (curChar == 47 && kind > 2)
530 jjstateSet[jjnewStateCnt++] = 30;
540 if ((0xfffffffffffffbffL & l) == 0L)
548 } while(i != startsAt);
550 else if (curChar < 128)
552 long l = 1L << (curChar & 077);
555 switch(jjstateSet[--i])
559 if ((0x7fffffe87fffffeL & l) == 0L)
566 if ((0xffffffffefffffffL & l) != 0L)
567 jjCheckNAddStates(5, 7);
571 jjstateSet[jjnewStateCnt++] = 4;
574 jjCheckNAddStates(5, 7);
583 if ((0xffffffffefffffffL & l) != 0L)
584 jjCheckNAddStates(11, 13);
588 jjstateSet[jjnewStateCnt++] = 13;
591 jjCheckNAddStates(11, 13);
595 jjCheckNAddStates(14, 16);
600 jjstateSet[jjnewStateCnt++] = 33;
604 } while(i != startsAt);
608 int i2 = (curChar & 0xff) >> 6;
609 long l2 = 1L << (curChar & 077);
612 switch(jjstateSet[--i])
616 if ((jjbitVec0[i2] & l2) != 0L)
617 jjCheckNAddStates(5, 7);
620 if ((jjbitVec0[i2] & l2) != 0L)
624 if ((jjbitVec0[i2] & l2) != 0L)
629 if ((jjbitVec0[i2] & l2) != 0L)
630 jjCheckNAddStates(11, 13);
634 if ((jjbitVec0[i2] & l2) != 0L)
635 jjCheckNAddStates(14, 16);
638 if ((jjbitVec0[i2] & l2) == 0L)
642 jjstateSet[jjnewStateCnt++] = 33;
646 } while(i != startsAt);
648 if (kind != 0x7fffffff)
650 jjmatchedKind = kind;
651 jjmatchedPos = curPos;
655 if ((i = jjnewStateCnt) == (startsAt = 34 - (jjnewStateCnt = startsAt)))
657 try { curChar = input_stream.readChar(); }
658 catch(java.io.IOException e) { return curPos; }
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. */
667 public static final String[] jjstrLiteralImages = {
668 "", null, null, null, "\75", "\55\76", "\55\55", "\72", "\173", "\175",
669 "\133", "\135", "\54", null, null, null, null, null, null, "\73", null, null, null,
672 /** Lexer state names. */
673 public static final String[] lexStateNames = {
676 static final long[] jjtoToken = {
679 static final long[] jjtoSkip = {
682 protected SimpleCharStream input_stream;
683 private final int[] jjrounds = new int[34];
684 private final int[] jjstateSet = new int[68];
685 private final StringBuilder jjimage = new StringBuilder();
686 private StringBuilder image = jjimage;
687 private int jjimageLen;
688 private int lengthOfMatch;
689 protected char curChar;
691 public DotParserTokenManager(SimpleCharStream stream){
692 if (SimpleCharStream.staticFlag)
693 throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
694 input_stream = stream;
698 public DotParserTokenManager(SimpleCharStream stream, int lexState){
703 /** Reinitialise parser. */
704 public void ReInit(SimpleCharStream stream)
706 jjmatchedPos = jjnewStateCnt = 0;
707 curLexState = defaultLexState;
708 input_stream = stream;
711 private void ReInitRounds()
714 jjround = 0x80000001;
715 for (i = 34; i-- > 0;)
716 jjrounds[i] = 0x80000000;
719 /** Reinitialise parser. */
720 public void ReInit(SimpleCharStream stream, int lexState)
726 /** Switch to specified lex state. */
727 public void SwitchTo(int lexState)
729 if (lexState >= 1 || lexState < 0)
730 throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
732 curLexState = lexState;
735 protected Token jjFillToken()
738 final String curTokenImage;
741 final int beginColumn;
743 String im = jjstrLiteralImages[jjmatchedKind];
744 curTokenImage = (im == null) ? input_stream.GetImage() : im;
745 beginLine = input_stream.getBeginLine();
746 beginColumn = input_stream.getBeginColumn();
747 endLine = input_stream.getEndLine();
748 endColumn = input_stream.getEndColumn();
749 t = Token.newToken(jjmatchedKind, curTokenImage);
751 t.beginLine = beginLine;
753 t.beginColumn = beginColumn;
754 t.endColumn = endColumn;
760 int defaultLexState = 0;
766 /** Get the next Token. */
767 public Token getNextToken()
777 curChar = input_stream.BeginToken();
779 catch(java.io.IOException e)
782 matchedToken = jjFillToken();
789 jjmatchedKind = 0x7fffffff;
791 curPos = jjMoveStringLiteralDfa0_0();
792 if (jjmatchedKind != 0x7fffffff)
794 if (jjmatchedPos + 1 < curPos)
795 input_stream.backup(curPos - jjmatchedPos - 1);
796 if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
798 matchedToken = jjFillToken();
799 TokenLexicalActions(matchedToken);
807 int error_line = input_stream.getEndLine();
808 int error_column = input_stream.getEndColumn();
809 String error_after = null;
810 boolean EOFSeen = false;
811 try { input_stream.readChar(); input_stream.backup(1); }
812 catch (java.io.IOException e1) {
814 error_after = curPos <= 1 ? "" : input_stream.GetImage();
815 if (curChar == '\n' || curChar == '\r') {
823 input_stream.backup(1);
824 error_after = curPos <= 1 ? "" : input_stream.GetImage();
826 throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
830 void TokenLexicalActions(Token matchedToken)
832 switch(jjmatchedKind)
835 image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
836 matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1);
842 private void jjCheckNAdd(int state)
844 if (jjrounds[state] != jjround)
846 jjstateSet[jjnewStateCnt++] = state;
847 jjrounds[state] = jjround;
850 private void jjAddStates(int start, int end)
853 jjstateSet[jjnewStateCnt++] = jjnextStates[start];
854 } while (start++ != end);
856 private void jjCheckNAddTwoStates(int state1, int state2)
862 private void jjCheckNAddStates(int start, int end)
865 jjCheckNAdd(jjnextStates[start]);
866 } while (start++ != end);