La description du projet de compilation est disponible en PDF ou en Postscript. Dernière mise à jour: 8/10/2005.
Les fichier de support pour le projet sont
disponibles ici
ainsi que plusieurs exemples de programmes correctes et incorrectes de
CTigre ici.
Attention: il vous faut un Gnu Make recent pour utiliser les Makefiles
vus en cours et/ou fournis.
DATES IMPORTANTES:
Le 12/12/05 nous avons vu en cours un exemple complet de compilation qui détaille toutes les phases du compilateur sur un exemple simple: vous trouvez ici en ligne une trace de tout cela.
On utilisera principalement la mailing list du cours pour repondre aux questions sur le projet, mais quelques questions vont aussi trouver réponse sur cette page, donc revenez souvent.
Q: "vous donnez dans les fichiers support du projet le code lexer.ml et parser.ml du parseur et lexeur; peut-on les reprendre pour notre projet, ou doit-on produire nous même un parseur et un lexeur?"
R: Le cours de Compilation du Master de Paris 7 ne traite plus de l'analyse lexicale et syntaxique, qui est supposée connue, parce-que traitée en cours en Licence (Analyse Syntaxique et Compilation, ex Programmation 2).Q: "L'émulateur SPIM donne un erreur si on utilise des expressions arithmétiques dans la définition des symboles ou dans les modes d'adressage!"
R: L'émulateur Spim originaire n'implemente pas toute la sophistication de l'assembleur MIPS, mais seulement la machine MIPS étendue. Pour pouvoir nous servir de quelque facilités, comme la possibilité d'ecrireframesize_f001=48 frameoffset_f001=16 f001: lw $3 framesize_f001-frameoffset_f001-4($sp)il nous faut une version très legèrement modifiée de SPIM, que vous pouvez obtenir en cliquant ici.