INF564 : Compilation

Enseignant responsable : Jean-Christophe Filliâtre

Année 2020-21 (promotion X2018)

(moodle)

Présentation

Ce cours est une introduction à la compilation. On y explique les techniques et outils utilisés dans les différentes phases d'un compilateur, jusqu'à la production de code assembleur optimisé. Un compilateur pour un fragment du langage C vers l'assembleur x86-64 est réalisé en TD.

plan du cours

Cours

TD

Modalités de rendu et d'évaluation du projet

sujet du projet

Le projet est à faire seul ou en binôme, en Java ou en OCaml. Le projet est à rendre pour le dimanche 14 mars 18h00.

Il doit être envoyé par email à l'enseignant responsable du cours, sous la forme d'une archive compressée contenant le code, accompagné d'un court rapport (au format ASCII, Markdown ou PDF). Le rapport doit aider à la lecture du code, expliquer les difficultés rencontrées, les solutions apportées, les éléments non réalisés ou au contraire réalisés au delà de ce qui était demandé.

Le projet sera évalué sur la base de la lecture du rapport et du code. Cela ne signifie pas pour autant qu'il faille commenter le code à outrance ; un code bien écrit se suffit à lui-même.

Des tests du projet seront réalisés, à des fins d'information, mais ne préjugeront en rien de la note qui sera attribuée au projet. Ainsi, un projet pourra passer tous les tests et ne pas obtenir la note maximale pour autant ; de même qu'un projet pourra ne passer aucun test et pour autant ne pas obtenir une note catastrophique.

Attention : Il est demandé de réaliser une extension, laissée au choix. Voir à la toute fin du sujet.

Examen

Le contrôle écrit (non classant) aura lieu le lundi 15 mars, de 14h à 17h.

Archives :

Ressources

Environnement de travail

Pour les TD et le projet, vous aurez besoin Voici quelques pointeurs.

Cartes de référence

Ouvrages en rapport avec le cours

Ces trois ouvrages sont disponibles à la BCX. Le cours ci-dessus ne suit pas vraiment ces ouvrages. Néanmoins, se sont de très bons ouvrages, conseillés pour aller plus loin.

For foreign students not yet fluent in French


Merci à Léon Gondelman et Mário Pereira pour leur aide pendant la préparation de ce cours.

Note : Ce cours a été assuré entre 2005 et 2016 par François Pottier. Le matériel de ce cours est archivé ici.