MemoryModelAST.java 文件源码

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

项目:org.pshdl 作者:
public static Unit parseUnit(String string, Set<Problem> problems, int lineOffset) throws IOException {
    final CharStream input = CharStreams.fromString(string);
    final MemoryModelLexer lexer = new MemoryModelLexer(input);
    final CommonTokenStream tokens = new CommonTokenStream(lexer);
    final MemoryModelParser parser = new MemoryModelParser(tokens);
    final PSHDLParser.SyntaxErrorCollector listener = new PSHDLParser.SyntaxErrorCollector(tokens, problems, lineOffset);
    lexer.removeErrorListeners();
    lexer.addErrorListener(listener);
    parser.removeErrorListeners();
    parser.addErrorListener(listener);
    final UnitContext unit = parser.unit();
    if (problems.isEmpty()) {
        final MemoryModelAST modelAST = new MemoryModelAST();
        final ParseTreeWalker walker = new ParseTreeWalker();
        walker.walk(modelAST, unit);
        return modelAST.unit;
    }
    return null;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号