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

时间:2010-02-02 09:30:54

标签: llvm antlr3

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

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

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

THX

1 个答案:

答案 0 :(得分:2)

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

而被集成到llvm

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