Tratamiento De Errores

Páginas: 8 (1951 palabras) Publicado: 1 de agosto de 2012
Universidad Nacional del Santa

Curso: Teoría de Compiladores

TRATAMIENTO DE ERRORES INTRODUCCION
Los errores encontrados en las distintas fases de análisis se envían a un módulo denominado manejo de errores. En el caso más sencillo puede ser un subprograma al que se le invoca enviándole el código de error, y que se encarga de escribir un mensaje con el error correspondiente, y el número delínea donde se ha producido, así como de cortar el proceso de traducción. Si se desea construir un tratamiento de errores más completo, por ejemplo detectando todos los errores del programa fuente, el módulo se complica dado que los analizadores deben proseguir su trabajo con falta de datos. A continuación se muestra un fragmento de código de un método de la clase Errores escrito en C++, para eltratamiento de errores sintácticos. En el caso que se presenta cada vez que se encuentra un error el compilador se detiene, y finaliza el proceso.

Una de las funciones más importantes de un compilador es su respuesta a los errores en un programa fuente. Los errores pueden ser detectados durante casi cualquier fase de la compilación. Estos errores estáticos (o de tiempo de compilación) deben sernotificados por un compilador, y es importante que el compilador sea capaz de generar mensajes de error significativos y reanudar la compilación después de cada error. Cada fase de un compilador necesitará una clase ligeramente diferente de manejo de errores. Y, por lo tanto, un manejador de errores debe contener operaciones diferentes, cada una apropiada para una fase y situación específica. Esrecomendable estudiar las técnicas de manejo de errores por cada fase.

Docente: Ing. Mirko Manrique Ronceros

~1~

Universidad Nacional del Santa

Curso: Teoría de Compiladores

Una definición de lenguaje por lo general requerirá no solamente que los errores estáticos sean detectados por un compilador, sino también ciertos errores de ejecución. Esto requiere que un compilador generecódigo extra, el cual realizará pruebas de ejecución apropiadas para garantizar que todos esos errores provocarán un evento apropiado durante la ejecución. El más simple de tales eventos será detener la ejecución del programa. Sin embargo, a menudo esto no es adecuado, y una definición de lenguaje puede requerir la presencia de mecanismos para el manejo de excepciones. Éstos pueden complicarsustancialmente la administración de un sistema de ejecución, especialmente si un programa puede continuar ejecutándose desde el punto donde ocurrió el error. Ejemplo VAR ch : CHAR; (* Un identificador no se puede utilizar si *) ent: INTEGER; (* previamente no se ha definido. *) ... ch := ent + 1; (* En Pascal no es válido, en C sí. *) ü Análisis Léxico: Devuelve la secuencia de tokens: id asig id sumanumero ptocoma ü Análisis Sintáctico: Orden de los tokens válido ü Análisis Semántico: Tipo de variables asignadas incorrecta

TIPOS DE ERRORES
Tipos de errores que suelen ocurrir (dependiendo de la fase): Léxicos: No concuerda con ninguna ER. ü Ejemplo: escribir mal una palabra clave Sintácticos: La estructura que se ha seguido no es correcta. ü Ejemplo: expresión con paréntesis no emparejadosSemánticos: La estructura está bien pero hay errores de significado ü Ejemplo: operador y operandos incompatibles. Lógicos: Los comete el programador ü Ejemplo: una llamada infinitamente recursiva Algunos errores se pueden detectar en compilación otros solo en ejecución. El tratamiento de errores es una parte importante que se suele descuidar

Docente: Ing. Mirko Manrique Ronceros

~2~ Universidad Nacional del Santa

Curso: Teoría de Compiladores

TRATAMIENTO DE LOS ERRORES LEXICOS
Un traductor debe adoptar alguna estrategia para detectar, informar y recuperarse para seguir analizando hasta el final. Las respuestas ante el error pueden ser: ü Inaceptables: Provocadas por fallos del traductor, entrada en lazos infinitos, producir resultados erróneos, y detectar sólo el primer...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • TRATAMIENTO DE ERRORES
  • tratamiento de errores
  • tratamiento de errores
  • Errores y su tratamiento
  • Tratamiento de errores
  • Tratamiento estadístico de errores experimentales
  • Tratamiento De Errores
  • Tratamiento estadístico de datos y errores en trabajo experimental

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS