Compiler construction 将antlr4与LLVM集成

Compiler construction 将antlr4与LLVM集成,compiler-construction,integration,llvm,antlr4,Compiler Construction,Integration,Llvm,Antlr4,我正在使用ANTLR和LLVM开发一个编译器。我已经使用Antlr4的EclipseIDE实现了一个lexer和一个解析器。我想使用LLVM实现语义分析器和代码生成器。为此,我想知道如何将两者结合起来。 我在网上看到的大多数项目都使用ANTLR进行语义分析(使用visitor和walker函数),而LLVM仅用于代码生成。 我想知道如何将ANTLR解析器的输出作为输入传递给LLVM语义分析器。 链接到说明这一点的在线示例将非常有用。尽管您提到了ANTLR4,但这里有一个使用ANTLR3为C的子集

我正在使用ANTLR和LLVM开发一个编译器。我已经使用Antlr4的EclipseIDE实现了一个lexer和一个解析器。我想使用LLVM实现语义分析器和代码生成器。为此,我想知道如何将两者结合起来。 我在网上看到的大多数项目都使用ANTLR进行语义分析(使用visitor和walker函数),而LLVM仅用于代码生成。 我想知道如何将ANTLR解析器的输出作为输入传递给LLVM语义分析器。
链接到说明这一点的在线示例将非常有用。

尽管您提到了ANTLR4,但这里有一个使用ANTLR3为C的子集生成LLVM IR的示例
这是一个非常有趣的例子,介绍了如何同时使用这两种工具来创建一个工作的编译器。

到目前为止,您尝试了什么?除了LLVM IR本身的语义分析之外,LLVM没有任何语义分析功能。到目前为止,我一直尝试在文件中获取解析器输出,而我的语义分析器正在读取该文件,以将类型、标识符等信息存储在我用来检查代码语义的列表中。但我认为你是对的——LLVM没有太多的语义功能,因为它变得越来越复杂,越来越难以实现。正在尝试查看是否有人使用LLVM进行语义分析。