Jump to content

ДжетБрэйнс МПС

Система метапрограммирования
Разработчик(и) JetBrains
Стабильная версия
6472 [1] (18 октября 2011 г.)
Репозиторий
Операционная система Кросс-платформенный
Лицензия Лицензия на программное обеспечение Apache 2.0 [2]
Веб-сайт www .jetbrains /мпс /  Edit this on Wikidata

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 .

См. также [ править ]

Ссылки [ править ]

  1. ^ URL-адрес ссылки: https://github.com/JetBrains/MPS/releases/tag/6472 , получено: 17 июня 2019 г., название: Release 6472 , дата публикации: 18 октября 2011 г.
  2. ^ URL-адрес ссылки: https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicensed , получено: 19 февраля 2019 г.
  3. ^ «Что такое МПС?» . Создайте свои собственные DSL
  4. ^ Мартин Фаулер. «Языковые инструменты: приложение-убийца для языков, специфичных для предметной области?» .
  5. ^ Мартин Фаулер. «Намеренное программное обеспечение» .
  6. ^ Фабьен Кампань (2014). «Языковой инструментарий MPS: Том I».
  7. ^ Шрини Пенчикала. «Система метапрограммирования JetBrains поддерживает языково-ориентированное программирование и DSL» .
  8. ^ «Языко-ориентированное программирование: новая парадигма программирования» . Архивировано из оригинала 30 января 2010 г.
  9. ^ «официальный сайт mbeddr» . 9 июня 2010 г.
  10. ^ Чарльз Хамбл (15 октября 2009 г.). «Развитие Java без изменения языка» .
  11. ^ «PEoPL | Проекционный монтаж продуктовых линеек» . люди.де. ​Проверено 19 июня 2017 г.
  12. ^ Буккьяроне, Антонио; Чикетти, Антонио; Маркони, Аннапаола (сентябрь 2019 г.). «Использование многоуровневого моделирования для проектирования и развертывания игровых систем» . 22-я Международная конференция ACM/IEEE 2019 по инженерным языкам и системам, управляемым моделями (MODELS) . стр. 34–44. дои : 10.1109/MODELS.2019.00-17 . ISBN  978-1-7281-2536-7 . S2CID   208206029 .
  13. ^ «Пример MPS и GDF» (PDF) .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c6ceb5311c77deba43f22d96ea50cf7d__1712062500
URL1:https://arc.ask3.ru/arc/aa/c6/7d/c6ceb5311c77deba43f22d96ea50cf7d.html
Заголовок, (Title) документа по адресу, URL1:
JetBrains MPS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)