INFO4107 : Compilation et Analyse de Programmes
Compilers and program analysis
- Responsable(s) :
-
- Daniel Hirschkoff
- Enseignant(s) :
-
- Gabriel Radanne
- Yannick Zakowski
Niveau
M1+M2
Discipline
Informatique
ECTS
6.00
Période
1e semestre
Département
Localisation
Site Monod
Année
2024
Public externe (ouverts aux auditeurs de cours)
Informations générales sur le cours : INFO4107
Content objectif
This course covers basic topics in compilation and program analysis: the differents steps of machine language production, as well as program analysis for optimisation and verification:
- lexical and syntactic analysis;
- typing, semantics;
- code optimisation and code generation;
- imperative languages, functional langages;
- abstract interpretation.
Content prerequis
The compilation course need the following requirements:
- Some familiarity with inference rules. For instance "Semantics with Applications", Nielson&Nielson, chapter 1 & 2.
- Understanding of proofs by induction, for instance https://cse.buffalo.edu/~erdem/cse331/support/induction/index.html
- Labs are done with Python. We only require basic familiarity with functions and dictionaries. For instance, https://docs.python.org/3/tutorial/, chapter 1 to 5 (4.7 excluded).
Content modalites
The course has 1 course session (2hours) and 1 lab session (2 hours) per week during the first semester of M1. Students will develop their own compiler over the course.