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
Requisitos
  1. 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
  2. Escriba el analizador sintáctico para dicho lenguaje. Deberá devolver el árbol de análisis sintáctico
  3. 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 como a <= b,
    • asignaciones,
    • alguna forma de bucle,
    • funciones y llamadas a funciones,
    • etc.
  4. La gramática deberá disponerse de forma que sea analizable por un PDR
  5. Escriba pruebas para el código desarrollado

Recursos