|
Survol
Ce cours est un cours de construction de compilateurs. Il aborde
les aspects fondamentaux de l'analyse de langage de programmation
et de leur traduction en une forme exécutable. A la fin du cours,
l'étudiant devrait
- pouvoir définir la syntaxe formelle d'un langage de
programmation,
- pouvoir définir la sémantique d'un langage avec un
interpréteur,
- connaître les structures internes et l'architecture des
compilateurs,
- être capable d'écrire un compilateur qui traduit un langage
simple en un code exécutable,
- connaître les structures et les motifs de constructions
(design patterns) utilisés dans la construction de
compilateur,
- connaître la représentation en mémoire à l'exécution des
principales constructions d'un langage de programmation.
Quelques buts moins tangibles mais tout aussi importants sont:
- Améliorer la compréhension des langages de programmations,
- comprendre les compromis entre pouvoir d'expression,
simplicité, et performance d'un langage de programmation,
- participer à la conception et à la réalisation d'un
logicielle où la théorie est essentielle pour la réussite.
Le cours et les exercices sont donnés en français. Une version
anglaise du cours donné l'année passée se trouve ici
Bibliographie:
Professeur: Prof. Martin Odersky
Horaire
Cours: |
mercredi 11:15-13:00, salle IN2 |
Exercices: |
vendredi 13:15-15:00, salle IN3 |
Examen
Sera annoncé ultérieurement.
Transparents
Nous essayons de publier les transparents du cours aussi vite que
possible. Parfois, il nous arrive de modifier des transparents
que nous avons déjà publiés. Pour cette raison, nous ajoutons un
numéro de version à chaque série de transparents et indiquons
s'il s'agit de la version finale.
Exercices
Les notes des exercices sont maintenant disponibles.
- Grammaires BNF/EBNF (26.10.2001)
- Grammaires LL(1) (16.11.2001)
- Compilation du OU logique (25.1.2002)
- La solution du problème présenté au cours.
Projet
Général
Inscription : Le projet se déroulera en groupes de 3
personnes. Chaque groupe devra s'inscrire au moyen du formulaire d'inscription.
Séances
Contacts
- Prof. Martin Odersky
martin.odersky@epfl.ch, INR 329,
tel. +41 21 693 6863
- Michel Schinz
michel.schinz@epfl.ch, INR 318,
tel. +41 21 693 4209
- Philippe Altherr
philippe.altherr@epfl.ch, INR 318,
tel. +41 21 693 5281
- Vincent Cremet
vincent.cremet@epfl.ch, INR 320,
tel. +41 21 693 6867
- Nikolay Mihaylov
nikolay.mihaylov@epfl.ch, INR 329,
tel. +41 21 693 6483
- Christine Röckl
christine.roeckl@epfl.ch, INR 320,
tel. +41 21 693 6867
- Christoph Zenger
christoph.zenger@epfl.ch, INR 321,
tel. +41 21 693 6864
- Matthias Zenger
matthias.zenger@epfl.ch, INR 321,
tel. +41 21 693 6864
Liens utiles
|