Skip to topic | Skip to bottom
Home
Publications
Publications.Seminar-2008-07-09r1.3 - 07 Jul 2008 - 13:39 - DanielaBeckertopic end

Start of topic | Skip to actions

CSI Seminar: 9 Juillet 2008, Transformers et Vaucanson, EPITA, Amphi masters, KB

TRANSFORMERS

14h00 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.

14h30 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

15h45 Interface graphique de Vaucanson -- Florent DHalluin

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.

16h15 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.
to top

You are here: Publications > Seminar-2008-07-09

to top

Copyright © 1999-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback