¿Escribir un compilador para .net - IL o Bytecode?

Actualmente me estoy sumergiendo en el funcionamiento interno de .net, lo que significa IL. Como ejercicio, quiero construir un compilador brainf..k para .net (sí, ya existen, pero como se dijo es para fines de aprendizaje).

Por el momento solo estoy escribiendo algunos archivos de texto que contienen .il y los compilo con ilasm, que funciona. Pero me pregunto si podría / debería ir un nivel más profundo y escribir el código de bytes directamente.

Mi "preocupación" son las cosas de Windows PE al compilar un EXE: en lugar de ilasm, ¿necesitaría algún tipo de enlazador Bytecode que tome mi código de bytes MSIL / CIL y genere las cosas PE para ello?

¿O los compiladores "solo" compilan su lenguaje en IL y ejecutan ilasm? ¿Existe una versión administrada que pueda llamar / insertar desde mi compilador?

Respuestas a la pregunta(7)

Su respuesta a la pregunta