MPS firmy JetBrains

System programowania meta
Deweloperzy JetBrains
Wersja stabilna
2022.2 (1 listopada 2022)
Magazyn
System operacyjny Międzyplatformowe
Licencja Licencja Apache, wersja 2.0
Strona internetowa www.jetbrains.com/mps/ _ _ _ _  Edit this on Wikidata


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 .

Zobacz też

Linki zewnętrzne