|
|
Survol
Qui aimerait implémenter un algorithme pour la
multiplication dans un langage assembleur? Mais pour
faire comprendre un langage de haut niveau à un
ordinateur, il faut un moyen de traduction. Mais la
compilation est bien plus: lire, manipuler et
réécrire des données est utile
dans beaucoup d'autres domaines.
Le cours donne une introduction pratique de la compilation,
en montrant des techniques d'implémentation fondamentales.
Les heures de cours comprennent l'implémentation
d'un projet de compilation, en utilisant des techniques
orientées-objet modernes.
Horaires
- Cours: Vendredi, 8:00 - 10:00 CO2
- Projet: Vendredi, 9:00 - 10:00 IN1
- Exercices: Dans le cadre du cours.
Transparents
Les transparents seront mis à disposition
un ou deux jours avant les cours.
Littérature
- Andrew W. Appel,
Modern compiler implementation in Java.
Addison-Wesley, 1997.
Introduction pratique bien illustrée.
A la base du cours.
- Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman.
Compilers - Principles, Techniques, and Tools.
Addison-Wesley, 1986.
Le grand classique. Plus théorique.
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
Design Patterns - Elements of Reusable Object-Oriented
Software.
Addison-Wesley, 1994.
Techniques de programmation orientées-objet.
Exercices
Projet
La description du langage est prête.
Je vais ajouter les sources ainsi que les instructions pour écrire
l'analyseur lexical vendredi matin.
Instructions pour réaliser
l'analyseur lexical.
Instructions pour réaliser
l'analyseur syntaxique.
Proposition d'un analyseur syntaxic;
à adapter à vos besoins spécifics.
Instructions pour réaliser
un pretty printer.
Instructions pour réaliser
un analyseur sémantique et un interprète.
Examen
Date et lieu:
- le 02.07.2002 de 8:15
à 10:15,
- dans la salle SG1 - Auditoire.
Deux parties:
- Questions générales sur le cours. (30 minutes)
- Questions dans le style des exercices et du projet. (1 heure 30 minutes)
Questionnaires séparés. Le questionnaire sur
la première partie doit être rendu avant
de recevoir celui sur la deuxième.
Matériel:
Une feuille (a4) par candidat(e) sera autorisée pour la
deuxième partie de l'examen.
Contact
Liens
|
|