]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
diff --git a/bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/DotParserTokenManager.java b/bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/DotParserTokenManager.java
new file mode 100644 (file)
index 0000000..568f30c
--- /dev/null
@@ -0,0 +1,869 @@
+/* Generated By:JavaCC: Do not edit this line. DotParserTokenManager.java */\r
+package org.simantics.graphviz.internal.parser;\r
+\r
+/** Token Manager. */\r
+@SuppressWarnings("all")\r
+public class DotParserTokenManager implements DotParserConstants\r
+{\r
+\r
+  /** Debug output. */\r
+  public  java.io.PrintStream debugStream = System.out;\r
+  /** Set debug output. */\r
+  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }\r
+private final int jjStopStringLiteralDfa_0(int pos, long active0)
+{\r
+   switch (pos)
+   {\r
+      case 0:\r
+         if ((active0 & 0x7e000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            return 18;\r
+         }\r
+         if ((active0 & 0x60L) != 0L)\r
+            return 34;\r
+         return -1;\r
+      case 1:\r
+         if ((active0 & 0x7e000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            jjmatchedPos = 1;\r
+            return 18;\r
+         }\r
+         return -1;\r
+      case 2:\r
+         if ((active0 & 0x7e000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            jjmatchedPos = 2;\r
+            return 18;\r
+         }\r
+         return -1;\r
+      case 3:\r
+         if ((active0 & 0x30000L) != 0L)\r
+            return 18;\r
+         if ((active0 & 0x4e000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            jjmatchedPos = 3;\r
+            return 18;\r
+         }\r
+         return -1;\r
+      case 4:\r
+         if ((active0 & 0x46000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            jjmatchedPos = 4;\r
+            return 18;\r
+         }\r
+         if ((active0 & 0x8000L) != 0L)\r
+            return 18;\r
+         return -1;\r
+      case 5:\r
+         if ((active0 & 0x40000L) != 0L)\r
+            return 18;\r
+         if ((active0 & 0x6000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            jjmatchedPos = 5;\r
+            return 18;\r
+         }\r
+         return -1;\r
+      case 6:\r
+         if ((active0 & 0x4000L) != 0L)\r
+            return 18;\r
+         if ((active0 & 0x2000L) != 0L)\r
+         {\r
+            jjmatchedKind = 22;\r
+            jjmatchedPos = 6;\r
+            return 18;\r
+         }\r
+         return -1;\r
+      default :\r
+         return -1;\r
+   }\r
+}\r
+private final int jjStartNfa_0(int pos, long active0)
+{\r
+   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);\r
+}\r
+private int jjStopAtPos(int pos, int kind)\r
+{\r
+   jjmatchedKind = kind;\r
+   jjmatchedPos = pos;\r
+   return pos + 1;\r
+}\r
+private int jjMoveStringLiteralDfa0_0()\r
+{\r
+   switch(curChar)\r
+   {\r
+      case 44:\r
+         return jjStopAtPos(0, 12);\r
+      case 45:\r
+         return jjMoveStringLiteralDfa1_0(0x60L);\r
+      case 58:\r
+         return jjStopAtPos(0, 7);\r
+      case 59:\r
+         return jjStopAtPos(0, 19);\r
+      case 61:\r
+         return jjStopAtPos(0, 4);\r
+      case 91:\r
+         return jjStopAtPos(0, 10);\r
+      case 93:\r
+         return jjStopAtPos(0, 11);\r
+      case 68:\r
+      case 100:\r
+         return jjMoveStringLiteralDfa1_0(0x4000L);\r
+      case 69:\r
+      case 101:\r
+         return jjMoveStringLiteralDfa1_0(0x20000L);\r
+      case 71:\r
+      case 103:\r
+         return jjMoveStringLiteralDfa1_0(0x8000L);\r
+      case 78:\r
+      case 110:\r
+         return jjMoveStringLiteralDfa1_0(0x10000L);\r
+      case 83:\r
+      case 115:\r
+         return jjMoveStringLiteralDfa1_0(0x42000L);\r
+      case 123:\r
+         return jjStopAtPos(0, 8);\r
+      case 125:\r
+         return jjStopAtPos(0, 9);\r
+      default :\r
+         return jjMoveNfa_0(0, 0);\r
+   }\r
+}\r
+private int jjMoveStringLiteralDfa1_0(long active0)\r
+{\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(0, active0);\r
+      return 1;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 45:\r
+         if ((active0 & 0x40L) != 0L)\r
+            return jjStopAtPos(1, 6);\r
+         break;\r
+      case 62:\r
+         if ((active0 & 0x20L) != 0L)\r
+            return jjStopAtPos(1, 5);\r
+         break;\r
+      case 68:\r
+      case 100:\r
+         return jjMoveStringLiteralDfa2_0(active0, 0x20000L);\r
+      case 73:\r
+      case 105:\r
+         return jjMoveStringLiteralDfa2_0(active0, 0x4000L);\r
+      case 79:\r
+      case 111:\r
+         return jjMoveStringLiteralDfa2_0(active0, 0x10000L);\r
+      case 82:\r
+      case 114:\r
+         return jjMoveStringLiteralDfa2_0(active0, 0x8000L);\r
+      case 84:\r
+      case 116:\r
+         return jjMoveStringLiteralDfa2_0(active0, 0x40000L);\r
+      case 85:\r
+      case 117:\r
+         return jjMoveStringLiteralDfa2_0(active0, 0x2000L);\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(0, active0);\r
+}\r
+private int jjMoveStringLiteralDfa2_0(long old0, long active0)\r
+{\r
+   if (((active0 &= old0)) == 0L)\r
+      return jjStartNfa_0(0, old0);\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(1, active0);\r
+      return 2;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 65:\r
+      case 97:\r
+         return jjMoveStringLiteralDfa3_0(active0, 0x8000L);\r
+      case 66:\r
+      case 98:\r
+         return jjMoveStringLiteralDfa3_0(active0, 0x2000L);\r
+      case 68:\r
+      case 100:\r
+         return jjMoveStringLiteralDfa3_0(active0, 0x10000L);\r
+      case 71:\r
+      case 103:\r
+         return jjMoveStringLiteralDfa3_0(active0, 0x24000L);\r
+      case 82:\r
+      case 114:\r
+         return jjMoveStringLiteralDfa3_0(active0, 0x40000L);\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(1, active0);\r
+}\r
+private int jjMoveStringLiteralDfa3_0(long old0, long active0)\r
+{\r
+   if (((active0 &= old0)) == 0L)\r
+      return jjStartNfa_0(1, old0);\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(2, active0);\r
+      return 3;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 69:\r
+      case 101:\r
+         if ((active0 & 0x10000L) != 0L)\r
+            return jjStartNfaWithStates_0(3, 16, 18);\r
+         else if ((active0 & 0x20000L) != 0L)\r
+            return jjStartNfaWithStates_0(3, 17, 18);\r
+         break;\r
+      case 71:\r
+      case 103:\r
+         return jjMoveStringLiteralDfa4_0(active0, 0x2000L);\r
+      case 73:\r
+      case 105:\r
+         return jjMoveStringLiteralDfa4_0(active0, 0x40000L);\r
+      case 80:\r
+      case 112:\r
+         return jjMoveStringLiteralDfa4_0(active0, 0x8000L);\r
+      case 82:\r
+      case 114:\r
+         return jjMoveStringLiteralDfa4_0(active0, 0x4000L);\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(2, active0);\r
+}\r
+private int jjMoveStringLiteralDfa4_0(long old0, long active0)\r
+{\r
+   if (((active0 &= old0)) == 0L)\r
+      return jjStartNfa_0(2, old0);\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(3, active0);\r
+      return 4;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 65:\r
+      case 97:\r
+         return jjMoveStringLiteralDfa5_0(active0, 0x4000L);\r
+      case 67:\r
+      case 99:\r
+         return jjMoveStringLiteralDfa5_0(active0, 0x40000L);\r
+      case 72:\r
+      case 104:\r
+         if ((active0 & 0x8000L) != 0L)\r
+            return jjStartNfaWithStates_0(4, 15, 18);\r
+         break;\r
+      case 82:\r
+      case 114:\r
+         return jjMoveStringLiteralDfa5_0(active0, 0x2000L);\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(3, active0);\r
+}\r
+private int jjMoveStringLiteralDfa5_0(long old0, long active0)\r
+{\r
+   if (((active0 &= old0)) == 0L)\r
+      return jjStartNfa_0(3, old0);\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(4, active0);\r
+      return 5;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 65:\r
+      case 97:\r
+         return jjMoveStringLiteralDfa6_0(active0, 0x2000L);\r
+      case 80:\r
+      case 112:\r
+         return jjMoveStringLiteralDfa6_0(active0, 0x4000L);\r
+      case 84:\r
+      case 116:\r
+         if ((active0 & 0x40000L) != 0L)\r
+            return jjStartNfaWithStates_0(5, 18, 18);\r
+         break;\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(4, active0);\r
+}\r
+private int jjMoveStringLiteralDfa6_0(long old0, long active0)\r
+{\r
+   if (((active0 &= old0)) == 0L)\r
+      return jjStartNfa_0(4, old0);\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(5, active0);\r
+      return 6;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 72:\r
+      case 104:\r
+         if ((active0 & 0x4000L) != 0L)\r
+            return jjStartNfaWithStates_0(6, 14, 18);\r
+         break;\r
+      case 80:\r
+      case 112:\r
+         return jjMoveStringLiteralDfa7_0(active0, 0x2000L);\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(5, active0);\r
+}\r
+private int jjMoveStringLiteralDfa7_0(long old0, long active0)\r
+{\r
+   if (((active0 &= old0)) == 0L)\r
+      return jjStartNfa_0(5, old0);\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) {\r
+      jjStopStringLiteralDfa_0(6, active0);\r
+      return 7;\r
+   }\r
+   switch(curChar)\r
+   {\r
+      case 72:\r
+      case 104:\r
+         if ((active0 & 0x2000L) != 0L)\r
+            return jjStartNfaWithStates_0(7, 13, 18);\r
+         break;\r
+      default :\r
+         break;\r
+   }\r
+   return jjStartNfa_0(6, active0);\r
+}\r
+private int jjStartNfaWithStates_0(int pos, int kind, int state)\r
+{\r
+   jjmatchedKind = kind;\r
+   jjmatchedPos = pos;\r
+   try { curChar = input_stream.readChar(); }\r
+   catch(java.io.IOException e) { return pos + 1; }\r
+   return jjMoveNfa_0(state, pos + 1);\r
+}\r
+static final long[] jjbitVec0 = {
+   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+};\r
+private int jjMoveNfa_0(int startState, int curPos)\r
+{\r
+   int startsAt = 0;\r
+   jjnewStateCnt = 34;\r
+   int i = 1;\r
+   jjstateSet[0] = startState;\r
+   int kind = 0x7fffffff;\r
+   for (;;)\r
+   {\r
+      if (++jjround == 0x7fffffff)\r
+         ReInitRounds();\r
+      if (curChar < 64)\r
+      {\r
+         long l = 1L << curChar;\r
+         do\r
+         {\r
+            switch(jjstateSet[--i])\r
+            {\r
+               case 0:\r
+                  if ((0x3ff000000000000L & l) != 0L)\r
+                  {\r
+                     if (kind > 23)\r
+                        kind = 23;\r
+                     jjCheckNAddTwoStates(22, 23);\r
+                  }\r
+                  else if ((0x100002600L & l) != 0L)\r
+                  {\r
+                     if (kind > 1)\r
+                        kind = 1;\r
+                  }\r
+                  else if (curChar == 47)\r
+                     jjAddStates(0, 1);\r
+                  else if (curChar == 46)\r
+                     jjCheckNAdd(21);\r
+                  else if (curChar == 45)\r
+                     jjCheckNAddTwoStates(20, 22);\r
+                  else if (curChar == 60)\r
+                     jjCheckNAddStates(2, 4);\r
+                  else if (curChar == 34)\r
+                     jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 34:\r
+                  if ((0x3ff000000000000L & l) != 0L)\r
+                  {\r
+                     if (kind > 23)\r
+                        kind = 23;\r
+                     jjCheckNAddTwoStates(22, 23);\r
+                  }\r
+                  else if (curChar == 46)\r
+                     jjCheckNAdd(21);\r
+                  break;\r
+               case 1:\r
+                  if (curChar == 34)\r
+                     jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 2:\r
+                  if ((0xfffffffbffffffffL & l) != 0L)\r
+                     jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 4:\r
+                  jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 5:\r
+                  if (curChar == 34 && kind > 20)\r
+                     kind = 20;\r
+                  break;\r
+               case 6:\r
+                  if (curChar == 60)\r
+                     jjCheckNAddStates(2, 4);\r
+                  break;\r
+               case 7:\r
+                  if ((0xafffffffffffffffL & l) != 0L)\r
+                     jjCheckNAddStates(2, 4);\r
+                  break;\r
+               case 8:\r
+                  if (curChar == 60)\r
+                     jjCheckNAddStates(8, 10);\r
+                  break;\r
+               case 9:\r
+                  if ((0xaffffffbffffffffL & l) != 0L)\r
+                     jjCheckNAddStates(8, 10);\r
+                  break;\r
+               case 10:\r
+                  if (curChar == 34)\r
+                     jjCheckNAddStates(11, 13);\r
+                  break;\r
+               case 11:\r
+                  if ((0xfffffffbffffffffL & l) != 0L)\r
+                     jjCheckNAddStates(11, 13);\r
+                  break;\r
+               case 13:\r
+                  jjCheckNAddStates(11, 13);\r
+                  break;\r
+               case 14:\r
+                  if (curChar == 34)\r
+                     jjCheckNAddStates(8, 10);\r
+                  break;\r
+               case 15:\r
+                  if (curChar == 62)\r
+                     jjCheckNAddStates(2, 4);\r
+                  break;\r
+               case 16:\r
+                  if (curChar == 62 && kind > 21)\r
+                     kind = 21;\r
+                  break;\r
+               case 18:\r
+                  if ((0x7ff000000000000L & l) == 0L)\r
+                     break;\r
+                  if (kind > 22)\r
+                     kind = 22;\r
+                  jjstateSet[jjnewStateCnt++] = 18;\r
+                  break;\r
+               case 19:\r
+                  if (curChar == 45)\r
+                     jjCheckNAddTwoStates(20, 22);\r
+                  break;\r
+               case 20:\r
+                  if (curChar == 46)\r
+                     jjCheckNAdd(21);\r
+                  break;\r
+               case 21:\r
+                  if ((0x3ff000000000000L & l) == 0L)\r
+                     break;\r
+                  if (kind > 23)\r
+                     kind = 23;\r
+                  jjCheckNAdd(21);\r
+                  break;\r
+               case 22:\r
+                  if ((0x3ff000000000000L & l) == 0L)\r
+                     break;\r
+                  if (kind > 23)\r
+                     kind = 23;\r
+                  jjCheckNAddTwoStates(22, 23);\r
+                  break;\r
+               case 23:\r
+                  if (curChar != 46)\r
+                     break;\r
+                  if (kind > 23)\r
+                     kind = 23;\r
+                  jjCheckNAdd(24);\r
+                  break;\r
+               case 24:\r
+                  if ((0x3ff000000000000L & l) == 0L)\r
+                     break;\r
+                  if (kind > 23)\r
+                     kind = 23;\r
+                  jjCheckNAdd(24);\r
+                  break;\r
+               case 25:\r
+                  if (curChar == 47)\r
+                     jjAddStates(0, 1);\r
+                  break;\r
+               case 26:\r
+                  if (curChar == 42)\r
+                     jjCheckNAddStates(14, 16);\r
+                  break;\r
+               case 27:\r
+                  if ((0xfffffbffffffffffL & l) != 0L)\r
+                     jjCheckNAddStates(14, 16);\r
+                  break;\r
+               case 28:\r
+                  if (curChar == 42)\r
+                     jjstateSet[jjnewStateCnt++] = 29;\r
+                  break;\r
+               case 29:\r
+                  if ((0xffff7fffffffffffL & l) != 0L)\r
+                     jjCheckNAddStates(14, 16);\r
+                  break;\r
+               case 30:\r
+                  if (curChar == 47 && kind > 2)\r
+                     kind = 2;\r
+                  break;\r
+               case 31:\r
+                  if (curChar == 42)\r
+                     jjstateSet[jjnewStateCnt++] = 30;\r
+                  break;\r
+               case 32:\r
+                  if (curChar != 47)\r
+                     break;\r
+                  if (kind > 3)\r
+                     kind = 3;\r
+                  jjCheckNAdd(33);\r
+                  break;\r
+               case 33:\r
+                  if ((0xfffffffffffffbffL & l) == 0L)\r
+                     break;\r
+                  if (kind > 3)\r
+                     kind = 3;\r
+                  jjCheckNAdd(33);\r
+                  break;\r
+               default : break;\r
+            }\r
+         } while(i != startsAt);\r
+      }\r
+      else if (curChar < 128)\r
+      {\r
+         long l = 1L << (curChar & 077);\r
+         do\r
+         {\r
+            switch(jjstateSet[--i])\r
+            {\r
+               case 0:\r
+               case 18:\r
+                  if ((0x7fffffe87fffffeL & l) == 0L)\r
+                     break;\r
+                  if (kind > 22)\r
+                     kind = 22;\r
+                  jjCheckNAdd(18);\r
+                  break;\r
+               case 2:\r
+                  if ((0xffffffffefffffffL & l) != 0L)\r
+                     jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 3:\r
+                  if (curChar == 92)\r
+                     jjstateSet[jjnewStateCnt++] = 4;\r
+                  break;\r
+               case 4:\r
+                  jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 7:\r
+                  jjAddStates(2, 4);\r
+                  break;\r
+               case 9:\r
+                  jjAddStates(8, 10);\r
+                  break;\r
+               case 11:\r
+                  if ((0xffffffffefffffffL & l) != 0L)\r
+                     jjCheckNAddStates(11, 13);\r
+                  break;\r
+               case 12:\r
+                  if (curChar == 92)\r
+                     jjstateSet[jjnewStateCnt++] = 13;\r
+                  break;\r
+               case 13:\r
+                  jjCheckNAddStates(11, 13);\r
+                  break;\r
+               case 27:\r
+               case 29:\r
+                  jjCheckNAddStates(14, 16);\r
+                  break;\r
+               case 33:\r
+                  if (kind > 3)\r
+                     kind = 3;\r
+                  jjstateSet[jjnewStateCnt++] = 33;\r
+                  break;\r
+               default : break;\r
+            }\r
+         } while(i != startsAt);\r
+      }\r
+      else\r
+      {\r
+         int i2 = (curChar & 0xff) >> 6;\r
+         long l2 = 1L << (curChar & 077);\r
+         do\r
+         {\r
+            switch(jjstateSet[--i])\r
+            {\r
+               case 2:\r
+               case 4:\r
+                  if ((jjbitVec0[i2] & l2) != 0L)\r
+                     jjCheckNAddStates(5, 7);\r
+                  break;\r
+               case 7:\r
+                  if ((jjbitVec0[i2] & l2) != 0L)\r
+                     jjAddStates(2, 4);\r
+                  break;\r
+               case 9:\r
+                  if ((jjbitVec0[i2] & l2) != 0L)\r
+                     jjAddStates(8, 10);\r
+                  break;\r
+               case 11:\r
+               case 13:\r
+                  if ((jjbitVec0[i2] & l2) != 0L)\r
+                     jjCheckNAddStates(11, 13);\r
+                  break;\r
+               case 27:\r
+               case 29:\r
+                  if ((jjbitVec0[i2] & l2) != 0L)\r
+                     jjCheckNAddStates(14, 16);\r
+                  break;\r
+               case 33:\r
+                  if ((jjbitVec0[i2] & l2) == 0L)\r
+                     break;\r
+                  if (kind > 3)\r
+                     kind = 3;\r
+                  jjstateSet[jjnewStateCnt++] = 33;\r
+                  break;\r
+               default : break;\r
+            }\r
+         } while(i != startsAt);\r
+      }\r
+      if (kind != 0x7fffffff)\r
+      {\r
+         jjmatchedKind = kind;\r
+         jjmatchedPos = curPos;\r
+         kind = 0x7fffffff;\r
+      }\r
+      ++curPos;\r
+      if ((i = jjnewStateCnt) == (startsAt = 34 - (jjnewStateCnt = startsAt)))\r
+         return curPos;\r
+      try { curChar = input_stream.readChar(); }\r
+      catch(java.io.IOException e) { return curPos; }\r
+   }\r
+}\r
+static final int[] jjnextStates = {
+   26, 32, 7, 8, 16, 2, 3, 5, 9, 10, 15, 11, 12, 14, 27, 28, 
+   31, 
+};\r
+\r
+/** Token literal values. */\r
+public static final String[] jjstrLiteralImages = {\r
+"", null, null, null, "\75", "\55\76", "\55\55", "\72", "\173", "\175", \r
+"\133", "\135", "\54", null, null, null, null, null, null, "\73", null, null, null, \r
+null, };\r
+\r
+/** Lexer state names. */\r
+public static final String[] lexStateNames = {\r
+   "DEFAULT",\r
+};\r
+static final long[] jjtoToken = {
+   0xfffff1L, 
+};\r
+static final long[] jjtoSkip = {
+   0xeL, 
+};\r
+protected SimpleCharStream input_stream;\r
+private final int[] jjrounds = new int[34];\r
+private final int[] jjstateSet = new int[68];\r
+private final StringBuilder jjimage = new StringBuilder();\r
+private StringBuilder image = jjimage;\r
+private int jjimageLen;\r
+private int lengthOfMatch;\r
+protected char curChar;\r
+/** Constructor. */\r
+public DotParserTokenManager(SimpleCharStream stream){\r
+   if (SimpleCharStream.staticFlag)\r
+      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");\r
+   input_stream = stream;\r
+}\r
+\r
+/** Constructor. */\r
+public DotParserTokenManager(SimpleCharStream stream, int lexState){\r
+   this(stream);\r
+   SwitchTo(lexState);\r
+}\r
+\r
+/** Reinitialise parser. */\r
+public void ReInit(SimpleCharStream stream)\r
+{\r
+   jjmatchedPos = jjnewStateCnt = 0;\r
+   curLexState = defaultLexState;\r
+   input_stream = stream;\r
+   ReInitRounds();\r
+}\r
+private void ReInitRounds()\r
+{\r
+   int i;\r
+   jjround = 0x80000001;\r
+   for (i = 34; i-- > 0;)\r
+      jjrounds[i] = 0x80000000;\r
+}\r
+\r
+/** Reinitialise parser. */\r
+public void ReInit(SimpleCharStream stream, int lexState)\r
+{\r
+   ReInit(stream);\r
+   SwitchTo(lexState);\r
+}\r
+\r
+/** Switch to specified lex state. */\r
+public void SwitchTo(int lexState)\r
+{\r
+   if (lexState >= 1 || lexState < 0)\r
+      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);\r
+   else\r
+      curLexState = lexState;\r
+}\r
+\r
+protected Token jjFillToken()\r
+{\r
+   final Token t;\r
+   final String curTokenImage;\r
+   final int beginLine;\r
+   final int endLine;\r
+   final int beginColumn;\r
+   final int endColumn;\r
+   String im = jjstrLiteralImages[jjmatchedKind];\r
+   curTokenImage = (im == null) ? input_stream.GetImage() : im;\r
+   beginLine = input_stream.getBeginLine();\r
+   beginColumn = input_stream.getBeginColumn();\r
+   endLine = input_stream.getEndLine();\r
+   endColumn = input_stream.getEndColumn();\r
+   t = Token.newToken(jjmatchedKind, curTokenImage);\r
+\r
+   t.beginLine = beginLine;\r
+   t.endLine = endLine;\r
+   t.beginColumn = beginColumn;\r
+   t.endColumn = endColumn;\r
+\r
+   return t;\r
+}\r
+\r
+int curLexState = 0;\r
+int defaultLexState = 0;\r
+int jjnewStateCnt;\r
+int jjround;\r
+int jjmatchedPos;\r
+int jjmatchedKind;\r
+\r
+/** Get the next Token. */\r
+public Token getNextToken() \r
+{\r
+  Token matchedToken;\r
+  int curPos = 0;\r
+\r
+  EOFLoop :
+  for (;;)\r
+  {\r
+   try\r
+   {\r
+      curChar = input_stream.BeginToken();\r
+   }\r
+   catch(java.io.IOException e)\r
+   {\r
+      jjmatchedKind = 0;\r
+      matchedToken = jjFillToken();\r
+      return matchedToken;\r
+   }\r
+   image = jjimage;\r
+   image.setLength(0);\r
+   jjimageLen = 0;\r
+\r
+   jjmatchedKind = 0x7fffffff;\r
+   jjmatchedPos = 0;\r
+   curPos = jjMoveStringLiteralDfa0_0();\r
+   if (jjmatchedKind != 0x7fffffff)\r
+   {\r
+      if (jjmatchedPos + 1 < curPos)\r
+         input_stream.backup(curPos - jjmatchedPos - 1);\r
+      if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)\r
+      {\r
+         matchedToken = jjFillToken();\r
+         TokenLexicalActions(matchedToken);\r
+         return matchedToken;\r
+      }\r
+      else\r
+      {\r
+         continue EOFLoop;\r
+      }\r
+   }\r
+   int error_line = input_stream.getEndLine();\r
+   int error_column = input_stream.getEndColumn();\r
+   String error_after = null;\r
+   boolean EOFSeen = false;\r
+   try { input_stream.readChar(); input_stream.backup(1); }\r
+   catch (java.io.IOException e1) {\r
+      EOFSeen = true;\r
+      error_after = curPos <= 1 ? "" : input_stream.GetImage();\r
+      if (curChar == '\n' || curChar == '\r') {\r
+         error_line++;\r
+         error_column = 0;\r
+      }\r
+      else\r
+         error_column++;\r
+   }\r
+   if (!EOFSeen) {\r
+      input_stream.backup(1);\r
+      error_after = curPos <= 1 ? "" : input_stream.GetImage();\r
+   }\r
+   throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);\r
+  }\r
+}\r
+\r
+void TokenLexicalActions(Token matchedToken)\r
+{\r
+   switch(jjmatchedKind)\r
+   {\r
+      case 20 :\r
+        image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));\r
+      matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1);\r
+         break;\r
+      default :\r
+         break;\r
+   }\r
+}\r
+private void jjCheckNAdd(int state)\r
+{\r
+   if (jjrounds[state] != jjround)\r
+   {\r
+      jjstateSet[jjnewStateCnt++] = state;\r
+      jjrounds[state] = jjround;\r
+   }\r
+}\r
+private void jjAddStates(int start, int end)\r
+{\r
+   do {\r
+      jjstateSet[jjnewStateCnt++] = jjnextStates[start];\r
+   } while (start++ != end);\r
+}\r
+private void jjCheckNAddTwoStates(int state1, int state2)\r
+{\r
+   jjCheckNAdd(state1);\r
+   jjCheckNAdd(state2);\r
+}\r
+\r
+private void jjCheckNAddStates(int start, int end)\r
+{\r
+   do {\r
+      jjCheckNAdd(jjnextStates[start]);\r
+   } while (start++ != end);\r
+}\r
+\r
+}\r