-
Proyecto Procesadores de Lenguajes
ETSII ULL Grado de Informatica
Objetivo
Escriba un analizador del lenguaje PL0 usando PEGjs así como las tecnologías vistas durante el curso: ECMA6, Node.js, expressJS, MongoDB, Mongoose, SASS, etc.
La salida debe ser el árbol de análisis sintáctico del programa de entrada.
Mejoras
Pueden introducir las mejoras que les resulten interesantes. Siguen algunas sugerencias:
- Ampliación de la gramática de PL0:
- Se pide modificar la gramática del lenguaje PL/0 para que acepte las sentencias if-then-else y maneje argumentos en los procedimientos (PROCEDURE y CALL).
- Análisis semántico
- Comprobar que las variables han sido declaradas antes de su uso
- Comprobar que las llamadas tienen el mismo número de argumentos que en su declaración
- Uso de otras tecnologías, por ejemplo MathJax para poner fórmulas matemáticas en la documentación, Editores como Ace o codemirror para facilitar la entrada, realizar pruebas en el cliente y/o en el servidor, etc.
Documentación de la gramática