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;
}
MemoryModelAST.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:org.pshdl
作者:
评论列表
文章目录