Как создать IR LLVM с целью ANTLR и C - PullRequest
2 голосов
/ 02 февраля 2010

Я сейчас пытаюсь сгенерировать LLVM IR с ANTLR3. Но проблема в том, что мне нужна цель C (C ++ был бы лучше, но она еще не работает или нет?), Но из C я не могу вызвать LLVM C ++ API для построения IR.

Учебное пособие от Теренса Парра использует Java и библиотеку StringTemplate. Но, как я знаю, библиотека StringTemplate не доступна для C.

У кого-нибудь есть хорошие идеи, как это можно сделать? :)

Thx

1 Ответ

2 голосов
/ 02 февраля 2010

есть очень хорошая запись в faq LLVM, обсуждающая, что вы хотите сделать: http://llvm.org/docs/FAQ.html#langirgen Он указывает на llvm-c, который является связыванием C с llvm, позволяющим генерировать IR непосредственно из C,и интегрирован в llvm, так как в лизинге llvm-2.6

В своем примере с Antlr-java и stringtemplates Terence применяет генерацию сборки llvm в виде текста (а создание текста на самом деле является темой для stringtemplates).

...