Information Technology Reference
In-Depth Information
Nous abordons ensuite le fonctionnement d'un outil très courant pour simplifier la
construction d'un programme exécutable à partir de plusieurs modules sources :
l'utilitaire Make.
3.1
LA COMPILATION
La compilation constitue la première étape de la chaîne de production de programmes.
Elle permet la traduction d'un programme dit programme source écrit le plus souvent
en langage de haut niveau vers un programme dit programme objet qui est soit direc-
tement le langage machine, soit le langage d'assemblage. Le programme objet est
stocké sur le disque.
Le compilateur est une application. C'est un logiciel dépendant de la machine
physique vers laquelle il doit produire le langage. Ainsi un programme compilé sur
une machine A ne s'exécutera pas forcément sur une machine B, notamment si B est
différente physiquement de A.
Exemple
La compilation d'un programme écrit en langage C s'obtient en tapant la commande
cc - o prog.c et produit un fichier objet de nom prog.o. De même la compilation
d'un programme écrit en Fortran s'obtient en tapant la commande xlf - c fichier.f
et produit un fichier objet fichier.o.
Le travail du compilateur se divise en plusieurs phases :
- l'analyse lexicale (reconnaissance des mots du langage, c'est-à-dire appréhension
du vocabulaire) ;
- l'analyse syntaxique (vérification de la syntaxe, c'est-à-dire appréhension de la
grammaire) ;
- l'analyse sémantique (vérification de la sémantique, c'est-à-dire appréhension
du sens) ;
- l'optimisation et la génération du code objet.
3.1.1
Grammaire et structure d'un langage de haut niveau
Structure d'un langage de haut niveau
Avant de débuter l'étude du fonctionnement du compilateur, nous nous attachons à
définir la structure d'un langage haut niveau. La définition d'un langage de haut niveau
s'appuie sur :
- un alphabet : c'est l'ensemble des symboles élémentaires disponibles dans le langage
(caractères, chiffres, signes de ponctuation);
- un ensemble de mots encore appelés lexèmes : un mot est un groupe de symboles
élémentaires admis par le langage dont la structure est donnée par une grammaire ;
 
 
Search WWH ::




Custom Search