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.
--
Daniela Becker