Banco de trabajo de idiomas - Language workbench
Un banco de trabajo de lenguaje es una herramienta o conjunto de herramientas que permite el desarrollo de software en el paradigma de desarrollo de software de programación orientado al lenguaje . Un banco de trabajo de idiomas generalmente incluirá herramientas para respaldar la definición, reutilización y composición de idiomas específicos de dominio junto con su entorno de desarrollo integrado . Los bancos de trabajo de idiomas fueron introducidos y popularizados por Martin Fowler en 2005.
Los bancos de trabajo de idiomas suelen admitir:
- Especificación de los conceptos del lenguaje o metamodelo
- Especificación de los entornos de edición para el idioma específico del dominio.
- Especificación de la semántica de ejecución, por ejemplo, mediante interpretación y generación de código.
Ejemplos de
- Racket es un banco de trabajo de desarrollo de lenguaje multiplataforma que incluye compilador, compilador JIT, IDE y herramientas de línea de comandos diseñadas para adaptarse a la creación de lenguajes específicos de dominio y lenguajes completamente nuevos con facilidades para agregar nueva notación, restringir construcciones y crear herramientas IDE.
- JetBrains MPS es una herramienta para diseñar lenguajes específicos de dominio. Utiliza la edición por proyección que permite superar los límites de los analizadores de idiomas y crear editores DSL, como los que tienen tablas y diagramas. Implementa programación orientada al lenguaje. MPS combina un entorno para la definición de lenguajes, un banco de trabajo de lenguajes y un Entorno de desarrollo integrado (IDE) para dichos lenguajes.
- Kermeta es un banco de trabajo de lenguaje académico de código abierto. El banco de trabajo Kermeta utiliza tres metalenguajes diferentes: un metalenguaje para la sintaxis abstracta (alineado con Emof ); uno para la semántica estática (alineado con OCL ) y otro para la semántica del comportamiento (llamado el propio lenguaje Kermeta).
- Melange es un banco de trabajo de lenguaje que proporciona un enfoque modular para personalizar, ensamblar e integrar múltiples especificaciones e implementaciones de lenguaje específico de dominio (DSL).
- Spoofax . es un banco de trabajo de lenguaje de código abierto para generar analizadores, verificadores de tipos, compiladores, intérpretes, así como complementos IDE para Eclipse e IntelliJ . Utiliza SDF y un analizador GLR sin escáner para la sintaxis, y formalismos derivados de Stratego / XT para la semántica.
- Xtext es un marco de software de código abierto para desarrollar lenguajes de programación y lenguajes específicos de dominio (DSL). A diferencia de los generadores de analizadores sintácticos estándar, Xtext genera no solo un analizador, sino también un modelo de clase para el árbol de sintaxis abstracta. Además, proporciona un IDE basado en Eclipse totalmente personalizable y con todas las funciones.
- Meeduse es un marco basado en EMF que permite crear, probar y animar lenguajes ejecutables específicos de dominio (xDSL) utilizando el Método B. La herramienta incorpora ProB, animador y comprobador de modelos del Método B.
Ver también
- Programación orientada al lenguaje
- Compilador-compilador
- Programación intencional
- Categoría: banco de trabajo de idiomas
Referencias
enlaces externos