List of usage examples for org.antlr.v4.runtime Parser notifyErrorListeners
public void notifyErrorListeners(Token offendingToken, String msg, RecognitionException e)
From source file:com.eprosima.idl.parser.strategy.DefaultErrorStrategy.java
License:Apache License
@Override public void reportError(Parser recognizer, RecognitionException e) { if (inErrorRecoveryMode(recognizer)) { // System.err.print("[SPURIOUS] "); return; // don't report spurious errors }//from w w w.j av a 2 s . c o m beginErrorCondition(recognizer); if (e instanceof NoViableAltException) { reportNoViableAlternative(recognizer, (NoViableAltException) e); } else if (e instanceof InputMismatchException) { reportInputMismatch(recognizer, (InputMismatchException) e); } else if (e instanceof FailedPredicateException) { reportFailedPredicate(recognizer, (FailedPredicateException) e); } else if (e instanceof ParseException) { if (e.getOffendingToken() != null) { String message = ColorMessage.bold(getTokenErrorDisplay(e.getOffendingToken()) + " ") + e.getMessage(); recognizer.notifyErrorListeners(e.getOffendingToken(), message, e); } else recognizer.notifyErrorListeners(e.getMessage()); } else { System.err.println("unknown recognition error type: " + e.getClass().getName()); recognizer.notifyErrorListeners(e.getOffendingToken(), e.getMessage(), e); } }
From source file:com.eprosima.idl.parser.strategy.DefaultErrorStrategy.java
License:Apache License
@Override protected void reportUnwantedToken(@NotNull Parser recognizer) { if (inErrorRecoveryMode(recognizer)) { return;//w ww . ja va2 s .c o m } beginErrorCondition(recognizer); Token t = recognizer.getCurrentToken(); String tokenName = getTokenErrorDisplay(t); String msg = "Unexpected input " + ColorMessage.bold(tokenName); recognizer.notifyErrorListeners(t, msg, null); }
From source file:com.github.jknack.handlebars.internal.HbsErrorStrategy.java
License:Apache License
@Override public void reportNoViableAlternative(final Parser recognizer, final NoViableAltException e) { HbsParser parser = (HbsParser) recognizer; TokenStream tokens = parser.getTokenStream(); HbsLexer lexer = (HbsLexer) tokens.getTokenSource(); String msg = new ErrorStrategyVisitor(lexer.start, lexer.end).visit(e.getCtx()); if (msg != null) { recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); } else {/*from ww w . j a va2s . com*/ super.reportNoViableAlternative(recognizer, e); } }
From source file:com.github.jknack.handlebars.internal.HbsErrorStrategy.java
License:Apache License
@Override public void reportMissingToken(final Parser recognizer) { if (errorRecoveryMode) { return;//from w w w .j a v a 2 s . c o m } Token offendingToken = recognizer.getCurrentToken(); IntervalSet expecting = getExpectedTokens(recognizer); String msg = expecting.toString(recognizer.getTokenNames()); recognizer.notifyErrorListeners(offendingToken, msg, null); }
From source file:com.github.jknack.handlebars.internal.HbsErrorStrategy.java
License:Apache License
@Override public void reportInputMismatch(final Parser recognizer, final InputMismatchException e) { String[] displayNames = displayNames(recognizer); String msg = e.getExpectedTokens().toString(displayNames); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }
From source file:com.globalforge.infix.FixRulesErrorStrategy.java
License:Open Source License
/** * @see DefaultErrorStrategy#reportNoViableAlternative *//*from w w w . j a v a 2 s.c o m*/ @Override protected void reportNoViableAlternative(Parser parser, NoViableAltException e) { String msg = "can't choose between alternatives"; // nonstandard msg parser.notifyErrorListeners(e.getOffendingToken(), msg, e); }
From source file:com.huawei.streaming.cql.semanticanalyzer.parser.CQLErrorStrategy.java
License:Apache License
/** * {@inheritDoc}/*from w ww .j a v a2s.co m*/ */ @Override public void reportNoViableAlternative(@NotNull Parser recognizer, @NotNull NoViableAltException e) { TokenStream tokens = recognizer.getInputStream(); String input; if (tokens instanceof TokenStream) { if (e.getStartToken().getType() == Token.EOF) input = "<EOF>"; else input = getText(tokens, e.getStartToken(), e.getOffendingToken()); } else { input = "<unknown input>"; } String msg = "no viable alternative at input " + escapeWSAndQuote(input); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }
From source file:com.sample.JavaErrorStrategy.java
License:BSD License
/** * This is called by {@link #reportError} when the exception is a * {@link NoViableAltException}./*from w w w . ja v a 2 s . c om*/ * * @see #reportError * * @param recognizer * the parser instance * @param e * the recognition exception */ protected void reportNoViableAlternative(@NotNull Parser recognizer, @NotNull NoViableAltException e) { TokenStream tokens = recognizer.getInputStream(); String input; if (tokens != null) { if (e.getStartToken().getType() == Token.EOF) input = "<EOF>"; else input = tokens.getText(e.getStartToken(), e.getOffendingToken()); } else { input = "<unknown input>"; } String msg = "no viable alternative at input " + escapeWSAndQuote(input); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }
From source file:com.sample.JavaErrorStrategy.java
License:BSD License
/** * This is called by {@link #reportError} when the exception is an * {@link InputMismatchException}.//from ww w.java 2 s.c om * * @see #reportError * * @param recognizer * the parser instance * @param e * the recognition exception */ protected void reportInputMismatch(@NotNull Parser recognizer, @NotNull InputMismatchException e) { String msg = "mismatched input " + getTokenErrorDisplay(e.getOffendingToken()) + " expecting " + e.getExpectedTokens().toString(recognizer.getTokenNames()); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }
From source file:com.sample.JavaErrorStrategy.java
License:BSD License
/** * This is called by {@link #reportError} when the exception is a * {@link FailedPredicateException}.//from w ww . ja v a 2 s . c o m * * @see #reportError * * @param recognizer * the parser instance * @param e * the recognition exception */ protected void reportFailedPredicate(@NotNull Parser recognizer, @NotNull FailedPredicateException e) { String ruleName = recognizer.getRuleNames()[recognizer.getContext().getRuleIndex()]; String msg = "rule " + ruleName + " " + e.getMessage(); recognizer.notifyErrorListeners(e.getOffendingToken(), msg, e); }