我如何解析多个源文件并最终只使用一个 AST 来执行分析和代码生成?通常,我发现 ANTLR 的示例用法形式为
public void process(String source)
{
ANTLRStringStream Input = new ANTLRStringStream(input);
TLexer lex = new TLexer(Input);
CommonTokenStream tokens = new CommonTokenStream(lex);
TParser parser = new TParser(tokens);
var tree = parser.parse().Tree;
}
但是词法分析器和解析器似乎都无法获取其他文件。我应该创建一个词法分析器和解析器公关吗?inputfile 并使用 tree.Add() 将其他文件中的树添加到第一个文件的树中?