En C# es posible como hacer un compilador facil, utiliza lenguage intermediario. Genera IL con System.Reflection y el namespace CodeDom y lo guardas en un assembly.
NO ES EL COMPILADOR DE C#, es tu propio compilador!. necesitaras el CLR de .net para ejecutar obviamnte.
Hay clases que generan codigo para crea variables en timpo de ejecucion)por ejemplo) y hasta crear clases que hereden de otros tipos. Esas clases que ayudan a generar IL la guardas en un
assembly ejecutable, no es dificil, solo le indicas o la ruta un stream a donde lo enviara. Aunque a la hora se serializar necesitaras leer alguos articulos, no es mal de morirse. Si poosees .NET Framework SDK encontraras en la documentacion informacion util, aunque si tienes MSDN es very, very fun!!!. Busca en cualquiera de los un topico que se llama "MSIL" o "IL" y por ahi te vas...
Te aseguro que es mas divertido que dificil. Yo tengo uno pequeño,
Y pense que era el unico loco al que se le habria ocurrido crear un compilador.Escribeme a
thempumpkin1979@hotmail.com y te mando info.