Creation D'Un DSL Pour Confectionner Des Cartes de Voeux: Inf: Compilation
Creation D'Un DSL Pour Confectionner Des Cartes de Voeux: Inf: Compilation
Creation D'Un DSL Pour Confectionner Des Cartes de Voeux: Inf: Compilation
PAIX-TRAVAIL-PATRIE PEACE-WORK-FATHERLAND
********** **********
MINISTERE DE MINISTRY OF HIGHER EDUCATION
L’ENSEIGNEMENT SUPERIEUR ********
******** UNIVERSITY OF DSCHANG
UNIVERSITE DE DSCHANG ********
******** FACULTY OF SCIENCES
FACULTE DES SCIENCES *******
******* DEPARTMENT OF MATHEMATICS
DEPARTEMENT DE AND
MATHEMATIQUES- COMPUTER SCIENCES
INFORMATIQUE
INF : COMPILATION
Année Académique
2021-2022
TABLE DES MATIERES
Introduction.................................................................................................................................3
XTEXT................................................................................................................................4
GEMOC..............................................................................................................................4
Pour la mise sur pied de notre DSL nous utiliserons plusieurs outils mais
l’outil par excellence sera XTEXT.
XTEXT
Notons aussi que les langages développés via Xtext peuvent selon son tutoriel
être définis non seulement avec le langage Java, mais aussi d'autres langages tels que
C, C++, C# objective C, Python et Ruby. De plus, une fois que le DSL est mis en
œuvre, son utilisation devient indépendante de la JVM.
GEMOC
Une fois téléchargé, ouvrez le setup, scrollez et selectionnez «Eclipse IDE for
Java and DSL Developers»
Figure 1: Installation de Xtext
Poursuivez juste l’installation, c’est prêt! Eclipse Xtext est installé! Il est nécessaire
de téléchargez ANTLR generator téléchargeable à l’adresse :
http://www.java2s.com/Code/Jar/a/Downloadantlrgenerator320jar.htm
Après codage de cette grammaire dans Eclipse, nous avons le code suivant, qui est en
fait notre DSL :
Quelques explications du DSL
Une carte de vœux est constituée d’une entête, d’un contenu (situé entre des
accolade) et d’une salutation.
Une entête contient une formule de politesse (non terminal Formule), un vœux à
souhaiter et éventuellement le nom d’une personne, qui est en fait la personne à qui
est destinée la carte.
NB: La liste des formules et vœux que nous avons utilisés n’est pas exhaustive. Nous
nous sommes restreints à quelques termes.
Une salutation contient une formule finale et le nom de la personne qui envoie la
carte, en guise de signature.
Afin d’évaluer notre DSL, nous créons un projet de test dans eclipse après avoir
généré les artefacts du projet. Dans ce projet, nous créons un fichier avec l’extension de notre
DSL qui est .carteVoeux.
Après validation de cette opération de création du fichier .carteVoeux, éclipse nous
demande de convertir le projet contenant le fichier nouvellement créé en un projet xtext.
Le DSL reconnaîtra toutes les cartes de vœux qui ont le formalisme que nous
avons décrit et affichera des erreurs pour celle qui ne e respectent pas.