JetBrains MPS - JetBrains MPS
Vývojáři | JetBrains |
---|---|
Stabilní uvolnění | 2020.1.2[1] (22. června 2020) |
Úložiště | |
Operační systém | Cross-platform |
Licence | Softwarová licence Apache, verze 2.0[2] |
webová stránka | www |
JetBrains MPS (MetaProgrammingSystem) je Pracovní stůl jazyka vyvinutý uživatelem JetBrains. MPS je nástroj pro návrh jazyky specifické pro doménu (DSL). Využívá to projekční úpravy který umožňuje uživatelům překonat limity jazykových analyzátorů a vytvářet editory DSL, jako jsou například tabulky a diagramy.[3]
Implementuje jazykově orientované programování[Citace je zapotřebí ]. MPS je prostředí pro definici jazyka, a jazykový pracovní stůl, a integrované vývojové prostředí (IDE) pro takové jazyky.[4][5][6]
Skládatelné jazyky
Vývojáři z různých domén mohou těžit z jazykových rozšíření specifických pro doménu v programovacích jazycích pro všeobecné účely. Například, Jáva vývojáři pracující s finančními aplikacemi mohou těžit z integrované podpory peněžních hodnot. Tradiční textové jazyky bohužel podléhají problémům s nejednoznačností textu, což činí tato rozšíření problematickými.
MPS podporuje definice složitelných jazyků. To znamená, že jazyky lze rozšířit a vložit a tato rozšíření lze použít a budou fungovat ve stejném programu v MPS. Například pokud Jáva je rozšířen o lepší syntaxi pro sbírky a poté opět rozšířen o lepší syntaxi pro data, budou tato rozšíření fungovat dobře.
MPS řeší problémy s nejednoznačností gramatiky prací s abstraktní syntaxový strom přímo. Aby bylo možné takový strom upravit, textový projekční editor se používá.[7][8]
Opakovaně použitelná jazyková infrastruktura
MPS poskytuje opakovaně použitelnou jazykovou infrastrukturu, která je konfigurována s jazyky pro definici jazyků. MPS také automaticky poskytuje mnoho služeb IDE: editor, dokončení kódu, najít použití atd.
Stávající jazyky
- Základní jazyk - 99% Jáva reimplemented with MPS. Existuje mnoho rozšíření tohoto jazyka
- jazyk sbírek
- jazyk dat
- uzávěry jazyk
- jazyk regulárních výrazů
- Jazyky definice jazyka - tyto jazyky jsou implementovány samy o sobě, tj. bootstrapped
- strukturovaný jazyk
- jazyk editora
- jazyk omezení
- typový systém Jazyk
- generátor Jazyk
Aplikace MPS
Mbeddr
mbeddr je integrovaný vývojový systém založený na MPS. Má jazyky přizpůsobené pro vložený vývoj a formální metody:[9]
- Základní jazyk C.
- Součásti
- Fyzické jednotky
- Státní stroje
YouTrack
V říjnu 2009 společnost JetBrains vydala YouTrack systém sledování chyb - první komerční softwarový produkt vyvinutý s MPS.[10]
Realaxy editor
V dubnu 2010 se Realaxy ActionScript Editor Byla vydána beta verze, první komerční IDE založené na platformě MPS.
LIDÉ
PEoPL je nástroj pro konstrukci softwarových produktů realizovaný v MPS.[11]
Licencování
Zdrojový kód MPS je vydán pod Licence Apache.
Viz také
Reference
- ^ referenční URL: https://confluence.jetbrains.com/display/MPS/JetBrains+MPS+2019.3+Download+Page
- ^ referenční URL: https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicencované, vyvoláno: 19. února 2019
- ^ „Co je to MPS?“.
Navrhněte si vlastní DSL
- ^ Martin Fowler. „Language Workbenches: The Killer-App for Domain specific languages?“.
- ^ Martin Fowler. „IntentionalSoftware“.
- ^ Fabien Campagne (2014). „MPS Language Workbench: Volume I.“
- ^ Srini Penchikala. „Programovací systém JetBrains Meta podporuje jazykově orientované programování a DSL“.
- ^ Sergey Dmitriev. „Programování orientované na jazyk: další paradigma programování“.
- ^ "oficiální stránka mbeddr".
- ^ Charles Humble (2009-10-15). „Vývoj Java bez změny jazyka“.
- ^ "PEoPL | Projekční úpravy produktových řad". peopl.de. Citováno 2017-06-19.