Proposition de stage : Généricité Structurelle "à la" Grammaire Attribuée

Last modified: Mon Dec 2 1996


Les Grammaires Attribuées (GAs) sont un paradigme de programmation déclaratif et dirigé par la syntaxe qui a prouvé sa valeur sur de grosses applications comme les compilateurs. Nous étudions les GAs depuis de nombreuses années dans le projet Oscar de l'INRIA­Rocquencourt. La concrétisation de ces travaux est le système Fnc-2 destiné à traiter des applications industrielles mais qui est aussi le support de tous nos travaux de recherche.

La notion de généricité dans les GA est un sujet brûlant, objet depuis quelques années d'un intense effort de recherche. La motivation principale de ces travaux est de rechercher un moyen élégant et efficace pour permettre une meilleure réutilisabilité dans la programmation par GA. Plus précisément, étant donnée une GA spécifiant un calcul (un programme) structuré selon une certaine grammaire de base, on cherche à réutiliser ce programme (la GA) dans un tout autre contexte, sur une nouvelle grammaire.

Au sein de notre équipe, nous poursuivons une approche originale pour aborder ce sujet que nous appelons la généricité structurelle. Dans les GAs, il existe une notion particulière de composition (au sens fonctionnel du terme), appelée méta-composition : la méta-composition de deux GAs produit une nouvelle GA équivalente à la composition fonctionnelle des deux GAs données.

Parallèlement notre groupe s'est particulièrement intéressé aux équivalences entre la programmation fonctionnelle et les grammaires attribuées Duris97. En particulier, nous avons montré que les recherches sur la programmation fonctionnelle dirigée par la structure (catamorphismes) et les transformations de programmes (fusion) qu'elle autorise, pouvaient être comparées aux travaux sur les grammaires attribuées et leur méta-composition. Dans le même cadre, les travaux sur la notion de programme polytypic [Jansson97] proposent une extension du polymorphisme basée sur une description explicite de la construction de la structure, pour faire de la généricité.

Le sujet du stage consiste à comparer formellement l'approche de la généricité structurelle et la notion de programme polytypic et à les replacer dans le cadre de nos analogies entre programmation fonctionnelle et grammaires attribuées. Cette comparaison est la première étape vers l'intégration de la généricité structurelle par grammaire attribué dans la programmation fonctionnelle. Une suite naturelle à ce sujet serait de comparer cette approche de généricité structurelle avec d'autres travaux sur la généricité comme l'approche orientée objet.


Lieu du stage :
Avant-projet Oscar, INRIA, bâtiment 13, Domaine de Voluceau, Rocquencourt, B. P. 105, 78153 Le Chesnay Cedex
Responsables :
Didier Parigot (Didier.Parigot@inria.fr, 01.39.63.55.46), Martin Jourdan (Martin.Jourdan@inria.fr, 01.39.63.54.35)


Généralités et autres sujets de stage sur les grammaires attribuées proposés par le projet Oscar

Références:
[Jansson97]P. Jansson and J. Jeuring.PolyP - a polytypic programming language extension. In 24th ACM Symp. on Principles of Programming Languages, 1997.