Изучая Antlr4, я использовал Golang в качестве целевого языка, поэтому утверждение на моем игрушечном языке, например:
$myVar = 10
$myVar + 5
Будет преобразован в некоторый код Голанга, который генерирует "15" для результата
Однако, насколько я вижу, для ANTLR нет цели IR LLVM, поэтому вопрос: какие у меня варианты?
1) Создать C / C ++, а затем использовать его для излучения LLVM IR?
2) Попробуйте найти ИК-излучатель Golang LLVM?
3) Продолжать использовать сгенерированный лексер / парсер Go, но писать вручную LLVM IR?
Я попытался просмотреть документацию по LLVM и посмотрел несколько видео на LLVM <, но все они, похоже, генерируют C / C ++, а затем общаются с API таким образом. Не уверен, что они это делают, потому что это то, что они знают, или потому, что это единственный способ. </p>
Заранее спасибо за любые идеи!