Logo EPFL
Ecole Polytechnique Fédérale de Lausanne
Compilation 2003/2004
english | français
  • 03/02/2004:
    Ajouté transparents pour la partie 11 du cours.

  • Voici un résumé des dates importantes :
    05/02/2004, 14:00: Dernière limite pour l'inscription à l'examen oral.
    06/02/2004, 13:00: Examen oral.
    06/02/2004, 16:00: Date limite pour le rendu de la partie 5 du projet, par e-mail.
    12/02/2004, 09:00: Examen oral pour les étudiants de systèmes de communication qui prennent le cours de compilation en remplacement de celui de Compilation A.

  • 28/01/2004:
    Ajouté transparents pour la partie 10 du cours.

  • 20/01/2004:
    Ajouté transparents pour la partie 9 du cours.

  • 13/01/2004:
    Ajouté transparents pour la partie 8 du cours.

  • 09/01/2004:
    Publié la 5eme partie du projet.

  • 06/01/2004:
    Ajouté transparents pour la partie 7 du cours.

  • 12/12/2003:
    Publié la 4eme partie du projet.
  Survol
Survol

Ce cours est un cours de construction de compilateurs. Il aborde les aspects fondamentaux de l'analyse des langages de programmation et de leur traduction en une forme exécutable. À 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 d'un 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 programmation,
  • comprendre les compromis entre pouvoir d'expression, simplicité, et performance d'un langage de programmation,
  • participer à la conception et à la réalisation d'un logiciel où la théorie est essentielle pour la réussite.
Langue

Le cours et les exercices sont donnés en français. Une version anglaise du cours donné il y a 3 ans se trouve ici

Notice pour les étudiants de la section Systèmes de Communication

Les étudiants de la section Systèmes de Communication qui suivent le cours de Compilation de la section Informatique en remplacement du cours Compilation A doivent faire tous les exercices et le projet de ce cours jusqu'à la semaine 8 incluse. Ils devront également passer un examen oral à la fin du semestre qui portera sur tout le matériel présenté durant les 8 premières semaines.

Bibliographie

Professeur: Prof. Martin Odersky

Cours: Mercredi, 11:15-13:00, salle INM 202
Exercices: Vendredi, 13:15-15:00, salle INF 3

Le cours est géré par Sygeco2. Sygeco2 est un service web qui vous permet de vous inscrire au cours, de former des groupes pour le projet et de consulter vos notes durant le semestre.

Sygeco2 utilise votre numéro et votre mot de passe Camipro pour vous authentifier. L'accès à Sygeco2 est restreint à l'EPFL. Si vous voulez y accéder depuis l'extérieur, vous devez utiliser soit un VPN soit un tunnel SSH.

Si vous avez besoin d'aide pour Sygeco2, n'hésitez pas à contacter un des assistants. Il y a aussi un manuel qui n'est plus très à jour (certaines parties ne s'appliquent plus à la version courante).

  Projet
Survol

Le but de ce projet est d'écrire un petit compilateur pour le langage de programmation misc. Les documents suivants fournissent les détails concernant misc :

Etapes
Mesures contre la copie

La note de ce cours est en partie déterminée par un projet que vous aller réaliser par groupes de 2 ou 3 étudiants. Il est parfaitement autorisé (et même recommandé) que les membres d'un groupe échangent leur code ou lisent le code des autres. Par contre, il est strictement interdit de copier du code d'autres groupes ou de projets des années précédentes (qui sont de tout façon différents du projet de cette année).

Cette année, tous les étudiants devront soumettre leur projet par voie électronique. Nous testerons chaque programme avec un logiciel de détection de copies. Si nous détectons deux soumissions très semblables, nous interrogerons les groupes concernés. Si nous parvenons à déterminer qui a copié sur qui, le groupe qui a copié, recevra 0 points pour cette partie de l'exercice. Si nous ne parvenons pas à déterminer qui a copié sur qui, alors tous les groupes concernés recevront 0 points. Pour cette raison, il est très important que vous protégiez le code que vous écrivez.

Pour terminer, un groupe qui copie à plusieurs reprises échouera l'ensemble du projet.

Valid XHTML 1.0! Valid CSS 1.0!
 
>