001 package com.saelist.stx.parser;
002
003 public class ParserException extends Exception {
004
005 private Token token;
006 int error = -1;
007
008 public static final int EXPECTED_TEXT = 0;
009 public static final int EOF_EXPECTING_LBR = 1;
010 public static final int EXTRA_CHARS_AT_END = 2;
011
012 public static String[] messages = {
013 "Unexpected token. Expected element text.",
014 "Reached end of file while expecting ']' ",
015 "Extra characters after valid element"
016 };
017
018 public ParserException(int error, Token token) {
019 super(messages[error] + " Line " + token.getLine() + " column " + token.getColumn() + " '" + token.getValue() + "'" + " (" + token.getType() + ")");
020 this.error = error;
021 token = token;
022 }
023
024 public ParserException(int error) {
025 super(messages[error]);
026 this.error = error;
027 }
028
029 public Token getToken() {
030 return token;
031 }
032
033 public int getError() {
034 return error;
035 }
036
037 }