MPS firmy JetBrains
Deweloperzy | JetBrains |
---|---|
Wersja stabilna | 2022.2 (1 listopada 2022) |
Magazyn | |
System operacyjny | Międzyplatformowe |
Licencja | Licencja Apache, wersja 2.0 |
Strona internetowa |
|
JetBrains MPS (Meta Programming System) to środowisko językowe opracowane przez JetBrains . MPS to narzędzie do projektowania języków specyficznych dla domeny (DSL). Wykorzystuje edycję projekcyjną , która pozwala użytkownikom pokonać ograniczenia parserów językowych i zbudować edytory DSL, takie jak te z tabelami i diagramami. Implementuje programowanie zorientowane na język [ potrzebne źródło ] . MPS to środowisko do definiowania języka, warsztat językowy i zintegrowane środowisko programistyczne (IDE) dla takich języków.
Języki komponowalne
Deweloperzy z różnych dziedzin mogą korzystać z rozszerzeń językowych specyficznych dla domeny w językach programowania ogólnego przeznaczenia. Na przykład Java pracujący z aplikacjami finansowymi mogą skorzystać z wbudowanej obsługi wartości pieniężnych. W tradycyjnych językach tekstowych występują problemy z niejednoznacznością tekstu, co sprawia, że takie rozszerzenia są problematyczne.
MPS obsługuje redagowane definicje języków. Oznacza to, że języki mogą być rozszerzane i osadzane, a te rozszerzenia mogą być używane i będą działać w tym samym programie w MPS. Na przykład, jeśli Java zostanie rozszerzona z lepszą składnią dla kolekcji, a następnie ponownie rozszerzona z lepszą składnią dla dat, te rozszerzenia będą dobrze ze sobą współpracować.
MPS rozwiązuje problemy z niejednoznacznością gramatyczną, pracując bezpośrednio z abstrakcyjnym drzewem składni . Do edycji takiego drzewa służy tekstowy edytor projekcyjny .
Infrastruktura językowa wielokrotnego użytku
MPS zapewnia infrastrukturę językową wielokrotnego użytku, która jest skonfigurowana z językami definicji języka. MPS zapewnia również automatycznie wiele usług IDE: edytor, uzupełnianie kodu , znajdowanie zastosowań itp.
Istniejące języki
- Podstawowy język — w 99% Java ponownie zaimplementowana z MPS. Istnieje wiele rozszerzeń tego języka
- język zbiorów
- język daty
- język domknięć
- język wyrażeń regularnych
- Języki definicji języka - te języki są implementowane same ze sobą, czyli ładowane
- język strukturalny
- język redaktora
- język ograniczeń
- wpisz język systemu
- język generatora
aplikacje MPS
Mbeddr
mbeddr to wbudowany system programistyczny oparty na MPS. Ma języki dostosowane do wbudowanego programowania i metod formalnych :
- Podstawowy język C
- składniki
- Jednostki fizyczne
- Maszyny stanowe
YouTrack
W październiku 2009 r. firma JetBrains wydała system śledzenia błędów YouTrack — pierwsze komercyjne oprogramowanie opracowane przy użyciu MPS.
Redaktor Realaxy
W kwietniu 2010 roku ukazała się beta Realaxy ActionScript Editor, pierwsze komercyjne IDE oparte na platformie MPS.
PEoPL
PEoPL to narzędzie do inżynierii linii produktów oprogramowania realizowane w MPS.
GDF (rama projektowania grywalizacji)
GDF to framework do projektowania i wdrażania aplikacji do gier. GDF składa się z języków specyficznych dla domeny, pozwalających na stopniowe udoskonalanie definicji aplikacji, od wyższych poziomów abstrakcji do kodu implementacji, który ma być uruchamiany na silniku grywalizacji.
Zgodnie ze studium przypadku GDF z Jetbrains, MPS wybrano z trzech głównych powodów: potrzeby zapewnienia tekstowych DSL, dostępności mechanizmów rozszerzeń językowych przekazujących zarządzanie spójnością między warstwami abstrakcji oraz zapewnienia generatorów do automatycznego uzyskiwania kodu implementacji.
Koncesjonowanie
Kod źródłowy MPS jest udostępniany na licencji Apache .