Outils pour créer un langage ( Translate to English ) Convertir en PDF Version imprimable
Appréciation des utilisateurs: / 0
FaibleMeilleur 
Ecrit le 28-11-2006 (3414 hits) ... section Compilation

Dans certains contextes,  il est parfois utile de créér un langage dédié de script par exemple.
Ce langage peut etre associé à un domaine, comme les ERP par exemple. J'ai eu une expérience dans ce domaine, ou j'ai créé un langage dédié à la RH/paie.

J'ai eu aussi une expérience en C dans laquelle j'ai créé un langage de configuration evolué pour un outil travaillant par batch sur une arborescence de répertoires. Ce langage avait pour objectif de controler au niveau local d'un répertoire les taches que devaient accomplir cet outil (traitement d'image, compression..).

Cela passe par l'usage d'outils spécifiques, dont la finalité est de créer un compilateur dans le langage cible. 

En C, l'incontournable est Lex & Yacc, implémentés en opensource sous Flex & Bison.
Ils sont difficiles à mettre en oeuvre, et aussi à mettre au point, aussi sont ils réservés à des dévelpopeurs C avancés.

En Java, j'ai eu l'occasion d'evaluer javaCC et SableCC, qui sont tout deux de même richesse. D'approche objets, leur utilisation est vraiment plus accessible, avec la génération d'un AST (Abstract Syntax Tree), parcouru selon le design pattern du "Visiteur", donc très élégant.

J'ai préféré utiliser SableCC pour plusieurs raisons, parmi lesquelles la licence d'utilisation et l'élegance générale d'utilisation.
Mais pour information, JavaCC ayant passé par les mains de Sun, je dois dire que c'est lui qui est le plus populaire.

Enfin, il est utile de se documenter sur la notation BNF, car la description de la grammaire des langages se fait souvent dans un format qui s'en rapproche. 

 

 
< Précédent
 

Navigation
Home
Contacts
Développement
Logistique de projet
Bases de données
Systèmes
Réseaux & Télécom
Outils
Reliques
Téléchargement
Recherche
Plan du site
Administration
Agenda Online
Page cours IUT GTR
Login





Mot de passe oublié ?
Visites

Sites amis
View Nadir BOUSSOUKAIA's profile on LinkedIn
Mes photos