Bonjour,
Vous êtes tous cordialement invités à assister au séminaire qui aura lieu le mercredi 16 janvier 2008 à 14 heures en Amphi Masters (KB).
----------------------------------------------------------------------- Le programme :
*Transformers, Théorie des Jeux & Vérification du locuteur*
http://www.lrde.epita.fr/cgi-bin/twiki/view/Publications/Seminar-2008-01-16
TRANSFORMERS 14h00 : revCPP : Un préprocesseur C++ réversible -- Quentin Hocquet 14h30 : Transformation de programmes en syntaxe concrète en C++ -- Benoit Sigoure 15h00 : Propagation automatique des attributs pour des grammaires attribuées modulaires -- Nicolas Pierron 15h30 : Désambiguïsation guidée par la sémantique: Comparaison de différentes méthodes -- Renaud Durlin
THEORIE DES JEUX 16h15 : La tablette de chocolat transfinie -- Nicolas Neri
VERIFICATION DU LOCUTEUR 16h45 : Combinaison de noyaux à partir de systèmes SVM en vérification du locuteur -- Charles Alban Deledalle
-----------------------------------------------------------------------
Les Résumés des exposés : **************************
TRANSFORMERS
revCPP : Un préprocesseur C++ réversible -- Quentin Hocquet
Le but du projet Transformers est de créer un framework générique pour de la transformation source à source de code C++. Une transformation "source à source" consiste à retravailler le code et produire un fichier de code source modifié. Ce code peut être relu, ré-utilisé, modifié ... par des programmeurs et doit donc être lisible. De plus, il doit respecter le coding style d'origine. Ce processus de préservation de la mise en page est appelé "High fidelity program transformation". Transformers cible les langages C et C++. Contrairement à de nombreux langages, le C++ est un langage préprocessé pour obtenir le code source effectif. Dans le contexte de la transformation de programmes, il faut dé-préprocesser le code pour le rendre lisible au programmeur. Ce document présente le travail de recherche que nous avons mené pour implémenter un préprocesseur de C++ réversible et un postprocesseur, c'est-à-dire un outil permettant d'obtenir le code d'origine à partir du code préprocessé.
Transformation de programmes en syntaxe concrète en C++ -- Benoit Sigoure
La transformation de programmes dans des langages généralistes tels que le C++ est fastidieuse car elle nécessite de manipuler l'AST du programme transform en syntaxe abstraite (c'est-à-dire dans le langage hôte, ici le C++). Le code à écrire est lourd et coûteux à maintenir. Le but de ce séminaire est de présenter la mise en œuvre de nouvelles techniques de transformation de programmes en syntaxe concrète (c'est-à-dire utilisant directement le langage du programme transformé) dans un environnement C++ standard. Notre approche utilise l'analyseur syntaxique l'exécution pour appliquer des règles de transformation dynamiques. Un compilateur de Tiger servira de support à la présentation.
Propagation automatique des attributs pour des grammaires attribuées modulaires -- Nicolas Pierron
Les grammaires attribuées sont plus adaptées pour décrire (des parties de) la sémantique d'un langage de programmation : accrochées sur les règles de production syntaxique, elles permettent d'exprimer des relations locales qui sont par la suite liées entre elles globalement par un évaluateur générique. Cependant elles ne passent pas à l'échelle quand on travaille avec des langages volumineux et complexes. Premièrement les attributs qui sont requis quasiment partout ont besoin d'être véhiculés par chaque règle de production. Deuxièmement, ces contraintes cassent la modularité car le fait d'étendre une grammaire nécessite la propagation des nouveaux attributs à travers le reste du langage. Ce papier montre comment résoudre ces problèmes en introduisant un système de propagation automatique des attributs qui complète l'ensemble des règles sémantiques. Nous avons défini formellement les contraintes de propagations de manière optimisée afin d'éviter l'ajout de règles sémantiques inutiles. Ainsi les grammaires attribuées sont devenus plus maintenables, modulaires et facile à utiliser.
Désambiguïsation guidée par la sémantique: Comparaison de différentes méthodes -- Renaud Durlin
Modularité, extensibilité et expressivité, trois aspects fondamentaux pour un système de désambiguïsation. La désambiguïsation est l'étape survenant juste après l'analyse syntaxique qui consiste à analyser la sortie obtenue lors de l'utilisation d'un parseur LR généralisé. Le but de cette étape étant de sélectionner, parmi toute une forêt, l'unique arbre valide correspondant à l'entrée en prenant en compte les règles de sémantique contextuelles. Au travers d'une comparaison avec deux autres techniques reposant sur SDF (le formalisme ASF et le langage Stratego), le système de grammaires attribuées utilisé dans Transformers sera évalu par rapport à ces aspect fondamentaux pour en faire ressortir les avantages et inconvénients.
THEORIE DES JEUX
La tablette de chocolat transfinie -- Nicolas Neri
Dans ce rapport technique, nous nous attardons sur le jeu de la tablette de chocolat. On dispose d'une tablette de chocolat dont le carré inférieur gauche est empoisonné. Les joueurs jouent à tour de rôle. Un coup consiste à choisir un carré de chocolat et à le manger ainsi que tous les carrés qui sont à sa droite et au dessus de lui. Le joueur qui mange le carré empoisonné perd la partie. Dans cet exposé, nous nous intéresserons particulièrement au cas où les dimensions du jeu sont de classe cardinale infinie. On présentera également, pour une meilleure compréhension, les nombres ordinaux et leur ordre associé.
VERIFICATION DU LOCUTEUR
Combinaison de noyaux à partir de systèmes SVM en vérification du locuteur -- Charles Alban Deledalle
Les meilleurs systèmes de Verification du Locuteur (VL) sont fondés sur la fusion des scores de décision de plusieurs approches. Les méthodes basées sur les Séparateurs à Vaste Marge (SVM) donnent des résultats très performants. En conséquence, l'apport de ces méthodes est très important pour la fusion. Dans notre approche, nous proposons une nouvelle méthode de fusion des systèmes de VL basés sur les méthodes SVM en construisant une nouvelle fonction noyau à partir d'une combinaison linéaire de plusieurs fonctions. Dans cette combinaison, les poids utilisés varient selon les locuteurs, ce qui diffère des approches par fusion de score qui elles utilisent des poids universels.