Arrancando un compilador: ¿por qué?

entiendocómo un idioma puede arrancar, pero no he podido encontrar mucha referencia enpor qué usted debe considerar bootstrapping.

La respuesta intuitiva es que el lenguaje que está escribiendo ofrece utilidades que no se encuentran en el lenguaje "base" del compilador,y Las características del lenguaje son relativamente adecuadas para un compilador.

Por ejemplo, tendría sentido iniciar un compilador de C ++: potencialmente podría ser mucho más fácil mantener el compilador cuando se usa correctamente la POO, en lugar de usar la C simple.

Por otro lado, MATLAB sin duda hace que las matrices sean mucho más fáciles que la C simple, pero no puedo ver ningún beneficio aparente al escribir un compilador / intérprete de MATLAB en MATLAB.Menos mantenible Una vista similar podría aplicarse al lenguaje de programación R. O un ejemplo bastante extremo sería bootstrapping.Espacio en blanco, que está escrito en Haskell - definitivamente una masivasúperconjunto de espacios en blanco.

¿Es la única razón por la que Bootstrapping aprovecha las características del nuevo idioma? Sé que también existe la razón "porque podemos", pero eso no es lo que estoy buscando :)

Respuestas a la pregunta(11)

Su respuesta a la pregunta