Estou estudando Bootstrapping dos Red Dragon Book Compilers e achei o diagrama T do cross compiler bastante confuso. Não consigo entender o que significa "Executar o compilador1 através do compilador2". Alguém pode fornecer uma explicação melhor, analogia ou um exemplo para se relacionar com algum compilador do mundo real?
Alguma notação primeiro. Por I significa um compilador de linguagem escrito em linguagem que produz linguagem de saída / código de máquina . Esta é uma pedra tumular ou t-diagramas .
Compilando um compilador
Suponha que tenhamos compilador cruzado para uma nova linguagem L na linguagem de implementação S, gerando código para a máquina N.
Suponha que também tenhamos um compilador S em execução no código de implementação da máquina M para a máquina M:
Execute LSN através do SMM para produzir LMN
Construção do compilador