CSC_52064 : Compilation
Enseignant responsable
: Jean-Christophe
Filliâtre
Année 2025-26
(moodle)
Présentation
Ce cours est une introduction à la compilation. On y explique les
techniques et outils utilisés dans les différentes phases d'un
compilateur, jusqu'à la production de code assembleur optimisé.
plan du cours
Cours
- Introduction (5 janvier 2026)
- Cours 1 (5 janvier 2026) : Assembleur x86-64
- Cours 2 (12 janvier 2026) : Syntaxe abstraite, sémantique et interprète
- Cours 3 (jeudi 22 janvier 2026) : Analyse lexicale et syntaxique
- Cours 4 (26 janvier 2026) : Typage
- Cours 5 (2 février 2026) : Modes de passage
- Cours 6 (9 février 2026) : Objets et fermetures
- Cours 7 (16 février 2026) : Compilateur optimisant 1/2
- Cours 8 (23 février 2026) : Compilateur optimisant 2/2
- Cours 9 (9 mars 2026) : Allocation mémoire
TD
Examen
Le contrôle écrit (non classant) aura lieu le lundi 16 mars de 14h à 17h.
(Salle à déterminer.)
Archives :
Ressources
Environnement de travail
Pour les TD et le projet, vous aurez besoin
- de compiler du code assembleur x86-64 (TD 1 + fin du projet) ;
- de compiler du code Java ou OCaml, au choix (à partir du TD 2).
Voici quelques pointeurs.
Cartes de référence
Ouvrages en rapport avec le cours
Ces trois ouvrages sont disponibles à la BCX.
Le cours ci-dessus ne suit pas vraiment ces ouvrages.
Néanmoins, se sont de très bons ouvrages, conseillés pour aller plus loin.
For foreign students not yet fluent in French
- A tiny French-English dictionary
(also in the appendix of the lecture notes)
- a rough correspondence between the lectures and chapters from the
books above (which are in English):
| Lecture | Chapters
|
| 1 | Assembly | Bryant & O'Hallaron 3
|
| 2 | Semantics | Pierce 3-4-5
|
| 3 | Syntactic analysis | Dragon 3-4
|
| 4 | Typing | Pierce 8-9-10 et 22
|
Merci à Léon Gondelman et Mário Pereira pour leur aide pendant la
préparation de ce cours.
Note : Ce cours a été assuré entre 2005 et 2016
par François Pottier.
Le matériel de ce cours est
archivé ici.