Предметно-орієнтована мова програмування
Перейти до навігації
Перейти до пошуку
Предметно-орієнтована мова програмування (англ. Domain-specific language, DSL) — мова програмування, призначена для вирішення задач конкретної предметної галузі, яка дає особливе уявлення про проблему або специфічні методи її вирішення. Протилежністю предметно-орієнтованих мов є мови програмування загального призначення.
Прикладами предметно-орієнтованих мов є мови виразів і макросів в електронних таблицях, мова регулярних виразів, мова граматики Yacc генератора парсерів тощо.
Порівняно з мовами програмування загального призначення, DSL близька до описових мов, таких, як HTML, XML. Вона має специфічні особливості порівняно з мовами загального призначення, а саме:
- абстракції DSL забезпечують визначення концепцій і абстрактних понять у предметній області;
- синтаксис мови DSL може надавати засоби природного опису понять домену і запобігати синтаксичній неузгодженості, що буває при використанні мови загального призначення;
- перевірка опису в DSL вимагає статичних аналізаторів, що можуть знайти більше помилок, ніж аналізатори загального призначення, і дати повідомлення про них цією ж мовою, що є більш зрозумілим для фахівців у предметній області;
- оптимізація коду за описом в DSL базується на знаннях, що не є доступними компілятору з мови загального призначення;
- інструменти підтримки DSL потребують відповідного оточення, наприклад, середовища, редактора, контролера версій тощо[1].
Див. також[ред. | ред. код]
Примітки[ред. | ред. код]
- ↑ 5.1.6. Генерувальне (порождувальне) програмування. Архів оригіналу за 23 лютий 2014. Процитовано 6 лютий 2014.