80 likes | 244 Views
Amorçage des compilateurs. Un compilateur est un programme écrit dans un langage Peut-il être écrit dans le langage cible ? dans le langage source ? comment le modifier quand on crée une nouvelle version du langage source ? quand on crée une nouvelle version du langage cible ?.
E N D
Amorçage des compilateurs Un compilateur est un programme écrit dans un langage Peut-il être écrit dans le langage cible ? dans le langage source ? comment le modifier quand on crée une nouvelle version du langage source ? quand on crée une nouvelle version du langage cible ?
Amorçage des compilateurs Représentation graphique d'un programme en langage L qui traduit du langage S en langage O : S O L L peut être un langage évolué (le programme a été écrit à la main) ou de bas niveau (le programme a été compilé)
Si le programme est compilé et exécuté sur la même machine, L = O : S O O Si le programme est écrit dans un langage évolué L, il faut le compiler pour pouvoir l'exécuter : S O L L O O Résultat : S O O
Compilation d'un compilateur Un compilateur est un programme, il est généralement écrit puis compilé A B C C D E On obtient A B D
Evolution d'un compilateur Comment construire une nouvelle version d'un compilateur ? On peut l'écrire dans le langage source : S O S S O O
Evolution du langage source Le langage source S évolue vers une version S'. Comment construire un compilateur ? S' O O On écrit S' O S S O O
Migration vers un autre langage cible Le langage objet O évolue vers une version O'. Comment construire un compilateur ? S O' O' On écrit S O' S S O O
On a maintenant un compilateur croisé S O' O On compile une deuxième fois avec le compilateur croisé S O' S S O' O Un compilateur croisé tourne sur un processeur et produit du code pour un autre