Skip to main content
Version: 2022_2

Laboratorio 6: Compilador a JsonAsm

Compilador y VM 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 main.ts de manera que pasen todos los tests incluidos.

Arquitectura general del proyecto.#

Se utiliz贸 una arquitectura m谩s bien funcional, donde el programa se traduce 5 veces. En cada traducci贸n se resuelve un problema.

  1. CompIR0Translator: Elimina ("desdobla"/"despliega"/"unfolds") estructuras de control
  2. CompIR1Translator: Elimina variables
  3. CompIR2Translator: Elimina expresiones
  4. CompIR3Translator: Elimina funciones
  5. CompIR4Translator: Elimina labels

Los algoritmos que debe seguir cada etapa de la traducci贸n se detallan en clase. Los algoritmos aplicados por CompIR0Translator y CompIR1Translator son similares a los que aplica el int茅rprete.

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+1
El 煤ltimo commit del PR tiene fecha previa a la recomendada tard铆amake test_late_date+2
Se agregaron 5 tests que contienen "extra" en su descripci贸nmake test_extra_quantity+2