On ne crée pas de nouveau langage tous les jours. C’est une tâche fastidieuse, qui requiert des compétences très spécifiques et beaucoup de temps devant soi. Les outils traditionnels de création d'analyseurs lexicaux et de parseurs comme Lex ou Yacc sont d’ailleurs des noms qui font froid dans le dos et les outils plus récents comme Antlr, bien que beaucoup plus abordables restent complexes à apprivoiser.
De surcroît, créer un langage n’est déjà pas simple, mais lui créer un éditeur est un investissement bien plus lourd encore, réservé aux plus téméraires. Or sans un éditeur approprié, un langage a peu de chance de satisfaire ses utilisateurs. Xtext est un nouveau framework de création de DSL textuelle (Domain Specific Language ou langage dédié) qui change la donne. Ce framework révolutionnaire vous permet de créer un nouveau langage et son éditeur riche pour Eclipse, très simplement. L’éditeur résultant est, de surcroît, doté de la plupart des fonctionnalités avancées que l’on trouve uniquement dans des éditeurs sophistiqués comme l’éditeur Java du JDT Eclipse : coloration syntaxique, coloration sémantique, validation à la saisie, complétion contextuelle, liaison croisée, indexation continue, multi-fichiers, espaces de nommages, reprise sur erreur syntaxique, formatage automatique et propositions de templates, pour ne mentionner que les fonctionnalités essentielles. Ce premier article d’une série sur Xtext et Eclipse RCP vise à vous mettre le pied à l’étrier par la pratique en vous guidant dans l’installation de l’environnement et dans la création de votre premier langage. Dans les articles suivants, nous irons plus loin dans les fonctionnalités avancées de Xtext.
Cédric Vidal