DSL aux QCon
21 mars 2008En effet, un des prérequis à l’adoption de DSL est la disponibilité d’outils de « développement » associé. Personne n’acceptera d’utiliser un DSL avec Word comme IDE…
Le principe de XText est simple : en entrée, on fournit une grammaire BNF du DSL (plus quelques infos facultatives supplémentaires : contraintes exprimées en OCL, contenu et structure des vues sur le code), l’outil génère, sous forme d’un plugin eclipse, un parseur, un modèle cible (EMF), un compilateur vers ce modèle et un éditeur qui fournit tout ce qu’on attend : coloration syntaxique, complétion du code, vue « outline » personnalisable, validation temps réel de contraintes.
Le « DSL-IDE » produisant de l’EMF, il est possible d’exploiter sa sortie avec tout l’outillage diponible : visualisation graphique, transformateurs de modèle, générateurs de code. En particulier, il est possible d’intégrer la compilation de ce DSL dans une chaîne de transformation OpenArchitectureWare (oAW Workflow).
Je pense essayer rapidement l’outil avec un petit langage orienté vers la saisie d’exigences métier. Je vous tiendrai au courant.