Eugène
Front End et Back End est une technique importante lors des constructions conformes. Le compilateur est divisé en deux groupes Front End et Back End. Front End traite le langage source du compilateur. Back End traite le langage cible du compilateur. Si la langue source change, nous n'avons qu'à changer le Front End du compilateur. Si la langue cible est modifiée, nous ne modifions que le Back End du compilateur.
Dans le processus d'amorçage, nous écrivons le compilateur "Quick and Dirty" en langage assembleur pour le langage C. Ensuite, écrivez un compilateur efficace en langage C (disons B) et donnez-le en entrée au compilateur "Quick and Dirty". Compilez le compilateur B via le dernier compilateur pour obtenir un compilateur efficace. Expliquons ce processus à travers un exemple. Nous avons un compilateur de langage C qui fonctionne sur Intel. Maintenant, nous voulons un compilateur de langage C qui fonctionne sur AMD. Dans celui-ci, nous écrivons un module frontal et compilons notre programme dans une machine de base Intel. Nous obtenons un compilateur croisé qui s'exécute sur la machine Intel mais génère du code pour la machine AMD. Nous compilons le programme source sur un compilateur croisé et obtenons un compilateur qui s'exécute sur la machine AMD et génère du code pour la machine MAD.