ДжетБрэйнс МПС
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | JetBrains |
---|---|
Стабильная версия | 6472 [1] (18 октября 2011 г.) |
Репозиторий | |
Операционная система | Кросс-платформенный |
Лицензия | Лицензия на программное обеспечение Apache 2.0 [2] |
Веб-сайт | www |
JetBrains MPS (Meta Programming System) — языковая среда , разработанная JetBrains . MPS — это инструмент для разработки предметно-ориентированных языков (DSL). Он использует проекционное редактирование , которое позволяет пользователям преодолевать ограничения языковых анализаторов и создавать редакторы DSL, например, с таблицами и диаграммами. [3]
Он поддерживает языково-ориентированное программирование. [ нужна ссылка ] . MPS — это среда определения языков, языковая среда и интегрированная среда разработки (IDE) для таких языков. [4] [5] [6]
Составные языки [ править ]
Хотя языковые расширения, специфичные для предметной области, часто могут быть полезны в языках программирования общего назначения, их текстовая природа означает, что добавление расширений языка, специфичных для предметной области, может привести к неоднозначности в текстовом синтаксисе. MPS позволяет избежать этой грамматической двусмысленности, работая напрямую с абстрактным синтаксическим деревом . текстовый проекционный редактор Для редактирования этого дерева используется .
Поскольку MPS напрямую использует абстрактное синтаксическое дерево, MPS поддерживает составные определения языка. Это означает, что языки могут быть расширены и встроены, и эти расширения могут использоваться в одной и той же программе в MPS и не будут конфликтовать. [7] [8]
языковая Многоразовая инфраструктура
MPS предоставляет языковую инфраструктуру многократного использования, настроенную с помощью языков определения языка. MPS также автоматически предоставляет многие службы IDE: редактор, завершение кода , поиск использований и т. д.
Существующие языки [ править ]
- Базовый язык — 99% Java переписано с помощью MPS. Существует множество расширений этого языка.
- язык коллекций
- язык дат
- язык замыканий
- язык регулярных выражений
- Языки определения языка - эти языки реализуются сами по себе, т.е.
- структурный язык
- язык редактора
- язык ограничений
- введите системный язык
- генератора язык
Приложения MPS [ править ]
Мбеддр [ править ]
mbeddr — это встроенная система разработки, основанная на MPS. Он имеет языки, адаптированные для встроенной разработки.и формальные методы : [9]
- Основной язык C
- Компоненты
- Физические единицы
- Государственные машины
ЮТрек [ править ]
В октябре 2009 года JetBrains выпустила систему отслеживания ошибок YouTrack — первый коммерческий программный продукт, разработанный с помощью MPS. [10]
Редактор Realaxy [ править ]
В апреле 2010 года была выпущена бета-версия Realaxy ActionScript Editor , первой коммерческой среды разработки на базе платформы MPS.
ПЭоПЛ [ править ]
PEoPL — это инструмент для разработки линейки программных продуктов, реализованный в MPS. [11]
GDF (Среда проектирования геймификации) [ править ]
GDF — это платформа для разработки и развертывания игровых приложений. GDF состоит из предметно-ориентированных языков, позволяющих поэтапно совершенствовать определения приложений, от более высоких уровней абстракции к коду реализации, который будет запускаться на механизме геймификации. [12]
Согласно тематическому исследованию GDF от Jetbrains, [13] MPS был выбран по трем основным причинам: необходимость предоставления текстовых DSL, наличие механизмов расширения языка, обеспечивающих управление согласованностью между уровнями абстракции, а также предоставление генераторов для автоматического получения кода реализации.
Лицензирование [ править ]
Исходный код MPS распространяется под лицензией Apache .
См. также [ править ]
Ссылки [ править ]
- ^ URL-адрес ссылки: https://github.com/JetBrains/MPS/releases/tag/6472 , получено: 17 июня 2019 г., название: Release 6472 , дата публикации: 18 октября 2011 г.
- ^ URL-адрес ссылки: https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicensed , получено: 19 февраля 2019 г.
- ^ «Что такое МПС?» .
Создайте свои собственные DSL
- ^ Мартин Фаулер. «Языковые инструменты: приложение-убийца для языков, специфичных для предметной области?» .
- ^ Мартин Фаулер. «Намеренное программное обеспечение» .
- ^ Фабьен Кампань (2014). «Языковой инструментарий MPS: Том I».
- ^ Шрини Пенчикала. «Система метапрограммирования JetBrains поддерживает языково-ориентированное программирование и DSL» .
- ^ «Языко-ориентированное программирование: новая парадигма программирования» . Архивировано из оригинала 30 января 2010 г.
- ^ «официальный сайт mbeddr» . 9 июня 2010 г.
- ^ Чарльз Хамбл (15 октября 2009 г.). «Развитие Java без изменения языка» .
- ^ «PEoPL | Проекционный монтаж продуктовых линеек» . люди.де. Проверено 19 июня 2017 г.
- ^ Буккьяроне, Антонио; Чикетти, Антонио; Маркони, Аннапаола (сентябрь 2019 г.). «Использование многоуровневого моделирования для проектирования и развертывания игровых систем» . 22-я Международная конференция ACM/IEEE 2019 по инженерным языкам и системам, управляемым моделями (MODELS) . стр. 34–44. дои : 10.1109/MODELS.2019.00-17 . ISBN 978-1-7281-2536-7 . S2CID 208206029 .
- ^ «Пример MPS и GDF» (PDF) .