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