Bonjour,
Vous êtes tous cordialement invités à assister au séminaire qui aura
lieu ce mercredi 9 juillet 2008 à 14 heures en Amphi masters au KB.
-----------------------------------------------------------------------
Le programme :
*Transformers et Vaucanson*
http://publis.lrde.epita.fr/Seminar-2008-07-09
TRANSFORMERS
14h00 : Implémentation d’une extension du C++ dans Transformers : class
namespace -- Vincent Ordy
14h30 : Centaur : Une infrastructure générique simplifiant les
transformations de C++ -- Cedric Raud
15h00 : Désambiguïsation des patrons de type C++ avec les Grammaires
Attribuées de Transformers -- Warren Seine
VAUCANSON
15h45 : Interface graphique de Vaucanson -- Florent D'Halluin
16h15 : Amélioration de la composition des transducteurs dans Vaucanson
–- Jerome Galtier
-----------------------------------------------------------------------
Les Résumés des exposés :
**************************
TRANSFORMERS
Implémentation d’une extension du C++ dans Transformers : class
namespace -- Vincent Ordy
Les classes en C++ sont fermées, c’est-à-dire qu’on ne peut rien leur
ajouter une fois leur définition terminée. Or, la plupart du temps, les
programmeurs séparent la définition de l’implémentation, ce qui oblige à
utiliser une syntaxe répétitive, en particulier dans le cas de patrons
de classes ou de classes imbriquées. On se propose donc de faire une
extension de la grammaire du C++ permettant via une syntaxe proche de
celle des namespaces de définir plus aisément des méthodes ou attributs
statiques déjà déclarés dans la définition de la classe. Dans ce but,
nous utiliserons la grammaire du C++ implémentée dans Transformers, et
des transformations écrites en Stratego.
Centaur : Une infrastructure générique simplifiant les transformations
de C++ -- Cedric Raud
La grammaire du standard du C++ n’ayant pas été conçue pour etre
aisément analysable, son utilisation dans le cadre de la manipulation de
programme est comparable à la complexité de l’AST généré par celle-ci.
Le rôle de Centaur au sein de Transformers est ainsi de fournir une
infrastructure générique permettant de manipuler et de synthétiser cet
AST : les transformations de programmes sont simplifiées gràce a un
accès plus aisé aux informations contenues dans l’arbre syntaxique et
ses annotations. Grâce à cette bibliotheque, les tâches répétitives et
souvent génératrices d’erreurs, comme l’énumération des éléments d’un
conteneur ou la recherche des classes parentes d’une classe, seront
factorisées par un ensemble de fonctions correspondant à un modèle
modulaire et extensible.
15h00 Désambiguïsation des patrons de type C++ avec les Grammaires
Attribuées de Transformers -- Warren Seine
Malgré sa sensibilité au contexte, le C++ est analysable avec une
grammaire hors-contexte mais ambigüe. La désambiguïsation est ensuite
nécéssaire pour sélectionner le seul arbre syntaxique sémantiquement
valide. Transformers est une collection d’outils pour la transformation
de programmes C++ qui utilise les grammaires attribuées pour réaliser
cette étape. Une des plus difficiles ambiguités dans le langage concerne
la métaprogrammation. Puisque du code est généré à l’instanciation, tous
les types ne sont pas nécéssairement connus à la déclaration. La
vérification des types est donc obligatoire pour traiter totalement le
cas des patrons, ce qui pose un véritable défi. Ce rapport se concentre
sur la désambiguïsation des patrons de type et détaille les problèmes et
leur méthode de résolution, afin de fournir une meilleure plateforme de
manipulation de sources.
VAUCANSON
Interface graphique de Vaucanson -- Florent D'Halluin
Vaucanson est une plateforme de manipulation d’automates finis. Débuté
en 2002, le projet attire de plus en plus d’utilisateurs. De ce fait,
une interface utilisateur efficace est nécessaire. Pour l’utilisateur
non expert, la manipulation d’automates peut s’effectuer via taf-kit,
une suite d’outils accessible en ligne de commande. Une première
interface graphique avait été esquissée en 2005, mais son fonctionnement
était lent et compliqué car elle s’appuyait sur taf-kit pour réaliser
chaque opération. Cette nouvelle interface graphique, branchée
directement sur le coeur de la bibliothèque pour plus d’efficacité,
simplifie la manipulation d’automates et rend accessible les algorithmes
génériques de Vaucanson.
Amélioration de la composition des transducteurs dans Vaucanson –-
Jerome Galtier
Vaucanson est une bibliothèque dont un des buts est de permettre un
accès facilité à des automates et aux algorithmes qui leur sont
associés. Elle met donc à notre disposition plusieurs algorithmes
standard (et d’autres moins conventionnels) tels que la déterminisation,
le calcul des états accessibles etc. L’un de ces algorithmes est la
composition de transducteurs. Celuici n’est pas d’une nature aisée à
aborder et son implémentation dans Vaucanson est perfectible. Améliorer
l’implémentation d’un tel algorithme est alors un bon moyen de mettre à
l’épreuve certains choix de conception dans Vaucanson.
--
Daniela Becker