Liste des projets du module : Langages Fonctionnels (DESS GLA - 2000-2001)
L'évaluation du cours <<Langages Fonctionnels>> est en partie commune
avec le cours <<Langages embarqués>>. Elle se décompose d'une part en un projet
à choisir à la page :
http://youpou.lip6.fr/queinnec/Teaching/langemb/LangEmb.html
ou ici même,
et d'autre part en un examen écrit commun aux deux cours, mais noté séparément pour les parties spécifiques.
Le projet principal proposé pour le cours <<Langages Fonctionnels>> est de réaliser, en Objective Caml,
une nouvelle implantation du langage SCOL, développé par la socièté Cryo-networks. C'est un projet conséquent qui reprend
le travail effectué par la promotion de l'an dernier.
Pour cela il est décomposé en sous-projets réalisables en binôme, sauf précision dans le sujet, dans le temps imparti. Ces sous-projets devront être <<pipelinés>>. Il n'est pas utile de choisir le projet numéro 5, si les 4 précédents ne le sont pas.
La coordination des projets sera effectuées soit par l'un des projets, soit directement par l'enseignant.
1 Interprète et compilateur du langage SCOL
Les sources dans un dépot CVS sur la machine vance.ecoledoc.lip6.fr :
/users/profs/emmanuel/2000-2001/CVS-DEPOT
accessibles au groupe prjscol.
1.1 Noyau de l'interprete SCOL
Pour 3 étudiants
-
nettoyage du noyau : AS + typage + eval + environnements
vérification de la syntaxe
typage des traits des déclarations avancées
évaluation des traits manquants
gestion des environnements
optimisation
1.2 Bibliothèque de base
Pour 2 étudiants
-
bibliotheque de base :
variables globales de la machine
entiers, chaines, listes, tableaux, flottants, heure, console
ressources, version
fichiers
1.3 Couche et bibliothèque réseau, lancement de machines
Pour 3 étudiants
-
canaux et communications :
canaux (TCP et UDP)
serveurs
communication : messages par la fonction _on
controle des files d'attente
lancement d'une machine SCOL et communications entre machines
1.4 Compilateur naif
Pour 2 ou 3 étudiants selon les bibliothèques implantées
-
génération du noyau du langage
- chargement d'un fichier SCOL => compilation en ML puis chargement
- bibliothèques
1.5 Organisation et jeux de tests
Pour 1 ou 2 étudiants selon les jeux de tests effectués
-
Organisation et planification du projet
- Création de jeux de tests
Ce document a été traduit de LATEX par
HEVEA.