/******************************************************************************* * Copyright (c) 2008 Scott Stanchfield. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Based on the ANTLR parser generator by Terence Parr, http://antlr.org * Ric Klaren <klaren@cs.utwente.nl> * Scott Stanchfield - Modifications for XML Parsing *******************************************************************************/ package com.javadude.antxr; import com.javadude.antxr.collections.AST; public class NoViableAltException extends RecognitionException { private static final long serialVersionUID = 1L; public Token token; public AST node; // handles parsing and treeparsing public NoViableAltException(AST t) { super("NoViableAlt", "<AST>", t.getLine(), t.getColumn()); node = t; } public NoViableAltException(Token t, String fileName_) { super("NoViableAlt", fileName_, t.getLine(), t.getColumn()); token = t; } /** * Returns a clean error message (no line number/column information) */ @Override public String getMessage() { if (token != null) { return "unexpected token: " + token.getText(); } // must a tree parser error if token==null if (node == TreeParser.ASTNULL) { return "unexpected end of subtree"; } return "unexpected AST node: " + node.toString(); } }