JetBrains MPS

JetBrains MPS — система метапрограммирования, разработанная JetBrains. Она реализует парадигму языково-ориентированного программирования[1], является средой разработки языков и в то же время IDE для разрабатываемых языков.

JetBrains MPS
Разработчик JetBrains
Написана на Java
Операционная система кроссплатформенный
Языки интерфейса Английский
Последняя версия 2020.3.3 (23 марта 2021)
Лицензия Open Source
Сайт jetbrains.com/mps/

Разработка языков

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.

Примечания

  1. Сергей Дмитриев. Языково-ориентированное программирование
  2. англ. Martin Fowler A Language Workbench in Action — MPS  (англ.)
  3. Dr. Dobbs Jetbrains Releases MPS Language Workbench  (англ.)
  4. JetBrains Releases YouTrack 1.0 Архивная копия от 4 марта 2016 на Wayback Machine  (англ.)
  5. Realaxy ActionScript Editor Beta (недоступная ссылка). Архивировано 26 апреля 2012 года.  (англ.)

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.