Lo es. Por lo general, necesita una versión de arranque del idioma compilada o interpretada desde otro idioma.
Y para hacerte pensar un poco más, hace años leí la historia de un compilador de Pascal escrito como un proyecto de estudiante de posgrado. Escrito en Pascal y compilado con el compilador de Pascal incorporado en el sistema. Eventualmente, fue lo suficientemente bueno para reemplazar el compilador de Pascal incorporado en el sistema. Lamentablemente, encontraron un error en la generación de código, pero la solución para el generador de código desencadenó el error en el compilador, generando un compilador incorrecto. Para solucionarlo, se necesita parchear manualmente los archivos binarios del compilador instalado para luego aplicar el parche a la fuente para que se reemplace a sí mismo.
Varias versiones anteriores y enlaces relacionados: http://stackoverflow.com/questions/13537/bootstrapping-a-language http://stackoverflow.com/questions/1493747/bootstrapping-a-compiler-why http: // stackoverflow.com/questions/193560/implementing-a-compiler-in-itself http://stackoverflow.com/questions/1173780/programming-language-and-compiler http://stackoverflow.com/questions/2035838/what- language-do-they-build-other-languages-with http://stackoverflow.com/questions/2740994/what-is-the-language-of-compilersare-they-written-with-different-languages La palabra que quería fue "arranque". – dmckee
Me pregunto con qué frecuencia las personas implementan compiladores para los principales lenguajes usando los esotéricos. – JAB
@Phil Ross - wow, gracias, ¿cómo lo has encontrado? no estaba seguro de cómo buscar :) – froadie