Meta-compilation et langages multi-paradigmes
Institution:
NiceDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Alors que la qualite des applications est indissociable de celle des compilateurs, la construction de ceux-ci demeurent encore bien souvent artisanale. En effet, les nombreux systemes de metacompilation existants ne sont que peu utilises. De plus, leur aide dans le domaine de la semantique est la plupart du temps faible sinon inexistante ; la semantique est pourtant la partie, non seulement la plus representative d'un langage de programmation, mais aussi la plus complexe a implementer. Elle est donc celle qui necessite le plus d'outils. Apres avoir dans une premiere partie mis ce fait en evidence par l'etude de plusieurs systemes de metacompilation actuels, je presente une boite a outils de composants semantiques reutilisables pour la construction de compilateurs. Cette presentation est faite a travers une analyse theorique et pratique de differents paradigmes de programmation: l'historique, l'expressivite, les avantages et les inconvenients mais aussi et surtout les mecanismes d'implementation et la combinaison avec les autres paradigmes sont ainsi etudies. La presentation de chaque paradigme s'accompagne de celle des composants semantiques que j'ai crees a cette occasion. L'implementation du langage multiparadigmes leda a l'aide du systeme de metacompilation local, cigale, valide ces outils, et montre la possibilite d'utiliser un langage intermediaire prevu a l'origine pour les langages imperatifs (le langage em) pour l'implementation de paradigmes recents. Je conclus en revenant sur la necessite pour le programmeur d'avoir plusieurs paradigmes de programmation a sa disposition, soit sous la forme d'un langage multiparadigmes, soit sous la forme d'un environnement. Cela me permet de montrer l'utilite de disposer pour l'etude et l'implementation de tels langages ou environnements, d'un systeme de metacompilation complet muni d'une boite a outils de composants semantiques. Je conclus sur des perspectives de recherche pour les systemes de metacompilation