DOT DSL

DOT DSL

Nehéz

Utasítások

A tartományspecifikus nyelv (DSL) egy adott területre optimalizált kis nyelv. Mivel a DSL célzott, nagyban növelheti a termelékenységet és a megértést azzal, hogy az író azt deklarálhatja, amit szeretne, nem pedig azt, hogy hogyan.

Az egyik problématerület, ahol ezeket alkalmazzák, a bonyolult testreszabások és konfigurációk.

Például a DOT nyelv segítségével szövegesen leírhatsz egy gráfot, amelyet aztán a Graphviz egyik eszköze (például a dot) képpé alakít. Egy egyszerű gráf így néz ki:

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

Ha ezt egy example.dot fájlba írod, és lefuttatod a dot example.dot -T png -o example.png parancsot, létrejön egy example.png kép, amelyen sárga háttéren egy piros és egy kék kör látható, zöld vonallal összekötve.

Írj egy tartományspecifikus nyelvet, amely hasonlít a Graphviz dot nyelvéhez.

A mi DSL-ünk abban hasonlít a Graphviz dot nyelvéhez, hogy gráf adatszerkezetek létrehozására fogjuk használni. A DOT nyelvvel ellentétben azonban a mi DSL-ünk belső DSL lesz, amelyet csak a saját nyelvünkben használunk.

Tudj meg többet a belső és a külső DSL közötti különbségről.

A Lean szintaxisa

Ebben a feladatban egy, a DOT nyelvhez hasonló DSL szintaxisát kell definiálnod.

Ehhez a feladathoz valószínűleg notációkat vagy makrókat kell használnod. Érdemes lehet megnéznie egy referenciát.

Note

Ebben a feladatban az éleket egyetlen - jelöli a csomópontok között, szemben a valódi DOT nyelvben használt -- jelöléssel. Így nem ütközik a Lean egysoros megjegyzéseinek szintaxisával.

Ráadásul minden utasítás ;-tal végződik, még a gráf szintű megjegyzések is.


Forrás

WikipediaA hivatkozás új ablakban vagy lapon nyílik meg
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Lean Exercism

Készen állsz elkezdeni a(z) DOT DSL feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Lean nyelvet 100 feladat segítségével, valódi emberi mentorálással, mindez ingyen.