Práctica: Analizador Descendente Predictivo Recursivo
Descripción
Diseñe un lenguaje de programación sencillo. Escriba un analizador sintáctico que genere un árbol de análisis abstracto para dicho lenguaje.
Posibles puntos de partida
- Niklaus Wirth's PL/0 in the Wikipedia.
- Tiny Basic
Requisitos
- Escriba la gramática de manera que sea procesable por un ADPR. Puede usar los operadores
*
y+
dentro de la gramática para indicar repeticiones - Escriba el analizador sintáctico para dicho lenguaje. Deberá devolver el árbol de análisis sintáctico
- El lenguaje debe tener
- declaraciones (aunque no tiene que ser necesariamente tipeado). Esto es, deberían poder declararse objetos como variables, constantes (opcional) y funciones
- sentencias
if
, condiciones
comoa <= b
,asignaciones
,- alguna forma de bucle,
funciones
y llamadas a funciones,- etc.
- La gramática deberá disponerse de forma que sea analizable por un PDR
- Escriba pruebas para el código desarrollado