escuela

Páginas: 2 (450 palabras) Publicado: 3 de julio de 2013


MANEJO DE ERRORES SINTÁCTICOS

Si un compilador tuviera que procesar sólo programas correctos, su diseño e implantación se simplificarían mucho. Pero los programadores a menudo escribenprogramas incorrectos, y un buen compilador debería ayudar al programador a identificar y localizar errores. Es más, considerar desde el principio el manejo de errores puede simplificar la estructura de uncompilador y mejorar su respuesta a los errores.

Los errores en la programación pueden ser de los siguientes tipos:

Léxicos, producidos al escribir mal un identificador, una palabra clave o unoperador.
Sintácticos, por una expresión aritmética o paréntesis no equilibrados.
Semánticos, como un operador aplicado a un operando incompatible.
Lógicos, puede ser una llamada infinitamenterecursiva.

El manejo de errores de sintaxis es el más complicado desde el punto de vista de la creación de compiladores. Nos interesa que cuando el compilador encuentre un error, se recupere y sigabuscando errores. Por lo tanto el manejador de errores de un analizador sintáctico debe tener como objetivos:

Indicar los errores de forma clara y precisa. Aclarar el tipo de error y su localización.Recuperarse del error, para poder seguir examinando la entrada.
No ralentizar significativamente la compilación.

Un buen compilador debe hacerse siempre teniendo también en mente los errores quese pueden producir; con ello se consigue:

Simplificar la estructura del compilador.
Mejorar la respuesta ante los errores.

Tenemos varias estrategias para corregir errores, una vez detectados:Ignorar el problema (Panic mode): Consiste en ignorar el resto de la entrada hasta llegar a una condición de seguridad. Una condición tal se produce cuando nos encontramos un token especial (porejemplo un ‘;’ o un ‘END’). A partir de este punto se sigue analizando normalmente.

Ejemplo:


Recuperación a nivel de frase: Intenta recuperar el error una vez descubierto. En el caso anterior,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Escuela
  • Escuela
  • Escuela
  • La escuelas
  • Escuela
  • Escuela
  • Escuela
  • Escuela

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS