| 1 34 35 36 37 package com.micronova.util.cc.html; 38 39 public class TokenMgrError extends Error  40 { 41 44 45 48 static final int LEXICAL_ERROR = 0; 49 50 53 static final int STATIC_LEXER_ERROR = 1; 54 55 58 static final int INVALID_LEXICAL_STATE = 2; 59 60 63 static final int LOOP_DETECTED = 3; 64 65 69 int errorCode; 70 71 75 protected static final String addEscapes(String str) { 76 StringBuffer retval = new StringBuffer (); 77 char ch; 78 for (int i = 0; i < str.length(); i++) { 79 switch (str.charAt(i)) 80 { 81 case 0 : 82 continue; 83 case '\b': 84 retval.append("\\b"); 85 continue; 86 case '\t': 87 retval.append("\\t"); 88 continue; 89 case '\n': 90 retval.append("\\n"); 91 continue; 92 case '\f': 93 retval.append("\\f"); 94 continue; 95 case '\r': 96 retval.append("\\r"); 97 continue; 98 case '\"': 99 retval.append("\\\""); 100 continue; 101 case '\'': 102 retval.append("\\\'"); 103 continue; 104 case '\\': 105 retval.append("\\\\"); 106 continue; 107 default: 108 if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { 109 String s = "0000" + Integer.toString(ch, 16); 110 retval.append("\\u" + s.substring(s.length() - 4, s.length())); 111 } else { 112 retval.append(ch); 113 } 114 continue; 115 } 116 } 117 return retval.toString(); 118 } 119 120 132 protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) { 133 return("Lexical error at line " + 134 errorLine + ", column " + 135 errorColumn + ". Encountered: " + 136 (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") + 137 "after : \"" + addEscapes(errorAfter) + "\""); 138 } 139 140 149 public String getMessage() { 150 return super.getMessage(); 151 } 152 153 156 157 public TokenMgrError() { 158 } 159 160 public TokenMgrError(String message, int reason) { 161 super(message); 162 errorCode = reason; 163 } 164 165 public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) { 166 this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); 167 } 168 } 169 | Popular Tags |