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    }