•¡¡Los programas no siempre son correctos!!
•El compilador tiene que:
–Reportar clara y exactamente la presencia de errores
–Recuperarse de cada error lo suficientemete rápido para poder detectar errores subsiguientes
–Tratar de evitar mensajes falsos de error
Tipos de Errores
•Léxicos
•Sintácticos
•Semánticos
•Lógicos
Errores Léxicos
•Un error que produce un token erroneo
•Errores léxicos posibles
–Un identificador, palabra reservada u operador mal escrito (typo)
Errores Sintácticos
•Un programa que no satisface la CFG del lenguaje
•Ejemplos
–Expresión aritmética con paréntesis no balanceados
–Un punto y coma faltante
Errores Semánticos
•Un error que necesita información sensitiva al contexto para ser identificado
•Ejemplos
–Un operador aplicado a un tipo incompatible de operando
–Accesar una variable no declarada
Errores Lógicos
•Errores en el modelo de ejecución
•Ejemplos
–Recursión infinita
–Accesar un arreglo fuera de los límites
–Dereferenciar un null pointe
Tipos de recuperación de errores de sintáxis
Panic mode recovery
Parse level recovery
Producciones de error
Corrección global
Muy bien
ResponderEliminar