Laboratorio 3: Parser descendiente recursivo de LUA
Parser descendiente recursivo de LUA.
Para m谩s detalles, visitar compiladores.github.io.
#
Quickstart#
EditorSe recomienda usar vscode y la extensi贸n para deno. Para esto apretar Ctrl+P
y luego pegar
ext install denoland.vscode-deno
#
DenoExisten 2 alternativas para instalar deno:
- Seguir las (instrucciones oficiales)[https://deno.land/#installation] para instalar el comando
deno
- 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
#
DependenciasSe requiere flex y gcc, al igual que en el laboratorio 2.
#
C贸mo hacer el laboratorioSe 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:
docs/lua-bottlecaps.txt
: gram谩tica de lua extra铆da del manual oficial, convertida en apta para ser visualizada en railroad diagram generatordocs/lua-bottlecaps-real.txt
: gram谩tica de lua extra铆da del c贸digo fuente, convertida en apta para ser visualizada en railroad diagram generatordocs/intro_teorica.md
: Breve repaso de gram谩ticas y diagramas de sintaxis
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贸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 | puntaje |
---|---|
se entreg贸 el TP | 6 |
El 煤ltimo commit del PR tiene fecha previa a la recomendada | +2 |
Se agregaron 5 tests | +2 |