Laboratorio 5: Intérprete de JsonLang
Intérprete de JsonLang
Para más detalles, visitar compiladores.github.io.
#
Quickstart, editor, dependenciasmake 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 laboratorioCompletar 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ónLa 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ámetro | comandos relacionados | puntaje |
---|---|---|
se entregó el TP | make test , make test_checksum | 6 |
El último commit del PR tiene fecha previa a la recomendada | make test_date | +2 |
Se agregaron 5 tests que contienen "extra" en su descripción | make test_extra_quantity | +2 |
Hacer que todos los tests de while pasen antes del final de la clase | make test_while | +1 |