Difference between revisions of "Seminar/2009-02-25"
From LRDE
Line 19: | Line 19: | ||
extensions de langage. |
extensions de langage. |
||
| duration = 45 |
| duration = 45 |
||
+ | | keywords = language, concurrency |
||
| orator = Patrick Viry, Ateji |
| orator = Patrick Viry, Ateji |
||
| resume = Patrick Viry a obtenu un doctorat d'informatique à l'INRIA-Lorraine en |
| resume = Patrick Viry a obtenu un doctorat d'informatique à l'INRIA-Lorraine en |
||
Line 65: | Line 66: | ||
milieu industriel. |
milieu industriel. |
||
| duration = 45min |
| duration = 45min |
||
+ | | keywords = language, compilation |
||
| orator = Pierre-Etienne Moreau - INRIA Nancy - Grand Est |
| orator = Pierre-Etienne Moreau - INRIA Nancy - Grand Est |
||
| resume = Pierre-Étienne Moreau est Chargé de Recherche à l'INRIA |
| resume = Pierre-Étienne Moreau est Chargé de Recherche à l'INRIA |
Revision as of 10:23, 28 March 2014
Mercredi 25 février 2009, 14h-17h, Amphi 1
Mise en oeuvre et application des extensions de langages
- Keywords
- language, concurrency
Patrick Viry, Ateji
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.
www.ateji.com
Programmation par règles : application à la transformation d'arbres en Java
- Documents
- moreau-print.pdf, moreau-animated.pdf
- Keywords
- language, compilation
Pierre-Etienne Moreau - INRIA Nancy - Grand Est
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.
http://tom.loria.fr, http://www.loria.fr/~moreau