Langages de programmation et compilation 2023-2024
Jean-Christophe Filliâtre
Cours donné aux élèves de première année à
l'École Normale Supérieure.
- Cours le vendredi de 8:30 à 10:30 en salle
E. Noether (ex U ou V)
(voir moodle)
- TDs le jeudi ou le vendredi, de 10h45 à 12h15 en salles INFO 3 NIR
avec Jérôme Boillot
- Évaluation : un examen + un projet
Cours
Séances :
- Cours 1 (29 septembre 2023) : aperçu de la compilation / assembleur x86-64
- Cours 2 (6 octobre 2023) : syntaxe abstraite / sémantique / interprètes
- Cours 3 (13 octobre 2023) : analyse lexicale
- Cours 4 (20 octobre 2023) : analyse syntaxique 1/2
- Cours 5 (27 octobre 2023) : analyse syntaxique 2/2
- pas de cours le vendredi 3 novembre
(vacances Toussaint)
- Cours 6 (10 novembre 2023) : typage
- Cours 7 (17 novembre 2023) : mode de passage des paramètres
- Cours 8 (24 novembre 2023) : compilation des langages fonctionnels
- Cours 9 (1er décembre 2023) : compilation des langages objets
- Cours 10 (8 décembre 2023) : compilateur optimisant, partie 1
- pas de cours le vendredi 15 décembre
- Cours 11 (22 décembre 2023) : compilateur optimisant, partie 2
- Cours 12 (12 janvier 2024) : allocation mémoire
TD
Il y a deux groupes de TD (en alternance avec les TD d'algo) :
- groupe 1 le vendredi 10h45 - 12h15
- groupe 2 le jeudi (de la semaine suivante) 10h45 - 12h15
Séances :
- TD 1 (29 sep/5 oct)
- TD 2 (6/12 oct)
- TD 3 (13/19 oct)
- TD 4 (20/26 oct)
- TD 5 (27 oct/9 nov)
- pas de TD les 2-3 novembre (vacances Toussaint)
- TD 6 (10/16 nov)
- TD 7 (17 nov/23 nov)
- TD 8 (24 nov/30 nov)
- TD 9 (1er déc/7 déc)
- TD 10 (8 déc/14 déc)
- pas de TD les 15 et 21 décembre
- TD 11 (22 déc/11 jan)
- TD 12 (12/18 jan)
Projet
Le sujet du projet sera donné plus tard.
Examen
L'examen aura lieu le vendredi 26 janvier
de 8h30 à 11h30.
Les notes de cours manuscrites ou reprographiées sont les seuls
documents autorisés.
Archives :
janvier 2023
(corrigé) /
janvier 2022
(corrigé) /
janvier 2021
(corrigé) /
janvier 2020
(corrigé) /
janvier 2019
(corrigé) /
janvier 2018
(corrigé) /
janvier 2017
(corrigé) /
janvier 2016
(corrigé) /
janvier 2015
(corrigé) /
janvier 2014
(corrigé) /
janvier 2013
(corrigé) /
janvier 2012
(corrigé) /
janvier 2011
(corrigé) /
janvier 2010
(corrigé) /
janvier 2009
(corrigé)
Liens / Bibliographie
Outils
Cartes de référence
Ouvrages en rapport avec le cours
Ces trois ouvrages sont disponibles à la bibliothèque.
Le cours ci-dessus ne suit pas vraiment ces ouvrages.
Néanmoins, ce 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
- a rough correspondence between the lectures and chapters from the
books above (which are in English):
| Lecture | Chapters
|
2 | Assembly | Bryant & O'Hallaron 3
|
3 | Semantics | Pierce 3-4-5
|
4 | Typing | Pierce 8-9-10 et 22
|
5 | Lexical analysis | Dragon 3
|
6-7 | Syntactic analysis | Dragon 4
|
11 | Memory allocation
| Bryant & O'Hallaron 9
|
Remerciements : merci à Christine Paulin, François Pottier et
Xavier Leroy pour leur aide dans la préparation de ce cours