]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/TokenMgrError.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.graphviz / src / org / simantics / graphviz / internal / parser / TokenMgrError.java
diff --git a/bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/TokenMgrError.java b/bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/parser/TokenMgrError.java
new file mode 100644 (file)
index 0000000..a1a1e99
--- /dev/null
@@ -0,0 +1,147 @@
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */\r
+/* JavaCCOptions: */\r
+package org.simantics.graphviz.internal.parser;\r
+\r
+/** Token Manager Error. */\r
+public class TokenMgrError extends Error\r
+{\r
+\r
+  /**\r
+   * The version identifier for this Serializable class.\r
+   * Increment only if the <i>serialized</i> form of the\r
+   * class changes.\r
+   */\r
+  private static final long serialVersionUID = 1L;\r
+\r
+  /*\r
+   * Ordinals for various reasons why an Error of this type can be thrown.\r
+   */\r
+\r
+  /**\r
+   * Lexical error occurred.\r
+   */\r
+  static final int LEXICAL_ERROR = 0;\r
+\r
+  /**\r
+   * An attempt was made to create a second instance of a static token manager.\r
+   */\r
+  static final int STATIC_LEXER_ERROR = 1;\r
+\r
+  /**\r
+   * Tried to change to an invalid lexical state.\r
+   */\r
+  static final int INVALID_LEXICAL_STATE = 2;\r
+\r
+  /**\r
+   * Detected (and bailed out of) an infinite loop in the token manager.\r
+   */\r
+  static final int LOOP_DETECTED = 3;\r
+\r
+  /**\r
+   * Indicates the reason why the exception is thrown. It will have\r
+   * one of the above 4 values.\r
+   */\r
+  int errorCode;\r
+\r
+  /**\r
+   * Replaces unprintable characters by their escaped (or unicode escaped)\r
+   * equivalents in the given string\r
+   */\r
+  protected static final String addEscapes(String str) {\r
+    StringBuffer retval = new StringBuffer();\r
+    char ch;\r
+    for (int i = 0; i < str.length(); i++) {\r
+      switch (str.charAt(i))\r
+      {\r
+        case 0 :\r
+          continue;\r
+        case '\b':\r
+          retval.append("\\b");\r
+          continue;\r
+        case '\t':\r
+          retval.append("\\t");\r
+          continue;\r
+        case '\n':\r
+          retval.append("\\n");\r
+          continue;\r
+        case '\f':\r
+          retval.append("\\f");\r
+          continue;\r
+        case '\r':\r
+          retval.append("\\r");\r
+          continue;\r
+        case '\"':\r
+          retval.append("\\\"");\r
+          continue;\r
+        case '\'':\r
+          retval.append("\\\'");\r
+          continue;\r
+        case '\\':\r
+          retval.append("\\\\");\r
+          continue;\r
+        default:\r
+          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {\r
+            String s = "0000" + Integer.toString(ch, 16);\r
+            retval.append("\\u" + s.substring(s.length() - 4, s.length()));\r
+          } else {\r
+            retval.append(ch);\r
+          }\r
+          continue;\r
+      }\r
+    }\r
+    return retval.toString();\r
+  }\r
+\r
+  /**\r
+   * Returns a detailed message for the Error when it is thrown by the\r
+   * token manager to indicate a lexical error.\r
+   * Parameters :\r
+   *    EOFSeen     : indicates if EOF caused the lexical error\r
+   *    curLexState : lexical state in which this error occurred\r
+   *    errorLine   : line number when the error occurred\r
+   *    errorColumn : column number when the error occurred\r
+   *    errorAfter  : prefix that was seen before this error occurred\r
+   *    curchar     : the offending character\r
+   * Note: You can customize the lexical error message by modifying this method.\r
+   */\r
+  protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {\r
+    return("Lexical error at line " +\r
+          errorLine + ", column " +\r
+          errorColumn + ".  Encountered: " +\r
+          (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +\r
+          "after : \"" + addEscapes(errorAfter) + "\"");\r
+  }\r
+\r
+  /**\r
+   * You can also modify the body of this method to customize your error messages.\r
+   * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not\r
+   * of end-users concern, so you can return something like :\r
+   *\r
+   *     "Internal Error : Please file a bug report .... "\r
+   *\r
+   * from this method for such cases in the release version of your parser.\r
+   */\r
+  public String getMessage() {\r
+    return super.getMessage();\r
+  }\r
+\r
+  /*\r
+   * Constructors of various flavors follow.\r
+   */\r
+\r
+  /** No arg constructor. */\r
+  public TokenMgrError() {\r
+  }\r
+\r
+  /** Constructor with message and reason. */\r
+  public TokenMgrError(String message, int reason) {\r
+    super(message);\r
+    errorCode = reason;\r
+  }\r
+\r
+  /** Full Constructor. */\r
+  public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {\r
+    this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);\r
+  }\r
+}\r
+/* JavaCC - OriginalChecksum=d0257806af0a9f8026ffba40f485ae93 (do not edit this line) */\r