DSLs - Externos

Descripción

Un DSL "externo" es lo que seguramente nosotros nos imaginamos cuando pensamos en la idea de "hacer un lenguaje propio". Es decir que, es un lenguaje complétamente propio a nivel de sintaxis. El código que escribimos en el no es en realidad código GPL de ningún tipo.

Esto permite tener completa libertad a la hora de definir la sintaxis.
Sin embargo, requiere más trabajo, ya que de alguna forma tenemos que construir un Parser, y luego algún tipo de runtime o backend, que sepa ejecutar ese código.
En esa parte existen diferentes variantes para evitarse tener que escribir una VM por completo, por ejemplo.

Así Scala por ejemplo, compila a JVM bytecode, y su runtime es la JVM.

Ejemplos preliminares

Acá un par de ejemplos para darse una idea, todavía sin entrar en la implementación.
  • TCP / IP
  • CSS
  • xorg.conf
  • regular expressions.
  • etc

Construir un DSL externo con XText

En esta otra página van a encontrar información sobre cómo construir un DSL externo utilizando la herramienta de eclipse XText.
Comments