Estoy estudiando Bootstrapping de Red Dragon Book Compilers y encontré que el diagrama T para el compilador cruzado es bastante confuso. No puedo entender lo que significa "Ejecutar compilador1 a través de compilador2". ¿Alguien puede proporcionar una mejor explicación, analogía o un ejemplo para relacionarse con algún compilador del mundo real?
Alguna notación primero. Por Me refiero a un compilador para el lenguaje L escrito en lenguaje S que produce idioma de salida / código de máquina N . Se trata de una lápida o T-diagramas .
Compilar un compilador
Supongamos que tenemos un compilador cruzado para un nuevo lenguaje L en el lenguaje de implementación S que genera código para la máquina N.
Supongamos que también tenemos un compilador S existente que se ejecuta en la máquina M que implementa el código para la máquina M:
Ejecute LSN a través de SMM para producir LMN
Construcción del compilador