Skip to main content
Version: 2022_2

Laboratorio 3: Parser descendiente recursivo de LUA

Parser descendiente recursivo de LUA.

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

Quickstart#

Editor#

Se recomienda usar vscode y la extensi贸n para deno. Para esto apretar Ctrl+P y luego pegar

ext install denoland.vscode-deno

Deno#

Existen 2 alternativas para instalar deno:

  1. Seguir las (instrucciones oficiales)[https://deno.land/#installation] para instalar el comando deno
  2. Descargar el 煤ltimo release desde el repositorio oficial de deno, descomprimir el binario en cualquier lugar y luego configurarlo en ./.vscode/settings.json de la siguiente manera (reemplazando ./deno por la ruta al binario)
mkdir .vscodeecho '{    "deno.path": "./deno", /* DENO NO FUE INSTALADO SINO QUE SE DESCARG脫 EL BINARIO EN ESTA UBICACI脫N */    "deno.enable": true /* UTILIZAR EL LANGUAGE SERVER DE DENO EN VEZ DE TYPESCRIPT "C脫MUN" */}' > .vscode/settings.json

Dependencias#

Se requiere flex y gcc, al igual que en el laboratorio 2.

C贸mo hacer el laboratorio#

Se debe completar 煤nicamente parser.ts para que conforme un parser descendiente recursivo, y que pasen los tests ubicados en parser.test.ts. El lenguaje parseado es LUA, cuyo parser se encuentra aqu铆. Como asistencia para completar el laboratorio, se brinda:

El m茅todo recomendado para hacer el laboratorio es transcribir el diagrama de sintaxis que se genera a partir de lua-bottlecaps-real.txt en forma de programa, tal como descripto en la introducci贸n te贸rica. Un m茅todo alternativo es utilizar el c贸digo fuente original de LUA como base. Ambas alternativas son v谩lidas.

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谩metropuntaje
se entreg贸 el TP6
El 煤ltimo commit del PR tiene fecha previa a la recomendada+2
Se agregaron 5 tests+2