XText - Tortuga (aka Logo) Interpretada

Info del proyecto

Descripción

Este DSL modela un lenguaje similar al LOGO (google "logo" :)), que era un lenguaje que se utilizaba para enseñar programación en las escuelas. El lenguaje sirve para darle instrucciones a una "tortuguita" que sería como "el cabezal" del gobstones. Esta tortuga dibuja. Entonces los comandos que tenemos son cosas como moverse adelante/atrás, girar a la izquierda/derecha, comenzar a dibujar, dejar de dibujar, etc.

Acá vemos un ejemplo que dibuja un cuadrado

Motor = Tortue

Ahora para este ejemplo necesitábamos implementar el backend o runtime que sería básicamente implementar el logo, además del lenguaje.
Entonces, en lugar de hacer eso de cero, estamos reutilizando una implementación de LOGO hecha en java, de código libre que se llama Tortue.
Entonces lo que hicimos nosotros fue construirle un DSL arriba. Este DSL tiene un intérprete que a medida que va "leyendo" el DSL va interactuando con las clases de Tortue. Hace una especie de "traducción" entre nuestro DSL y Tortue. O sea, una especie de "adapter" o nueva "cara" para el logo.

Sobre el lenguaje y su implementación

Acá pueden ver una serie de 3 posts que explican paso a paso cómo está hecho este DSL y el intérprete



Comments