Предметно-орієнтована мова програмування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Предметно-орієнтована мова програмування (англ. Domain-specific language, DSL) - мова програмування, призначена для вирішення задач конкретної предметної галузі, яка дає особливе уявлення про проблему або специфічні методи її вирішення. Протилежністю предметно-орієнтованих мов є мови програмування загального призначення.

Прикладами предметно-орієнтованих мов є мови виразів і макросів в електронних таблицях, мова регулярних виразів, мова граматики Yacc генератора парсерів тощо.

Порівняно з мовами програмування загального призначення, DSL близька до описових мов, таких, як HTML, XML. Вона має специфічні особливості порівняно з мовами загального призначення, а саме:

  • абстракції DSL забезпечують визначення концепцій і абстрактних понять у предметній області;
  • синтаксис мови DSL може надавати засоби природного опису понять домену і запобігати синтаксичній неузгодженості, що буває при використанні мови загального призначення;
  • перевірка опису в DSL вимагає статичних аналізаторів, що можуть знайти більше помилок, ніж аналізатори загального призначення, і дати повідомлення про них цією ж мовою, що є більш зрозумілим для фахівців у предметній області;
  • оптимізація коду за описом в DSL базується на знаннях, що не є доступними компілятору з мови загального призначення;
  • інструменти підтримки DSL потребують відповідного оточення, наприклад, середовища, редактора, контролера версій тощо[1].

Примітки[ред.ред. код]

Див. також[ред.ред. код]