JetBrains MPS (MetaProgrammingSystem) es un banco de trabajo de lenguaje desarrollado por JetBrains . MPS es una herramienta para diseñar lenguajes específicos de dominio (DSL). Utiliza la edición por proyección que permite a los usuarios superar los límites de los analizadores de idiomas y crear editores DSL, como los que tienen tablas y diagramas. [3]
Implementa programación orientada al lenguaje [ cita requerida ] . MPS es un entorno para la definición de lenguajes, un entorno de trabajo de lenguajes y un entorno de desarrollo integrado (IDE) para dichos lenguajes. [4] [5] [6]
Desarrollador (es) | JetBrains |
---|---|
Lanzamiento estable | 2020.1.2 [1] (22 de junio de 2020) |
Repositorio | |
Sistema operativo | Multiplataforma |
Licencia | Licencia de software Apache, versión 2.0 [2] |
Sitio web | www |
Idiomas componibles
Los desarrolladores de diferentes dominios pueden beneficiarse de las extensiones de lenguaje de dominio específico en lenguajes de programación de propósito general. Por ejemplo, los desarrolladores de Java que trabajan con aplicaciones financieras pueden beneficiarse del soporte integrado de valores monetarios. Desafortunadamente, los lenguajes tradicionales basados en texto están sujetos a problemas de ambigüedad de texto, lo que hace que estas extensiones sean problemáticas.
MPS admite definiciones de idiomas componibles. Esto significa que los lenguajes se pueden extender e incrustar, y estas extensiones se pueden usar, y funcionarán, en el mismo programa en MPS. Por ejemplo, si Java se amplía con una mejor sintaxis para las colecciones y luego se amplía de nuevo con una mejor sintaxis para las fechas, estas extensiones funcionarán bien juntas.
MPS resuelve problemas de ambigüedad gramatical trabajando directamente con el árbol de sintaxis abstracta . Para editar un árbol de este tipo, se utiliza un editor de proyecciones similar a un texto . [7] [8]
Infraestructura lingüística reutilizable
MPS proporciona una infraestructura de lenguaje reutilizable que se configura con lenguajes de definición de lenguaje. MPS también proporciona muchos servicios IDE automáticamente: editor, finalización de código , búsqueda de usos, etc.
Idiomas existentes
Aplicaciones MPS
Mbeddr
mbeddr es un sistema de desarrollo integrado basado en MPS. Tiene lenguajes adaptados al desarrollo integrado y métodos formales : [9]
- Lenguaje Core C
- Componentes
- Unidades físicas
- Máquinas de estado
YouTrack
En octubre de 2009, JetBrains lanzó el sistema de seguimiento de errores YouTrack , el primer producto de software comercial desarrollado con MPS. [10]
Editor de Realaxy
En abril de 2010, se lanzó Realaxy ActionScript Editor beta, el primer IDE comercial basado en la plataforma MPS.
PERSONAS
PEoPL es una herramienta para la ingeniería de líneas de productos de software realizada en MPS. [11]
Licencia
El código fuente de MPS se publica bajo la licencia Apache .
Ver también
Referencias
- ^ URL de referencia: https://confluence.jetbrains.com/display/MPS/JetBrains+MPS+2019.3+Download+Page
- ^ URL de referencia: https://confluence.jetbrains.com/display/MPSD20183/FAQ#FAQ-HowisMPSlicensed , consultado el 19 de febrero de 2019
- ^ "¿Qué es MPS?" .
Diseña tus propias DSL
- ^ Martin Fowler. "Language Workbenches: ¿La aplicación asesina para idiomas específicos de dominio?" .
- ^ Martin Fowler. "IntentionalSoftware" .
- ^ Fabien Campagne (2014). "The MPS Language Workbench: Volumen I."
- ^ Srini Penchikala. "El sistema de programación Meta JetBrains admite programación orientada al lenguaje y DSL" .
- ^ Sergey Dmitriev. "Programación orientada al lenguaje: el próximo paradigma de programación" .
- ^ "sitio oficial de mbeddr" .
- ^ Charles Humble (15 de octubre de 2009). "Evolución de Java sin cambiar el idioma" .
- ^ "PEoPL | Edición Proyectiva de Líneas de Producto" . peopl.de . Consultado el 19 de junio de 2017 .
enlaces externos
- Página web oficial
- Blog de MPS
- Guía del usuario de MPS