Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / derby-10.3.2.1 / java / tools / org / apache / derby / impl / tools / ij / TokenMgrError.java
diff --git a/JMCR-Stable/real-world application/derby-10.3.2.1/java/tools/org/apache/derby/impl/tools/ij/TokenMgrError.java b/JMCR-Stable/real-world application/derby-10.3.2.1/java/tools/org/apache/derby/impl/tools/ij/TokenMgrError.java
new file mode 100644 (file)
index 0000000..f6199a8
--- /dev/null
@@ -0,0 +1,133 @@
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */\r
+package org.apache.derby.impl.tools.ij;\r
+\r
+public class TokenMgrError extends Error\r
+{\r
+   /*\r
+    * Ordinals for various reasons why an Error of this type can be thrown.\r
+    */\r
+\r
+   /**\r
+    * Lexical error occured.\r
+    */\r
+   static final int LEXICAL_ERROR = 0;\r
+\r
+   /**\r
+    * An attempt wass 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 espaced (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 lexicl error\r
+    *    curLexState : lexical state in which this error occured\r
+    *    errorLine   : line number when the error occured\r
+    *    errorColumn : column number when the error occured\r
+    *    errorAfter  : prefix that was seen before this error occured\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
+   public TokenMgrError() {\r
+   }\r
+\r
+   public TokenMgrError(String message, int reason) {\r
+      super(message);\r
+      errorCode = reason;\r
+   }\r
+\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