@Override public void parse(String ddlContent, Tables databaseTables) { this.databaseTables = databaseTables; CodePointCharStream ddlContentCharStream = CharStreams.fromString(ddlContent); L lexer = createNewLexerInstance(new CaseChangingCharStream(ddlContentCharStream, isGrammarInUpperCase())); P parser = createNewParserInstance(new CommonTokenStream(lexer)); dataTypeResolver = initializeDataTypeResolver(); // remove default console output printing error listener parser.removeErrorListener(ConsoleErrorListener.INSTANCE); ParsingErrorListener parsingErrorListener = new ParsingErrorListener(AbstractDdlParser::accumulateParsingFailure); parser.addErrorListener(parsingErrorListener); ParseTree parseTree = parseTree(parser); if (parsingErrorListener.getErrors().isEmpty()) { antlrDdlParserListener = createParseTreeWalkerListener(); if (antlrDdlParserListener != null) { ParseTreeWalker.DEFAULT.walk(antlrDdlParserListener, parseTree); if (throwErrorsFromTreeWalk && !antlrDdlParserListener.getErrors().isEmpty()) { throwParsingException(antlrDdlParserListener.getErrors()); } } } else { throwParsingException(parsingErrorListener.getErrors()); } }
parser.addErrorListener(new BaseErrorListener() {
/** * Use a Lexer/Parser pair extracting the parser's root item. * * @param lexer lexer to use * @param parser parser to use * @param parseMethod Root item extractor method * @param ref Source reference * @return Parsed item * @throws NullPointerException if any argument is null * @throws SourceException if a parser error occurs */ public static <T> T parse(final Lexer lexer, final Parser parser, final Supplier<T> parseMethod, final StatementSourceReference ref) { final Listener listener = new Listener(ref); lexer.removeErrorListeners(); lexer.addErrorListener(listener); parser.removeErrorListeners(); parser.addErrorListener(listener); final T ret = parseMethod.get(); listener.validate(); return ret; } }
parser.addErrorListener(new DiagnosticErrorListener()); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION);
parser.addErrorListener(el); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION); parser.setBuildParseTree(true);
parser.addErrorListener(new DiagnosticErrorListener()); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION);
parser.addErrorListener(new DiagnosticErrorListener()); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION);
parser.addErrorListener(new DiagnosticErrorListener()); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION);
parser.addErrorListener(new DiagnosticErrorListener()); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION);
@Override public void parse(String ddlContent, Tables databaseTables) { this.databaseTables = databaseTables; CodePointCharStream ddlContentCharStream = CharStreams.fromString(ddlContent); L lexer = createNewLexerInstance(new CaseChangingCharStream(ddlContentCharStream, isGrammarInUpperCase())); P parser = createNewParserInstance(new CommonTokenStream(lexer)); dataTypeResolver = initializeDataTypeResolver(); // remove default console output printing error listener parser.removeErrorListener(ConsoleErrorListener.INSTANCE); ParsingErrorListener parsingErrorListener = new ParsingErrorListener(AbstractDdlParser::accumulateParsingFailure); parser.addErrorListener(parsingErrorListener); ParseTree parseTree = parseTree(parser); if (parsingErrorListener.getErrors().isEmpty()) { antlrDdlParserListener = createParseTreeWalkerListener(); if (antlrDdlParserListener != null) { ParseTreeWalker.DEFAULT.walk(antlrDdlParserListener, parseTree); if (throwErrorsFromTreeWalk && !antlrDdlParserListener.getErrors().isEmpty()) { throwParsingException(antlrDdlParserListener.getErrors()); } } } else { throwParsingException(parsingErrorListener.getErrors()); } }
doc.parser.addErrorListener( new ANTLRErrorListener() { @Override
parser.setErrorHandler(new ErrorStrategyAdaptor()); // tweaks missing tokens parser.removeErrorListeners(); parser.addErrorListener(new SyntaxErrorListener()); // trap errors ParseTree parseTree = null; PsiBuilder.Marker rollbackMarker = builder.mark();
lexer.addErrorListener(errorListener); parser.removeErrorListeners(); parser.addErrorListener(errorListener); switch (parserMode) { case LL_ONLY: