LLVM: генерация исходного кода на C++
Подскажите, есть ли у LLVM API для генерации исходного кода на C++ по некоторому декларативному описанию? Под последним я понимаю что-то похожее на DSL, который используется в библиотеке для матчеров; или AST, если его можно собрать вручную и потом "заставить" LLVM сгенерировать по нему плюсовый код.