AntlrParser.java 文件源码

java
阅读 27 收藏 0 点赞 0 评论 0

项目:pgcodekeeper 作者:
public static void parseSqlStream(InputStream inputStream, String charsetName,
        String parsedObjectName, List<AntlrError> errors,IProgressMonitor mon, int monitoringLevel,
        Collection<SQLParserBaseListener> listeners) throws IOException, InterruptedException {
    SQLParser parser = makeBasicParser(SQLParser.class, inputStream, charsetName, parsedObjectName, errors);
    parser.addParseListener(new CustomParseTreeListener(
            monitoringLevel, mon == null ? new NullProgressMonitor() : mon));
    try {
        SqlContext ctx = parser.sql();
        for (SQLParserBaseListener listener : listeners) {
            ParseTreeWalker.DEFAULT.walk(listener, ctx);
        }
    } catch (MonitorCancelledRuntimeException mcre){
        throw new InterruptedException();
    } catch (UnresolvedReferenceException ex) {
        errors.add(CustomSQLParserListener.handleUnresolvedReference(ex));
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号