DOT DSL

DOT DSL

Difficile

Instructions

Un langage dédié (DSL) est un petit langage optimisé pour un domaine précis. Parce qu'un DSL est ciblé, il peut grandement améliorer la productivité et la compréhension, en permettant à celui qui l'écrit de déclarer ce qu'il veut plutôt que comment y parvenir.

L'un des domaines où on les rencontre est celui des personnalisations et configurations complexes.

Par exemple, le langage DOT permet d'écrire une description textuelle d'un graphe, qui est ensuite transformée en image par l'un des outils Graphviz (comme dot). Un graphe simple ressemble à ceci :

graph {
    graph [bgcolor="yellow"]
    a [color="red"]
    b [color="blue"]
    a -- b [color="green"]
}

Si on met ceci dans un fichier example.dot et qu'on exécute dot example.dot -T png -o example.png, on obtient une image example.png avec un cercle rouge et un cercle bleu reliés par une ligne verte sur un fond jaune.

Écris un langage dédié similaire au langage dot de Graphviz.

Notre DSL est similaire au langage dot de Graphviz en ce sens qu'il servira à créer des structures de données de graphe. Toutefois, contrairement au langage DOT, notre DSL sera un DSL interne, destiné à n'être utilisé que dans notre langage.

Pour en savoir plus sur la différence entre les DSL internes et externes.

Syntaxe Lean

Cet exercice te demandera de définir la syntaxe d'un DSL similaire au langage DOT.

Cette tâche te demandera probablement d'utiliser des notations ou des macros. Tu peux consulter une référence.

Note

Dans cet exercice, les arêtes sont représentées par un seul - entre les nœuds, contrairement au -- utilisé dans le véritable langage DOT. Cela évite les conflits avec la syntaxe des commentaires sur une ligne de Lean.

De plus, chaque instruction se termine par un ;, même les commentaires au niveau du graphe.


Source

WikipediaLe lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Lean Exercism

Prêt à commencer DOT DSL ?

Inscris-toi sur Exercism pour apprendre et maîtriser Lean avec 100 exercices, et un vrai mentorat humain, le tout gratuitement.