src.org.python.antlr.FailFastHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jython Show documentation
Show all versions of jython Show documentation
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
package org.python.antlr;
import org.antlr.runtime.BaseRecognizer;
import org.antlr.runtime.BitSet;
import org.antlr.runtime.IntStream;
import org.antlr.runtime.Lexer;
import org.antlr.runtime.MismatchedTokenException;
import org.antlr.runtime.RecognitionException;
import org.python.antlr.base.expr;
import org.python.antlr.base.mod;
import org.python.antlr.base.slice;
import org.python.antlr.base.stmt;
public class FailFastHandler implements ErrorHandler {
public void reportError(BaseRecognizer br, RecognitionException re) {
throw new ParseException(message(br,re), re);
}
public void recover(Lexer lex, RecognitionException re) {
throw new ParseException(message(lex,re), re);
}
public void recover(BaseRecognizer br, IntStream input, RecognitionException re) {
throw new ParseException(message(br,re), re);
}
public boolean mismatch(BaseRecognizer br, IntStream input, int ttype, BitSet follow)
throws RecognitionException {
throw new MismatchedTokenException(ttype, input);
}
public Object recoverFromMismatchedToken(BaseRecognizer br, IntStream input, int ttype,
BitSet follow) throws RecognitionException {
throw new MismatchedTokenException(ttype, input);
}
public expr errorExpr(PythonTree t) {
throw new ParseException("Bad Expr Node", t);
}
public mod errorMod(PythonTree t) {
throw new ParseException("Bad Mod Node", t);
}
public slice errorSlice(PythonTree t) {
throw new ParseException("Bad Slice Node", t);
}
public stmt errorStmt(PythonTree t) {
throw new ParseException("Bad Stmt Node", t);
}
public void error(String message, PythonTree t) {
throw new ParseException(message, t);
}
private String message(BaseRecognizer br, RecognitionException re) {
return br.getErrorMessage(re, br.getTokenNames());
}
}