J'étudie Bootstrapping de Red Dragon Book Compilers et j'ai trouvé le diagramme en T pour le compilateur croisé assez déroutant. Je ne peux pas comprendre ce que l'on entend par «exécuter compilateur1 à compilateur2». Quelqu'un peut-il fournir une meilleure explication, une analogie ou un exemple pour se rapporter à un compilateur réel?
Quelques notations d'abord. Par Je veux dire un compilateur pour le langage écrit en langage qui produit des codes de langue de sortie / machine à N . Ceci est une pierre tombale ou T-diagrammes .
Compiler un compilateur
Supposons que nous ayons un compilateur croisé pour un nouveau langage L dans le langage d'implémentation S générant du code pour la machine N.
Supposons que nous ayons également un compilateur S existant fonctionnant sur la machine M implémentant le code de la machine M:
Exécutez LSN via SMM pour produire LMN
Construction du compilateur