JetBrains MPS
Utvecklare | JetBrains |
---|---|
Stabil frisättning | 2022.2 (1 november 2022) |
Förvar | |
Operativ system | Cross-plattform |
Licens | Apache-licens, version 2.0 |
Hemsida |
|
JetBrains MPS (Meta Programming System) är en språkarbetsbänk utvecklad av JetBrains . MPS är ett verktyg för att designa domänspecifika språk (DSL). Den använder projektionsredigering som tillåter användare att övervinna gränserna för språktolkare och bygga DSL-redigerare, till exempel sådana med tabeller och diagram. Den implementerar språkorienterad programmering [ citat behövs ] . MPS är en miljö för språkdefinition, en språkarbetsbänk och integrerad utvecklingsmiljö (IDE) för sådana språk.
Komponerbara språk
Utvecklare från olika domäner kan dra nytta av domänspecifika språktillägg i allmänna programmeringsspråk. Till exempel Java- utvecklare som arbetar med finansiella applikationer dra nytta av inbyggt stöd för monetära värden. Traditionella textbaserade språk är föremål för texttvetydighetsproblem vilket gör sådana tillägg problematiska.
MPS stöder komponerbara språkdefinitioner. Det betyder att språk kan utökas och bäddas in, och dessa tillägg kan användas, och kommer att fungera, i samma program i MPS. Till exempel, om Java utökas med en bättre syntax för samlingar och sedan återigen utökas med en bättre syntax för datum, kommer dessa tillägg att fungera bra tillsammans.
MPS löser problem med grammatisk tvetydighet genom att arbeta med det abstrakta syntaxträdet direkt. För att redigera ett sådant träd används en textliknande projektionsredigerare .
Återanvändbar språkinfrastruktur
MPS tillhandahåller en återanvändbar språkinfrastruktur som är konfigurerad med språkdefinitionsspråk. MPS tillhandahåller också många IDE-tjänster automatiskt: redigerare, kodkomplettering , hitta användningsområden, etc.
Befintliga språk
- Basspråk - 99 % Java omimplementerat med MPS. Det finns många tillägg av detta språk
- samlingsspråk
- datum språk
- stängningsspråk
- reguljära uttrycksspråk
- Språkdefinitionsspråk - dessa språk är implementerade med sig själva, dvs bootstrappade
- strukturspråk
- redaktörens språk
- begränsningar språk
- typ systemspråk
- generatorspråk _
MPS-applikationer
Mbeddr
mbeddr är ett inbäddat utvecklingssystem baserat på MPS. Den har språk som är skräddarsydda för inbäddad utveckling och formella metoder :
- Core C-språk
- Komponenter
- Fysiska enheter
- Statliga maskiner
YouTrack
I oktober 2009 släppte JetBrains buggspårningssystemet YouTrack - den första kommersiella mjukvaruprodukten utvecklad med MPS.
Realaxy editor
I april 2010 släpptes Realaxy ActionScript Editor beta, den första kommersiella IDE baserad på MPS-plattformen.
PEoPL
PEoPL är ett verktyg för utveckling av mjukvaruproduktlinje realiserat i MPS.
GDF (Gamification Design Framework)
GDF är ett ramverk för att designa och distribuera spelstarka applikationer. GDF består av domänspecifika språk som möjliggör stegvis förfining av applikationsdefinitioner, från högre abstraktionsnivåer till implementeringskod som ska köras på en gamification-motor.
Enligt GDF:s fallstudie från Jetbrains valdes MPS av tre huvudskäl: behovet av att tillhandahålla textbaserade DSL:er, tillgängligheten av språkförlängningsmekanismer som förmedlar konsistenshantering mellan abstraktionsskikten och tillhandahållandet av generatorer för att automatiskt härleda implementeringskod.
Licensiering
MPS-källkoden släpps under Apache-licensen .