Maes95 / 2Flex1Cup

2Flex1Cup
0 stars 0 forks source link

Implementar recuperación de errores #24

Closed Maes95 closed 7 years ago

Maes95 commented 8 years ago

Para obtener un SOBRESALIENTE debemos implementar una recuperación de errores:

sobresaliente (máximo 9,5), alcanzando el grado de notable, implementando recuperación de errores

Para mas información: Recuperación de errores CUP

Más ejemplos: Documentación en Español

Ejemplo de recuperación

SENT::= ASIG semicolons
        | PROC_CALL semicolons
        | EXEBLQ
        | COND
        | WLOOP
        | FLOOP
        | CASE
        | error SENT {: System.err.println("Recuperacion de error satisfactoria"); :}
        ;
pabloFuente commented 8 years ago

Nos falta:

pabloFuente commented 8 years ago

Decidir en qué otros lugares incluir "| error NO_TERMINAL": ERRORES MÁS COMUNES

procedure intercambio ( v1, v2: INTEGER ;

Recuperación al encontrar punto y coma

  • Los "dos puntos igual" de la asignación mal escritos (probablemente que faltan los dos puntos):

aux = 0;

Recuperación al encontrar punto y coma

  • Falta de una coma en una lista de declaración de variables.

valor1, valor2, valor3 valor4, i, a, resultado : INTEGER;

Recuperación al encontrar los dos puntos

  • Begin sin end en "procedures" y "functions"

Recuperación ?

  • Falta del punto final en el último end

No hace falta recuperarse (no queda nada más que analizar)