JetBrains MPS

Meta programmeringssystem
Utvecklare JetBrains
Stabil frisättning
2022.2 (1 november 2022)
Förvar
Operativ system Cross-plattform
Licens Apache-licens, version 2.0
Hemsida www .jetbrains .com /mps /  Edit this on Wikidata


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

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 .

Se även

externa länkar