Предметно-ориентированный язык программирования
Материал из Википедии — свободной энциклопедии
Предметно-ориентированный язык программирования (англ. domain-specific programming language, domain-specific language, DSL) — язык программирования, специально разработанный для решения определённого круга задач, в отличие от языков программирования общего назначения, например C, или языков моделирования общего назначения наподобие UML. Например языки Postscript, SQL и др.
В рамках языка Forth всегда существовала, но не всегда использовалась возможность создания DSL языков.
Языки программирования предметной области дополненные технологиями метапрограммирования, являются эффективным средством автоматизации разработки программного обеспечения и в настоящий момент находят широкое применение в области информационных технологий.
Примерами предметно-ориентированных языков могут служить:
- Адаптивные объектные модели — это модели, которые строятся специально для определенной предметной области на объектно-ориентированных языках общего назначения.
- Файлы XML используемые в современных проектах для конфигураций программных каркасов.
Предметно-ориентированные языки разделяют на внешние и внутренние. Внешние это языки написанные на языке отличном от основного языка программирования. Примерами такого типа могут служить конфигурационные XML файлы. Внутренние языки напротив реализованы на языке программирования общего назначения. В качестве примера можно назвать адаптивные объектные модели.
[править] Процесс создания предметно-ориентированного языка
Процесс создания нового предметно-ориентированного языка состоит из трех шагов:
- Определение абстрактного синтаксиса.
- Определение конкретного синтаксиса.
- Определение правил трансформации.
Абстрактный синтаксис описывает понятия используемые в языке, в виде пригодном для машиной обработки. Существует два способа задания абстрактного синтаксиса в виде метамодели и КС-грамматики. Конкретный синтаксис это представление понятий абстрактного синтаксиса, которыми может манипулировать пользователь. Представление может быть текстовым, графическим или симбиозом двух первых. Правила трансформаций это правила по которым абстрактное представление транслируется в исполнимое. Различают два типа трансформации горизонтальные и вертикальные. Примером горизонтальной трансформации может служить автоматический рефакторинг предоставляемый современными средствами разработки. Примером вертикальной трансформации может служить генерация java байт кода из java файлов.
[править] См. также
- Метапрограммирование
- Forth
- Обсуждение на форуме пользователей языка Форт [1]
[править] Ссылки
- Кириллов, Дмитрий Ориентация на язык. Компьютерра (14 марта 2006). Проверено 5 мая 2006.
- Сергей Дмитриев. Языково-ориентированное программирование [2]
- Ложечкин, Александр UML или DSL? Унификация или нацеленность на задачу? (5 августа 2005). Проверено 5 мая 2006.
- Тамащук, Игорь Domain Specific Language в своем приложении - это просто (22 октября 2008). Проверено 24 октября 2008.
| Это незавершённая статья о программировании. Вы можете помочь проекту, исправив и дополнив её. |

