Le langage de description des MCD de Mocodo est relativement simple à analyser (plus précisément : il est rationnel), ce qui jusqu'à présent est fait ici et là à coups d'expressions régulières. Ce type de bricolage a des limites. Procéder à une analyse standard en deux étapes (lexing et parsing) clairement séparée du reste du code présenterait de nombreux avantages du point de vue de la sûreté et de l'extensibilité. Cela permettrait aussi :
de spécifier rigoureusement la syntaxe du langage en BNF et de la visualiser.
de créer de nouveaux transformers, similaire à l'obfuscation (qui pourrait être réécrite de façon plus simple) : p. ex., l'application automatique de conventions typographiques homogènes aux noms des entités et des associations. Le traitement se ferait sur la sortie du lexer.
d'assainir l'algorithme de passage au relationnel, en en retirant tous ses emplois « abusifs » (p. ex., la construction d'un dictionnaire des données ne devrait rien demander de plus qu'une analyse lexicale).
d'ajouter une coloration syntaxique (sous Mocodo online, sous forme d'extension au format TextMate pour les éditeurs de texte comme VSCode).
Le langage de description des MCD de Mocodo est relativement simple à analyser (plus précisément : il est rationnel), ce qui jusqu'à présent est fait ici et là à coups d'expressions régulières. Ce type de bricolage a des limites. Procéder à une analyse standard en deux étapes (lexing et parsing) clairement séparée du reste du code présenterait de nombreux avantages du point de vue de la sûreté et de l'extensibilité. Cela permettrait aussi :