PSHDLParser.java 文件源码

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

项目:org.pshdl 作者:
private static HDLExpression parseExpressionStream(CharStream input, final Set<Problem> syntaxProblems) {
    final PSHDLLangLexer lexer = new PSHDLLangLexer(input);
    final CommonTokenStream tokens = new CommonTokenStream(lexer);
    final ANTLRErrorListener parserListener = new SyntaxErrorCollector(tokens, syntaxProblems);
    final PSHDLLang parser = new PSHDLLang(tokens);
    parser.removeErrorListeners();
    parser.addErrorListener(parserListener);
    lexer.removeErrorListeners();
    lexer.addErrorListener(parserListener);
    final PsExpressionContext psExpression = parser.psExpression();
    if (syntaxProblems.size() == 0) {
        final HDLExpression hdl = ParserToModelExtension.toHDLExpression(tokens, psExpression);
        return hdl;
    }
    return null;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号