Я загружаю компилятор языка программирования поверх LLVM. В настоящее время я в основном делаю запись компилятора для подмножества C, которое самокомпилируется. Когда я закончу это, я забуду свой язык от C, поддерживая самокомпилирование, когда я уйду.
Поскольку компилятор самокомпилирует, любые функции C, которые я использую, мне придется реализовать. Таким образом, это постоянный баланс: если я использую слишком много функций, мне придется реализовать больше, чем я хочу, но если я не реализую достаточно функций, будет сложно написать код.
Одной из таких функций является привязка LLVM. Создание промежуточного представления LLVM без привязок LLVM C затруднено. Однако, если у меня есть привязки LLVM, я должен реализовать их снова, когда я откажусь от C.
У меня здесь проблемы, поэтому я ищу альтернативные решения. Любые идеи?