Track
/
Lean
Lean
/
Esercizi
/
DOT DSL
DOT DSL

DOT DSL

Difficile

Istruzioni

Un linguaggio specifico di dominio (DSL) è un piccolo linguaggio ottimizzato per uno specifico dominio. Dato che un DSL è mirato a uno scopo preciso, può avere un grande impatto sulla produttività e sulla comprensione, permettendo a chi scrive di dichiarare cosa vuole anziché come.

Uno degli ambiti in cui vengono applicati sono le personalizzazioni e le configurazioni complesse.

Per esempio, il linguaggio DOT permette di scrivere una descrizione testuale di un grafo che viene poi trasformata in un'immagine da uno degli strumenti Graphviz (come dot). Un grafo semplice si presenta così:

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

Se metti questo contenuto in un file example.dot ed esegui dot example.dot -T png -o example.png, ottieni un'immagine example.png con un cerchio rosso e uno blu collegati da una linea verde su uno sfondo giallo.

Scrivi un linguaggio specifico di dominio simile al linguaggio dot di Graphviz.

Il nostro DSL è simile al linguaggio dot di Graphviz nel senso che verrà usato per creare strutture dati a grafo. Tuttavia, a differenza del linguaggio DOT, il nostro DSL sarà un DSL interno, da utilizzare solo nel nostro linguaggio.

Scopri di più sulla differenza tra DSL interni ed esterni.

Sintassi Lean

In questo esercizio dovrai definire la sintassi di un DSL simile al linguaggio DOT.

Per questo compito probabilmente dovrai usare notazioni o macro. Dai un'occhiata a un riferimento.

Note

In questo esercizio, gli archi sono rappresentati da un singolo - tra i nodi, a differenza del -- usato nel linguaggio DOT vero e proprio. In questo modo si evitano conflitti con la sintassi dei commenti su una sola riga di Lean.

Inoltre, ogni istruzione termina con ;, anche i commenti a livello di grafo.


Fonte

WikipediaIl link si apre in una nuova finestra o scheda
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Lean Exercism

Vuoi iniziare DOT DSL?

Iscriviti a Exercism per imparare e padroneggiare Lean con 100 esercizi e il mentoring di persone reali, tutto gratis.