LLVMの上にプログラミング言語コンパイラをブートストラップしています。現在、自己コンパイル型のCのサブセット用のコンパイラーの作成はほぼ完了しています。それが終わったら、言語をCからブートストラップし、自己コンパイルを維持します。
コンパイラーは自己コンパイル型なので、私が使用するCの機能はすべて実装する必要があります。したがって、それは一定のバランスです。使用する機能が多すぎると、必要以上に実装する必要がありますが、十分な機能を実装しないと、コードを記述できなくなります。
そのような機能の1つがLLVMバインディングです。LLVMCバインディングなしでLLVM中間表現を生成することは困難です。ただし、LLVMバインディングを使用する場合は、Cから分岐するときにそれらを再度実装する必要があります。
ここで問題が発生しているので、別の解決策を探しています。何か案は?