Chapitre Introduction à la compilation
Introduction à la compilation
Cette leçon fournit les bases pour comprendre ce qu'est la compilation
Introduction à la compilation
Introduction à la compilation
Un compilateur est un programme qui a comme entrée un code source écrit en langage de haut niveau
(langage évolué) et qui produit comme sortie un code cible en langage de bas niveau (langage d’assemblage ou langage machine).

Structure générale d'un compilateur
Un compilateur comprend une séquence d'étapes logiques :
- l'analyse lexicale
- l'analyse syntaxique
- l'analyseur sémantique
- le générateur de code intermédiaire
- l'optimisateur de code
- le générateur de code

Analyse lexicale
Décompose le flux de caractère provenant du code d'origine en un ensemble d’entités lexicales (tokens) qui servent d'alphabet pour la grammaire.
Analyse syntaxique
L’analyseur syntaxique (appelé Parser en anglais) a pour rôle principal la vérification de la syntaxe du code en
regroupant les tokens suivant des phrases obéissant à des règles qui permettent de construire une
représentation syntaxique du code source (AST).
Analyse sémantique
Les analyses sémantiques vérifient que les phrases analysées qui sont syntaxiquement correctes ont un sens.
Exemple :
Je m'appelle Sylvain. SYNTAXE OK, SENS OK
Tu s'manger 24 ans, SYNTAXE OK, SENS KO
Le générateur de code intermédiaire
Il prend l'AST produit dans les étapes précédentes et génère un code source agnostique, facile à optimiser, proche de l'architecture de la machine.