Package jminusminus

Class TokenMgrError

All Implemented Interfaces:
Serializable

public class TokenMgrError extends Error
Token Manager Error.
See Also:
  • Field Details

    • LEXICAL_ERROR

      public static final int LEXICAL_ERROR
      Lexical error occurred.
      See Also:
    • STATIC_LEXER_ERROR

      public static final int STATIC_LEXER_ERROR
      An attempt was made to create a second instance of a static token manager.
      See Also:
    • INVALID_LEXICAL_STATE

      public static final int INVALID_LEXICAL_STATE
      Tried to change to an invalid lexical state.
      See Also:
    • LOOP_DETECTED

      public static final int LOOP_DETECTED
      Detected (and bailed out of) an infinite loop in the token manager.
      See Also:
    • errorCode

      int errorCode
      Indicates the reason why the exception is thrown. It will have one of the above 4 values.
  • Constructor Details

    • TokenMgrError

      public TokenMgrError()
      No arg constructor.
    • TokenMgrError

      public TokenMgrError(String message, int reason)
      Constructor with message and reason.
    • TokenMgrError

      public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason)
      Full Constructor.
  • Method Details

    • addEscapes

      protected static final String addEscapes(String str)
      Replaces unprintable characters by their escaped (or unicode escaped) equivalents in the given string
    • LexicalErr

      protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar)
      Returns a detailed message for the Error when it is thrown by the token manager to indicate a lexical error. Parameters : EOFSeen : indicates if EOF caused the lexical error curLexState : lexical state in which this error occurred errorLine : line number when the error occurred errorColumn : column number when the error occurred errorAfter : prefix that was seen before this error occurred curchar : the offending character Note: You can customize the lexical error message by modifying this method.
    • getMessage

      public String getMessage()
      You can also modify the body of this method to customize your error messages. For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not of end-users concern, so you can return something like : "Internal Error : Please file a bug report .... " from this method for such cases in the release version of your parser.
      Overrides:
      getMessage in class Throwable