TD de Compilation (INF 564)

Plan des séances

Vous trouverez ici les sujets des TD. Chaque TD consiste à comprendre et construire une brique supplémentaire du compilateur étudié en cours, afin d'obtenir un compilateur complet au dernier TD. Les TD suivent approximativement l'ordre des langages intermédiaires du compilateur :

OCaml

Ces TD supposent une bonne connaissance d'OCaml, le langage dans lequel le compilateur du cours est implémenté. Si besoin, voici un cours et quelques TD de remise à niveau en OCaml. Pour les curieux, voici un livre très poussé sur OCaml qui le situe par rapport aux autres langages (Hélàs non disponible à la bibliothèque de l'X !) et un livre en ligne de référence sur le développement en OCaml.

La bibliothèque OCaml ? C'est avec la commande "man" ou en ligne.

Besoin de doc pendant les TD ? C'est par ici.

D'autres questions sur OCaml ? C'est par là.

Editeur

Vous pouvez choisir votre éditeur parmi ceux déjà installés sur les machines de la salle info : vim, emacs, xemacs, eclipse, kwrite... Nous vous conseillons d'utiliser vim ou xemacs, pour lesquels un mode OCaml est disponible (coloration du code, indentation automatique...).

Premiers pas avec vim ? C'est par ici. (aide-mémoire incluse)

Premiers pas avec emacs ? C'est par ici.          Un aide-mémoire ? C'est par là.


TD 1 : Assembleur MIPS


TD 2 : Interprète Pseudo-Pascal


TD 3 : Analyse syntaxique


TD 4 : Sélection d'instructions


TD 5 : Expressions et registres


TD 6 : Traduction des appels


TD 7 : Analyse de durée de vie


TD 8 : Allocation de registres


TD 9 : Génération de code assembleur