Académique Documents
Professionnel Documents
Culture Documents
Introduction la compilation
1.1
Motivation
La compilation est l'un des maillons de la chaine de dveloppement d'un programme informatique (voir Figure 1).
Au dbut de l'aire informatique, on n'avait pas besoin de la compilation car les tous premiers langages de programmation (langage A-0, langage assembleur) taient trs proches
du langage machine. Il susait donc d'appliquer de simples algorithmes de transcodage
pour avoir un programme excutable. Depuis, les langages de programmation n'ont cesss
d'voluer, et on parle dsormais de langage de haut niveau.
La compilation est ne de la complexit de la tache qui consiste de passer d'un programme crit dans un langage de haut niveau vers un programme excutable. Cette tche
est ralise par un programme informatique appel compilateur.
1.2
Compilateur
Un compilateur est un programme particulier qui lit un programme crit dans un langage
source et le traduit en un programme crit dans un langage cible (voir Figure 2).
Au cours du processus de compilation, l'un des rles importants des compilateurs est
de signaler l'utilisateur la prsence d'erreurs dans le programme source.
Compilateur de
C vers langage machine ;
C++ vers C ;
JAVA vers C++ ;
Matlab vers JAVA ;
Word vers html ;
Latex vers PDF ;
Exemples :
CHAPITRE 1.
INTRODUCTION LA COMPILATION
Phases de la compilation
Cette tape partitionne le programme source en plusieurs constituants et en cre une reprsentation intermdiaire.
L'analyse comprend trois phases :
1. L'analyse lexicale, o le ot de caractres formant le programme source est lu de
gauche droite et group en units lexicales qui sont des suites de caractres ayant
une signication collective. Cette phase rpond la question : est-ce que les mots
qui existent dans le programme source sont corrects ?
1.3.
PHASES DE LA COMPILATION
2. L'analyse syntaxique : cette phase permet de dire si la squence des mots rsultant
de l'analyse lexicale forme bien des phrases cohrentes. Si oui, ces units lexicales seront groupes hirarchiquement dans des structures imbriques, ( arbre syntaxique ),
ayant une signication collective.
3. L'analyse smantique : au cours de cette phase, on opre certains contrles pour
s'assurer que l'assemblage des constituants d'un programme a un sens. La phase
d'analyse smantique rpond, entre autres, aux questions : Est-ce que les oprandes
de toutes les oprations sont correctes (types), faut-il faire une conversion, est-ce que
les indices d'un tableau sont corrects. Si oui, le compilateur extrait un programme
crit dans un autre langage.
1.3.2