Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) a lieu demain
Mercredi 25 février 2009 (14h-17h).
Au programme:
* 14h: Mise en oeuvre et application des extensions de langages
-- Patrick Viry, Ateji
www.ateji.com
Je présenterai sur la base d'une démo une application des
extensions de
langages, à savoir une extension Java pour l'optimisation. Cet
exemple
montre la mise en oeuvre concrète dans Eclipse, les gains de
productivité et de qualité obtenus par rapport aux approches
classiques
Java+DSL, la différence entre cette approche et un générateur de
code ou
un préprocesseur. Il montre également une utilisation originale d'un
compilateur: la génération automatique d'interface graphique.
Je parlerai aussi des futurs projets d'Ateji dans le domaine des
extensions de langage.
Patrick Viry a obtenu un doctorat d'informatique à l'INRIA-
Lorraine en
1992. Il a poursuivi une carrière de chercheur à l'Université de
Kyoto,
sur deux thèmes principaux: les modèles théoriques du parallélisme
et
les outils de développement de type éditeur syntaxique. Il a rejoint
l'industrie en 1999, d'abord dans une société japonaise réalisant
des
contrats pour le MITI, puis en tant qu'architecte du langage OPL
chez
Ilog. Il a fondé Ateji en 2005 pour développer et commercialiser des
technologies innovantes dans le domaine des langages et des outils
de
programmation.
* 15h30: Programmation par règles : application à la transformation
d'arbres en Java
-- Pierre-Étienne Moreau - INRIA Nancy - Grand Est http://
tom.loria.fr
Dans cet exposé je présenterai un outil, appelé Tom, qui permet de
simplifier la programmation d'outils de manipulation et de
transformation de structures arborescentes, telles que les AST
(Abstract
Syntax Trees) ou les documents XML par exemple. Tom est un langage
de
programmation qui ajoute à Java des constructions inspirées du
calcul de
réécriture et des langages à base de règles. On peut, de manière
approximative, voir Tom comme une intégration d'un sous-ensemble
de Caml
dans Java.
Le langage repose sur trois notions fondamentales :
(i) les termes, qui sont un modèle universel permettant de décrire
des
structures arborescentes, et en particulier les notions de
programmes et
de preuves.
(ii) les règles, qui permettent de décrire de manière expressive des
transformations.
(iii) les stratégies, qui permettent de contrôler l'application des
règles.
La séparation transformation-contrôle est un point essentiel
permettant
de rendre les règles indépendantes de leur contexte d'utilisation,
facilitant ainsi leur écriture, leur réutilisation et
l'établissement de
propriétés.
Le Langage Tom est parfaitement adapté à la réalisation d'outils de
transformation et de prouveurs. Son intégration dans Java rend son
utilisation facile, aussi bien dans le milieu académique que dans le
milieu industriel.
Pierre-Étienne Moreau est Chargé de Recherche à l'INRIA Nancy-
Grand Est,
responsable de l'équipe Pareo. Il s'intéresse au développement
d'outils
et de langages permettant de développer plus rapidement des
applications
complexes et ceci de manière plus sûre. Dans ce cadre, il a
développé au
cours de sa thèse le compilateur du langage ELAN. Depuis 2001, il
coordonne le développement de l'environnement Tom, qui permet
d'intégrer
et d'utiliser les notions de réécriture, de stratégie, de filtrage
équationnel dans un environnement de programmation Java. Les
principales
applications à ce jour sont la réalisation de compilateurs, d'outils
d'analyse et de transformation de programmes, ainsi que des
prouveurs
automatiques.
Pour plus de renseignements, consultez
http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.