Cours de Compilation
M1-Master Informatique 2011-2012
Notes de cours
Ne pas imprimer abusivement!
Premier cours : Lundi 12 septembre 2011 - 8h30-12h45 petit amphi
Horaire usuel : jeudi 10h45 - 12h45 petit amphi
-
Cours 1-2 (12 sept) : introduction à la compilation
- Cours 3 (15 sept) : analyse lexicale, analyse syntaxique (1)
- Cours 4 (22 sept) : analyse syntaxique (2) + analyse sémantique (portée)
- Cours 5 (29 sept) : analyse sémantique (typage), génération de code
- Cours 6 (6 oct) : génération de code (conditions, objets composés)
- Cours 7 (13 oct) : génération de code (fonctions)
- 20 oct : pas de cours
- 27 oct : partiel, documents autorisés feuille A4 manuscripte recto-verso
- Cours 8 (3 nov) : compilation langage objet, gestion de la mémoire
- Cours 9 (10 nov) : vers du code assembleur optimisé
- Cours 10 (17 nov) : allocation de registres
- Cours 11 (24 nov) : typage avancé, polymorphisme, analyse statique de programmes
- 15 déc : examen, documents autorisés feuille A4 manuscripte recto-verso
Projet de compilation
Responsable : Kim Nguyen
(Kim.Nguyenl[@]lri.fr)
Le projet de compilation permet d’appliquer les méthodes et outils
étudiés dans le cours de compilation pour l’analyse lexicale,
syntaxique, le typage et la génération de code. Il donne l’occasion de
réaliser un projet de développement logiciel important.
Le projet est réalisé en Caml
(un aperçu des
performances de Caml).
Site du projet
SPIM: un simulateur MIPS32
Travaux dirigés
-
Lundi 10h-12h30 (à partir de 8h30 les 19 et 26 septembre)
(David Baelde) salle D 203 Lundi 7 novembre, séance sur machine de 10h à 12h30 salle E202
- Mercredi 09h00-11h30
(Christine Paulin) salle D 203
Mercredi 9 novembre, séance sur machine de 9h à 11h30 salle E202
Recueils d’exercices à apporter à chaque séance de TD.
-
Semaine 1 : 12 sept
-
Introduction à la compilation (pdf): 1.1, 1.2, 1.3
- Semaine 2 : 19 sept
- Analyse lexicale (pdf): 2.1, 2.2
- Semaine 3 : 26 sept
- exercice ocamllex sur machine 2.5
squelette de l’analyseur lexical,
fichier test solution
- Semaine 4 : 3 oct
- Analyse syntaxique (pdf) 3.1 3.2
- Semaine 5 : 10 oct
-
Analyse sémantique: 4.1
- Semaine 6 : 17 oct
- Suite analyse sémantique, TD sur machines (salle D104)
Squelette du problème
Corrigé
- Semaine 7
- lundi 24 octobre et mercredi 2 novembre
Génération de code
- Partiel jeudi 27 octobre 9h-12h
- Semaine 8 : 7 nov
- TD sur machines (salle E202)
Génération de code - fin de l’exercice sur la récursion
terminale - tableaux dynamiques Squelette du problème (Solution récursion terminale)
- Semaine 9 : 14 nov
- Génération de code: langages objets
- Semaine 10 : 21 nov
- Analyse de vivacité, allocation de registres Enoncé (pdf)
- Semaine 11 : 28 nov
- Analyse sémantique : surcharge et polymorphisme Enoncé (pdf)
Quelques sujets d’examen
-
2011/2012
- Partiel Novembre (avec corrigé)
Examen Décembre (avec corrigé)
- 2010/2011
- Partiel Novembre/
Examen Décembre (Corrigé (partiel) de l’examen),
Examen Juin
- 2009/2010
- Partiel Novembre/
Examen Décembre, Examen Juin
- 2008/2009
- Partiel Novembre/
Examen Décembre, Examen Juin
- 2007/2008
- Examen Décembre
- 2006/2007
- Partiel Octobre/Examen Décembre
- 2005/2006
- Partiel Novembre/Examen Janvier
- 2004/2005
- Partiel Novembre/Examen Janvier
- 2003/2004
- Partiel Novembre/Examen Janvier
- 2002/2003
- Partiel Novembre/Examen Janvier/Examen Septembre
- 2001/2002
- Partiel Novembre/Examen Janvier/Examen Septembre
- 2000/2001
- Partiel Novembre/Examen Janvier/Examen Septembre
- 1999/2000
- Examen Janvier
- 1998/1999
- Examen Janvier
Archives
This document was translated from LATEX by
HEVEA.