JetBrains MPS - JetBrains MPS
Разработчики) | JetBrains |
---|---|
Стабильный выпуск | 2020.1.2[1] (22 июня 2020 г.) |
Репозиторий | |
Операционная система | Кроссплатформенность |
Лицензия | Лицензия на программное обеспечение Apache, версия 2.0[2] |
Интернет сайт | www |
JetBrains MPS (MetaProgrammingSystem) - это Языковой верстак разработан JetBrains. MPS - это инструмент для проектирования предметно-ориентированные языки (DSL). Оно использует проекционное редактирование который позволяет пользователям преодолевать ограничения языковых парсеров и создавать редакторы DSL, например, с таблицами и диаграммами.[3]
Он реализует языковое программирование[нужна цитата ]. MPS - это среда для определения языка, языковой верстак, и интегрированная среда развития (IDE) для таких языков.[4][5][6]
Составные языки
Разработчики из разных областей могут извлечь выгоду из языковых расширений для конкретных областей в языках программирования общего назначения. Например, Ява разработчики, работающие с финансовыми приложениями, могут извлечь выгоду из встроенной поддержки денежных значений. К сожалению, традиционные текстовые языки подвержены проблемам двусмысленности текста, что делает такие расширения проблематичными.
MPS поддерживает составные определения языков. Это означает, что языки могут быть расширены и встроены, и эти расширения могут использоваться и будут работать в одной и той же программе в MPS. Например, если Ява расширен улучшенным синтаксисом для коллекций, а затем снова расширен улучшенным синтаксисом для дат, эти расширения будут хорошо работать вместе.
MPS решает проблемы грамматической двусмысленности, работая с абстрактное синтаксическое дерево напрямую. Чтобы отредактировать такое дерево, текстовый проекционный редактор используется.[7][8]
Многоразовая языковая инфраструктура
MPS предоставляет многоразовую языковую инфраструктуру, настроенную с использованием языков определения языков. MPS также автоматически предоставляет множество сервисов IDE: редактор, завершение кода, найти способы использования и т. д.
Существующие языки
- Базовый язык - 99% Ява дополнен MPS. Есть много расширений этого языка
- язык коллекций
- язык дат
- язык закрытия
- язык регулярных выражений
- Языки определения языков - эти языки реализованы сами с собой, т.е. загруженный
- язык структуры
- язык редактора
- язык ограничений
- система типов язык
- генератор язык
Приложения MPS
Mbeddr
mbeddr - это встроенная система разработки, основанная на MPS. В нем есть языки, адаптированные для встроенной разработки и формальные методы:[9]
- Основной язык C
- Составные части
- Физические единицы
- Государственные машины
YouTrack
В октябре 2009 года JetBrains выпустила YouTrack система отслеживания ошибок - первый коммерческий программный продукт, разработанный с помощью MPS.[10]
Редактор Realaxy
В апреле 2010 г. Редактор Realaxy ActionScript Выпущена beta, первая коммерческая IDE на платформе MPS.
PEoPL
PEoPL - это инструмент для разработки линейки программных продуктов, реализованный в MPS.[11]
Лицензирование
Исходный код MPS выпущен под Лицензия Apache.
Смотрите также
Рекомендации
- ^ ссылочный URL: https://confluence.jetbrains.com/display/MPS/JetBrains+MPS+2019.3+Download+Page
- ^ ссылочный URL: https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicensed, получено: 19 февраля 2019 г.
- ^ "Что такое MPS?".
Создайте свои собственные DSL
- ^ Мартин Фаулер. "Language Workbenches: приложение-убийца для языков, специфичных для предметной области?".
- ^ Мартин Фаулер. "IntentionalSoftware".
- ^ Фабьен Кампань (2014). "Инструментальные средства MPS Language Workbench: Том I."
- ^ Шрини Пенчикала. «Система метапрограммирования JetBrains поддерживает языковое программирование и DSL».
- ^ Сергей Дмитриев. «Языко-ориентированное программирование: следующая парадигма программирования».
- ^ "официальный сайт mbeddr".
- ^ Чарльз Хамбл (15.10.2009). «Развитие Java без изменения языка».
- ^ "PEoPL | Проекционное редактирование производственных линий". peopl.de. Получено 2017-06-19.