Skip to main content
Version: 2022_2

Laboratorio 5: Intérprete de JsonLang

Intérprete de JsonLang

Para más detalles, visitar compiladores.github.io.

Quickstart, editor, dependencias#

make setup

Instala deno 1.26.0 en la carpeta raíz del repositorio, y crea una carpeta .vscode con la configuración recomendada de vscode.

Cómo hacer el laboratorio#

Completar la implementación de FlowExecutor.ts y Context.ts de manera que pasen todos los tests incluidos.

Arquitectura general del proyecto.#

Se utilizó inyección de dependencias junto con mucha parametrización de tipos, ya que hacer mocks de imports es imposible en deno.

En vez de implementar toda la semántica del lenguaje en un único método que se invoca de forma recursiva, se utiliza el patrón pipes and filters para dividirlo.

Criterios de evaluación#

La evaluación es objetiva. Al presentar el laboratorio se dará una fecha recomendada de entrega. Al entregar el laboratorio se puntuará de la siguiente forma.

Parámetrocomandos relacionadospuntaje
se entregó el TPmake test, make test_checksum6
El último commit del PR tiene fecha previa a la recomendadamake test_date+2
Se agregaron 5 tests que contienen "extra" en su descripciónmake test_extra_quantity+2
Hacer que todos los tests de while pasen antes del final de la clasemake test_while+1