DOT DSL

DOT DSL

Δύσκολο

Οδηγίες

Μια Γλώσσα Ειδικού Τομέα (DSL) είναι μια μικρή γλώσσα βελτιστοποιημένη για έναν συγκεκριμένο τομέα. Επειδή μια DSL έχει συγκεκριμένο στόχο, μπορεί να επηρεάσει σημαντικά την παραγωγικότητα και την κατανόηση, καθώς επιτρέπει σε όποιον τη γράφει να δηλώνει τι θέλει και όχι πώς θα το κάνει.

Ένας τομέας όπου βρίσκουν εφαρμογή είναι οι σύνθετες προσαρμογές και ρυθμίσεις.

Για παράδειγμα, η γλώσσα DOT σου επιτρέπει να γράψεις μια κειμενική περιγραφή ενός γράφου, η οποία μετά μετατρέπεται σε εικόνα από ένα από τα εργαλεία της Graphviz (όπως το dot). Ένας απλός γράφος μοιάζει κάπως έτσι:

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

Αν το βάλεις σε ένα αρχείο example.dot και τρέξεις dot example.dot -T png -o example.png, δημιουργείται μια εικόνα example.png με έναν κόκκινο και έναν μπλε κύκλο ενωμένους με μια πράσινη γραμμή πάνω σε κίτρινο φόντο.

Γράψε μια Γλώσσα Ειδικού Τομέα παρόμοια με τη γλώσσα dot της Graphviz.

Η DSL μας μοιάζει με τη γλώσσα dot της Graphviz στο ότι θα χρησιμοποιηθεί για τη δημιουργία δομών δεδομένων γράφων. Ωστόσο, σε αντίθεση με τη γλώσσα DOT, η DSL μας θα είναι μια εσωτερική DSL, για χρήση μόνο στη δική μας γλώσσα.

Μάθε περισσότερα για τη διαφορά ανάμεσα στις εσωτερικές και τις εξωτερικές DSL.

Σύνταξη Lean

Αυτή η άσκηση θα απαιτήσει να ορίσεις σύνταξη για μια DSL παρόμοια με τη γλώσσα DOT.

Αυτό το έργο θα απαιτήσει πιθανώς να χρησιμοποιήσεις συμβολισμούς ή μακροεντολές. Ίσως θέλεις να ρίξεις μια ματιά σε μια αναφορά.

Note

Σε αυτή την άσκηση, οι ακμές αναπαρίστανται με ένα μόνο - ανάμεσα στους κόμβους, σε αντίθεση με το -- που χρησιμοποιείται στην πραγματική γλώσσα DOT. Έτσι αποφεύγονται οι συγκρούσεις με τη σύνταξη σχολίων μονής γραμμής της Lean.

Επίσης, κάθε εντολή τελειώνει με ;, ακόμη και τα σχόλια σε επίπεδο γραφήματος.


Πηγή

WikipediaΟ σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Lean Exercism

Έτοιμος να ξεκινήσεις την άσκηση DOT DSL;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Lean με 100 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.