JetBrains MPS

JetBrains MPS
JetBrains MPS
Разработчик

JetBrains

Написана на

Java

Операционная система

кроссплатформенный

Языки интерфейса

Английский

Последняя версия

2.5

Лицензия

Open Source

Сайт

http://www.jetbrains.com/mps/

JetBrains MPS — система метапрограммирования, разработанная 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.

Примечания

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

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "JetBrains MPS" в других словарях:

  • JetBrains — s.r.o. Тип …   Википедия

  • JetBrains — s.r.o. Rechtsform S.r.o. (Tschechien) Gründung 2000 Sitz …   Deutsch Wikipedia

  • MPS — may refer to: Robinson List, aka Mail Preference Service, direct mail opt out system Malmin Palloseura, association football club from Helsinki, Finland. Marginal propensity to save Master Production Schedule Ministry of Public Security of the… …   Wikipedia

  • JetBrains — Infobox Company company name = JetBrains s.r.o. company logo = company type = Private foundation = Czech Republic (2000) location = Czech Republic, Russia, Massachusetts key people = Sergey Dmitriev (JetBrains), Cofounder, CEO Valentin Kipiatkov …   Wikipedia

  • YouTrack — YouTrack …   Википедия

  • Metaprogramming — This article is about the computer programming technique. For the management technique, see Metaprogramming (management). Programming paradigms Agent oriented Automata based Component based …   Wikipedia

  • Language-oriented programming — is a style of computer programming, via metaprogramming in which, rather than solving problems in general purpose programming languages, the programmer creates one or more domain specific programming languages for the problem first, and solves… …   Wikipedia

  • Comparison of issue-tracking systems — This article is a comparison of issue tracking systems which are notable, including bug tracking systems, help desk and service desk issue tracking systems, and asset management systems. The comparison includes client server application,… …   Wikipedia

  • Extensible programming — is a term used in computer science to describe a style of computer programming that focuses on mechanisms to extend the programming language, compiler and runtime environment. Extensible programming languages, supporting this style of programming …   Wikipedia

  • Сравнение систем отслеживания ошибок — Эта страница содержит сравнение как систем отслеживания ошибок так и систем управления проектами. Содержание 1 Системы управления проектами 2 Системы отслеживания ошибок …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»