Einen Compiler für .net - IL oder Bytecode schreiben?

Ich tauche gerade in das Innenleben von .net ein, was IL bedeutet. Als Übung möchte ich einen brainf..k-Compiler für .net erstellen (ja, es gibt sie bereits, aber wie gesagt, zu Lernzwecken).

Im Moment schreibe ich nur einige Textdateien, die .il enthalten, und kompiliere sie mit ilasm, was funktioniert. Aber ich frage mich, ob ich eine Ebene tiefer gehen und direkt Bytecode schreiben könnte / sollt

Meine "Sorge" ist das Windows PE-Zeug beim Kompilieren einer EXE-Datei - anstelle von ilasm würde ich eine Art Bytecode-Linker benötigen, der meinen MSIL / CIL-Bytecode nimmt und das PE-Zeug dafür generiert?

Oder kompilieren Compiler "nur" ihre Sprache nach IL und führen ilasm aus? Gibt es eine verwaltete Version davon, die ich von meinem Compiler aus aufrufen / einbetten kann?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage