Русская Википедия:JetBrains MPS
MPS (Meta Programming System) — система метапрограммирования, разработанная JetBrains. Она реализует парадигму языково-ориентированного программирования[1], является средой разработки языков и в то же время IDE для разрабатываемых языков.
Разработка языков
MPS позволяет разрабатывать новые языки программирования и языковые расширения существующих языков.
Применение языков, специфичных для конкретной предметной области, может упростить работу разработчиков, использующих языки общего назначения. К примеру, программист, использующий язык Java для разработки финансового программного обеспечения, мог бы использовать языковое расширение, позволяющее в исходном коде программы работать с денежными величинами. Однако, традиционное текстовое представление программы не способствует применению подобных расширений из-за возможной грамматической неопределенности, вызванной конфликтом расширений — одна и та же текстовая нотация может иметь разную семантику для разных расширений.
В MPS грамматическая двойственность решена работой непосредственно с абстрактным синтаксическим деревом, которое редактируется проекционным редактором в текстовой манере[2][3].
Встроенные языки
Base Language — внутренняя реализация Java, взятой за базовый язык, на основе которого реализовано множество расширений, включенных в MPS:
- collections — язык запросов к коллекциям
- dates — DSL для работы с датами
- closures — добавляет поддержку замыканий
- regular expressions — язык описания регулярных выражений
Языки описания языков:
- structure language — язык описания языковых концептов
- editor language — язык описания редактирования языковых концептов
- constraints language — язык описания связей
- typesystem language — язык описания системы типов
- generator language — язык описания генерации языка в другой целевой язык
Применение
В октябре 2009 JetBrains был выпущен багтрекер YouTrack[4] — первый коммерческий продукт, созданный при помощи MPS.
В апреле 2010 выпущена бета-версия Realaxy ActionScript Editor[5] — первая IDE, основанная на MPS.
Примечания
Ссылки
- Meta Programming System Шаблон:Ref-en
- Мартин Фаулер Языковой инструментарий: новая жизнь языков предметной области Шаблон:Wayback
- ↑ Сергей Дмитриев. Языково-ориентированное программирование Шаблон:Wayback
- ↑ Шаблон:Lang-en A Language Workbench in Action — MPS Шаблон:Wayback Шаблон:Ref-en
- ↑ Dr. Dobbs Jetbrains Releases MPS Language Workbench Шаблон:Wayback Шаблон:Ref-en
- ↑ JetBrains Releases YouTrack 1.0 Шаблон:Wayback Шаблон:Ref-en
- ↑ Шаблон:Cite web Шаблон:Ref-en
- Русская Википедия
- Интегрированные среды разработки
- Свободные интегрированные среды разработки
- Кроссплатформенное программное обеспечение
- Свободное программное обеспечение, написанное на Java
- JetBrains
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии