Работа с LLVM из Java


Я полностью осознаю, что подобный вопрос уже был задан здесь: генерация LLVM-кода из Java

Дело в том, что это было в 2012 году...Я посмотрел на решения и обнаружил, что большинство упомянутых проектов заброшены или, по крайней мере, очень неактивные. Итак, как человек, который больше всего привык работать с Java, каковы были бы мои варианты работы с LLVM (чтобы создать игрушечный язык, не используя clang или что-то еще)?
  • попробуйте использовать один из этих проектов, даже если он может быть устарел? Звучит как плохая идея.
  • Выучите C / C++? Не поймите меня неправильно, у меня уже есть c++-книга, лежащая вокруг, и я не говорю, что это плохой язык, но я очень сомневаюсь, что буду чувствовать себя комфортно, работая с ним.
  • Используйте привязки для других языков, таких как Haskell, Python и т. д.? Я мог бы предпочесть это C/C++, но это означало бы изучить еще один полный язык перед началом работы...
  • написать свои собственные привязки? Я никогда не делал ничего подобного,я бы даже не знал, что разница между JNI, JNA и еще чем-то...но, возможно, будет интересно узнать.
  • попробуйте отформатировать LLVM IR в текстовой форме? Может сработать, но это, вероятно, не самая лучшая идея.
1 2

1 ответ:

Просто чтобы окончательно ответить на этот вопрос, пресеты Java C++ являются полезным и в основном актуальным вариантом для этого: https://github.com/bytedeco/javacpp-presets/tree/master/llvm