Μια Γλώσσα Ειδικού Τομέα (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.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Elixir με 58 έννοιες168 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.