Projet de compilation et génie logiciel

INPG, 2ème année de l'Ensimag

Alain Girault



Table des matières



Résumé du projet

Le projet de compilation et génie logiciel se déroule de novembre à février. Le but est de réaliser entièrement un compilateur d'un sous-ensemble de Pascal (appelé Mini-Pascal) vers de l'assembleur pour une machine abstraite style Motorola 68000. Le langage de programmation est Ada95. Le projet consiste en une mise en oeuvre des techniques de base de compilation (analyse lexicale et syntaxique, vérifications contextuelles, et enfin génération de code), avec également les aspects de génie logiciel (spécification, conception détaillée, campagne de test, documentation, recette). Les étudiants travaillent par groupes de trois (en trinômes).

Depuis les travaux de Aho, Sethi et Ullman [1], il est d'usage de décomposer un compilateur en trois partie, chacune réalisant une passe de compilation. Notre compilateur suit fidèlement ce découpage. Ces trois passes sont :

En novembre, 3 séances de TD de 3 heures chacune servent à présenter le travail à effectuer et faire des rappels sur les 3 passes du compilateur. Ces rappels sont abordés sur un plan général sans se soucier des contraintes de mise en oeuvre. Puis en janvier il y a un stage d'une semaine à temps plein (15 heures de TD). Le but est de reprendre en détails la première passe (analyse lexicale et syntaxique, et construction de l'arbre abstrait) et d'en commencer la mise en oeuvre. Les outils lex et yacc sont utilisés pour cette première phase. Pendant tout le reste du projet, les étudiants travaillent de façon autonome, avec deux séances de soutien par semaine (2 fois 20 minutes par trinôme).

Chaque trinôme doit rendre le logiciel exécutable de leur compilateur, ainsi que les documents de réalisation des 3 passes, les descriptions des campagnes de test, et un bilan personnel. L'évaluation tient compte à la fois des réalisations (logiciels et documentations) et de la méthode de travail tout au long du projet.

Le document qui suit est une synthèse des bilans des étudiants. Il est destiné aussi bien aux futurs enseignants qu'aux futurs étudiants.



Commentaires

Voici tout d'abord une synthèse rapide des commentaires faits par les étudiants à la fin du projet.



Morceaux choisis

Enfin voici quelques extraits choisis parmi les bilans des étudiants. Ils sont à méditer :



Références bibliographiques

[1] A.V. Aho, R. Sethi et J.D. Ullman, « Compilateurs, principes, techniques et outils », InterEditions.



Dernière modification : 10 avril 2000