lunes, 22 de noviembre de 2010

Manejo de Errores

•¡¡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

 
 
 
 
 
 
 
 

1 comentario: