我正在使用 ANTLR 和 LLVM 开发编译器。我已经使用 ANTLR 4 的 Eclipse IDE 实现了词法分析器和解析器。我想使用 LLVM 实现一个语义分析器和一个代码生成器。为此,我想知道如何将两者结合起来。
我在网上看到的大多数项目都使用 ANTLR 进行语义分析(具有访问者和步行者功能)和 LLVM 仅用于代码生成。
我想知道如何将 ANTLR 解析器输出作为输入传递给 LLVM 语义分析器。
说明这一点的在线示例链接将非常有用。
最佳答案
尽管您提到了 ANTLR4,但这里有一个使用 ANTLR3 为 C 的子集生成 LLVM IR 的示例 https://theantlrguy.atlassian.net/wiki/spaces/ANTLR3/pages/2687062/LLVM
它非常有趣,并提供了一个示例,说明如何一起使用这两种工具来创建一个有效的编译器。
关于compiler-construction - 将 antlr4 与 LLVM 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32110547/