如何使用 ANTLR 和 C 目标生成 LLVM IR

发布于 2024-08-20 11:00:53 字数 227 浏览 7 评论 0原文

我目前正在尝试使用 ANTLR3 生成 LLVM IR。 但问题是,我需要 C 目标(C++ 会更好,但还不能工作,或者是吗?),但从 C 中我无法调用 LLVM C++ API 来构建 IR。

Terence Parr 的教程使用 Java 和 StringTemplate 库。但据我所知,StringTemplate 库不适用于 C。

有没有人有一些好主意如何做到这一点? :)

谢谢

im currently trying to generate LLVM IR with ANTLR3.
But the problem ist, that i need the C target (C++ would be better but is not working yet, or is it?) but from C i can't call the LLVM C++ API for Building the IR.

The Tutorial from Terence Parr uses Java and the StringTemplate lib. But as i know the StringTemplate lib ist not available for C.

Does anyone have some good ideas how this can be done? :)

Thx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放血 2024-08-27 11:00:53

LLVM 常见问题解答中有一个非常好的条目,讨论了您想要做什么:
http://llvm.org/docs/FAQ.html#langirgen
它指向 llvm-c,它是到 llvm 的 C 绑定,允许直接从 C 生成 IR,并且从至少 llvm-2.6 开始集成到 llvm。

Terence 在其示例中使用 antlr-java 和 stringtemplates 所采用的方法是生成llvm 程序集作为文本(生成文本实际上是 stringtemplates 的作用)。

there is a very good entry in the LLVM faq, discussing what you want to do:
http://llvm.org/docs/FAQ.html#langirgen
It points to llvm-c, which is a C binding to llvm, allowing to generate IR directly from C, and is integrated to llvm since at lease llvm-2.6

The approach Terence takes in its example with antlr-java and stringtemplates is to generate llvm assembly as text (and generating text is really what stringtemplates is about).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文