MPS | |
---|---|
Разработчик | JetBrains |
Написана на | Java |
Операционная система | кроссплатформенный |
Языки интерфейса | Английский |
Последняя версия | 2021.3.1 (2 мая 2022) |
Репозиторий | github.com/JetBrains/MPS |
Лицензия | Open Source |
Сайт | jetbrains.com/ru-ru/mps/ |
Медиафайлы на Викискладе |
MPS (Meta Programming System) — система метапрограммирования, разработанная JetBrains. Она реализует парадигму языково-ориентированного программирования[1], является средой разработки языков и в то же время IDE для разрабатываемых языков.
MPS позволяет разрабатывать новые языки программирования и языковые расширения существующих языков.
Применение языков, специфичных для конкретной предметной области, может упростить работу разработчиков, использующих языки общего назначения. К примеру, программист, использующий язык Java для разработки финансового программного обеспечения, мог бы использовать языковое расширение, позволяющее в исходном коде программы работать с денежными величинами. Однако, традиционное текстовое представление программы не способствует применению подобных расширений из-за возможной грамматической неопределенности, вызванной конфликтом расширений — одна и та же текстовая нотация может иметь разную семантику для разных расширений.
В MPS грамматическая двойственность решена работой непосредственно с абстрактным синтаксическим деревом, которое редактируется проекционным редактором в текстовой манере[2][3].
Base Language — внутренняя реализация Java, взятой за базовый язык, на основе которого реализовано множество расширений, включенных в MPS:
Языки описания языков:
В октябре 2009 JetBrains был выпущен багтрекер YouTrack[4] — первый коммерческий продукт, созданный при помощи MPS.
В апреле 2010 выпущена бета-версия Realaxy ActionScript Editor[5] — первая IDE, основанная на MPS.