Проектирование языкового инструментария
В соответствии с данной архитектурой платформа включает в себя репозиторий, который хранит как отдельные метамодели (предметно-ориентированные языки), так и готовые решения (DSL и созданные на его основе программы). Браузер проектов из хранилища данных загружает в систему имеющиеся решения, позволяет пользователю управлять репозиторием, а именно добавлять, удалять, редактировать метамодели… Читать ещё >
Проектирование языкового инструментария (реферат, курсовая, диплом, контрольная)
Языковой инструментарий для создания текстовых DSL имеет следующую архитектуру (см. рис. 3.1).
В соответствии с данной архитектурой платформа включает в себя репозиторий, который хранит как отдельные метамодели (предметно-ориентированные языки), так и готовые решения (DSL и созданные на его основе программы). Браузер проектов из хранилища данных загружает в систему имеющиеся решения, позволяет пользователю управлять репозиторием, а именно добавлять, удалять, редактировать метамодели, созданные на их основе модели. Редактирование какого-либо уровня моделирования осуществляется посредством редактора кода, который выполняет динамическую подсветку синтаксиса в соответствии с заданными правилами, а для метамодели еще и проверку корректности языка.
Рисунок 3.1. Архитектура языковой инструментарий
Создание программы на основе спроектированного DSL контролируется валидатором, который преобразует метамодель в дерево синтаксического разбора и выполняет проверку модели на лексическую и синтаксическую грамотность относительного данной структуры представления правил.
Преобразование созданной модели предметной области в код на целевом языке программирования или в модель, базирующейся на другом DSL, осуществляется трансформатором, который на основе заданных в браузере проектов правил трансформации и исходной модели выполняет соответствующие модификации [4].