Cours : Paul Feautrier (paul.feautrier)
TD : Bogdan.Pasca (Bogdan.Pasca)
Basic algorithmics, knowledge of at least one high level programming language
L”objectif de ce module est triple:
Le module comprendra une série de cours magistraux, suivi de la réalisation d’un compilateur élémentaire pour un langage simple (Pascal réduit). L’évaluation se fera sur la qualité de ce compilateur, qui donnera lieu à un rapport et à une présentation orale.
Réalisation d’un compilateur pour un langage Pascal réduit: un seul type de données, les entiers, pas de tableaux, structure du programme simplifiée. La grammaire et la sémantique du langage seront précisée au début du cours. Le langage d’implémentation est laissé libre. On conseille cependant l’utilisation soit de Ocaml, soit de Java, pour lesquels il existe de bonnes implémentations de Lex et Yacc.
Le langage cible sera l’assembleur du Pentium.