Я спрашиваю, существуют ли библиотеки, которые предоставляют спецификацию для IR, которая им требуется, и предоставляют программы для компиляции файла, содержащего этот IR, до машинного кода. Причины, по которым я не хочу использовать LLVM:
Я хочу написать код, который генерирует IR самостоятельно.
Установка библиотек разработки LLVM — это боль в заднице, когда я работаю на разных компьютерах.
Мне нравится, что LLVM позволяет программисту генерировать IR и не беспокоиться о компиляции до сборки, поэтому я все еще хочу эту функциональность.
Вы можете самостоятельно сгенерировать LLVM IR вместо использования API LLVM. LLVM IR имеет удобное текстовое представление, чтобы включить это.
Вы можете установить только двоичные файлы LLVM для обработки IR, а не использовать их внутренние библиотеки, поэтому вам не нужно настраивать библиотеки разработки.
IR-код, сгенерированный вашей программой, затем можно скомпилировать в машинный код с помощью инструмента LLVM. ооо. Для этого не требуется никаких версий библиотек LLVM.
Есть libjit хотя у него, кажется, есть немного меньший диапазон применения (особенно когда дело доходит до анализа).