Attention. Ce cours n'est plus enseigné sous cette forme. En conséquence, cette page n'est plus actualisée. Les informations contenues peuvent ne plus être exactes.
Le module de projet 1 de la maîtrise d'informatique consiste à réaliser un développement logiciel conséquent.
Plusieurs projets sont proposés aux étudiants, en particulier Philippe Durif propose le développement d'un gestionnaire de bases de données relationnelles, Mireille Clerbout celui d'un logiciel de gestion de projets ; je propose le développement d'un compilateur Pascal.
La note du module est partagée entre une note donnée à votre logiciel, une note de votre documentation et une note individuelle d'examen.
Le développement de notre compilateur Pascal est basé sur une analyse récursive descendante : le compilateur « suit~» la grammaire du langage.
Notre compilateur produit du code (P-Code) pour une machine abstraite : la P-Machine. Dès la première séance de TP, nous construisons un interprète P-Code.
La construction du compilateur est progressive ; nous produisons un petit compilateur d'un sous-ensemble de Pascal auquel nous ajoutons ensuite des fonctionnalités telles la gestion de types, la définition de fonctions et procédures, la compilation séparée...
Les développements se font en C sous Unix.
Vous travaillez en binôme.
Un polycopié intitulé « Travaux Dirigés et Travaux Pratiques pour la Construction d'un Petit Compilateur de Pascal~» est utilisé.
Quelques uns des sujets d'examens des années précédentes sont disponibles :
Quelques compilateurs Pascal sont disponibles sur le web ; vous trouverez des exemples de programmes Pascal, des propositions d'extensions du langage...
Les spécifications d'un compilateur minimal sont disponibles.
Quelques exemples de programmes Pascal glanés auprès des étudiants des
années précédentes sont accessibles : ~marquet/petit-pascal/sources-pascal
.