nacheteam/Procesadores-de-Lenguajes

Controlar errores

Closed this issue · 1 comments

Manejar hasta qué punto se descarta el código en caso de error sintáctico. Tratar de conseguir que se detecten todos los errores (y nada más) en los programas con errores, o por lo menos aquellos que se encuentren en sentencias o bloques distintos. Esto se puede hacer con producciones de error.

La función main del analizador sintáctico (en main_sintactico.c) devuelve 1 si ha habido algún error irrecuperable (es decir, si el programa no se deriva de la gramática ni siquiera descartando fragmentos a través de las producciones de error), y 0 en el resto de casos. Hay que buscar que devuelva 0 siempre que la estructura del código no sea irreconocible (por ejemplo, es aceptable que devuelva 1 si la llave de main() no está cerrada).

Cierro esto: la detección de errores está solucionada. El resto es opcional; reabrimos si hubiera tiempo.