XDML :: eXtensible Designed Multiparadigm Language
Description
XDML (eXtensible Designed Multiparadigm Language) est un langage de la
famille ML qui correspond à peu près à un sous-ensemble du langage
Objective Caml. Il a été créé dans le cadre d'un projet de
Master d'Informatique de niveau 1.
XDML se distingue d'Objective Caml par sa conservation des types à
l'exécution, ce qui permet notamment d'avoir une fonction
print de type
'a -> unit, et potentiellement
la sérialisation sûre (“potentiellement” car non encore implantée).
Le nom de module Self est réservé : il
s'agit d'un nom générique pour le module courant.
[...]
Sources
Ce projet n'est pas vraiment distribuable en l'état actuellement.
Un jour, espérons-le, il sera distribué, probablement sous licence Gnu GPL.
Pour le moment, voici quelques extraits (les .ml sont pretty-printed
by
camlp4 pa_o.cmo pr_o.cmo), sous licence
Gnu GPL version 2 :
Analyseur Lexical
L'analyseur lexical intègre un pattern
adapter car il n'a pas été prévu dès le départ pour
correspondre au module Lexing de la librairie standard
d'Objective Caml.
Analyseur Syntaxique
Pour utiliser l'analyseur lexical proposé, il faut remplacer les
occurences de "Lexing" par "Lexing2" dans le code généré par
Mehnir (par exemple ainsi :
sed -i -e "s/Lexing/Lexing2/g" parser.ml).
(noter que parser.mly n'est pas compatible avec
ocamlyacc)
L'analyseur syntaxique a encore quelques comportements bizarres à
corriger...
Représentation Abstraite : l'Arbre de Syntaxe Abstraite
(Abstract Syntax Tree)
Auteurs
Les auteurs du langage XDML sont Jérémy Antonucci,
Benjamin Canou,
Adrien Piérard et
Philippe Wang,
ainsi
qu'
Emmanuel Chailloux
qui a encadré le projet.
Les extraits de codes sources actuellement présentés sur cette page
sont de
Benjamin Canou et
Philippe Wang.