Analisis Sintactico

Páginas: 15 (3704 palabras) Publicado: 22 de octubre de 2012
3. Análisis sintáctico.
El analizador sintáctico obtiene una cadena de componentes léxicos del analizador léxico y comprueba si la cadena puede ser generada por la gramática del lenguaje fuente. Se asume que el analizador sintáctico informará de cualquier error de sintaxis de manera inteligible. También debiera recuperarse de los errores que ocurren frecuentemente para poder continuar procesandoel resto de su entrada. Como se ve en la Fig. 3.1. el analizador sintáctico produce como salida un árbol de análisis sintáctico que muestra la estructura gramatical de la instrucción y que permite al resto de las etapas de la fase inicial culminar con la generación del código intermedio.

Figura. 3.1. El papel del analizador sintáctico. Un elemento fundamental en el trabajo del analizadorsintáctico lo constituye la gramática que define al lenguaje de programación. En el sentido más amplio, una gramática incluye un conjunto de reglas de sintaxis ( de escritura ), y un conjunto de símbolos gramaticales utilizados en la descripción de las reglas. Los componentes léxicos definidos por el analizador léxico constituyen parte de estos símbolos ( son los símbolos gramaticales básicos, conocidoscomo símbolos terminales ). El analizador sintáctico utiliza las reglas sintácticas para comprobar la correctitud de las instrucciones contenidas en el archivo fuente. Si la construcción es correcta, construye un árbol de análisis sintáctico que representa la estructura gramatical de la construcción. En el proceso de análisis sintáctico se descubren los errores sintácticos y se informa de losmismos con suficiencia al programador. Errores sintácticos. Si un compilador tuviera que procesar sólo programas correctos, su diseño e implementación se simplificarían mucho. Pero los programadores a menudo escriben programas incorrectos, y un buen compilador debería ayudar al programador a identificar y localizar errores. Aunque los errores son demasiado frecuentes, es sorprendente que pocoslenguajes estén diseñados teniendo en cuenta el manejo de errores de tipo sintáctico. Como no es posible describir que hacer en caso de errores sintácticos utilizando la misma gramática que describe al lenguaje de programación, su tratamiento es decisión de implantación del compilador.

Se sabe que los programas pueden contener errores de muy diverso tipo. Por ejemplo, los errores pueden ser: • • • •Léxicos, como escribir mal un identificador, palabra clave u operador, Sintácticos, como una expresión aritmética con paréntesis no equilibrados, Semánticos, como un operador aplicado a un operando incompatible, Lógicos, como una llamada infinitamente recursiva.

Gran parte del trabajo de detección y recuperación de errores se centra en la fase de análisis sintáctico. Este tipo de errores sedebe a que una secuencia de componentes léxicos no se ajusta a alguna regla gramatical. En la mayoría de los casos, el compilador es capaz de detectar la presencia de los errores y notificarlo convenientemente. Los compiladores correctores de código son mucho más difíciles de implementar y una de las razones de ello es que el trabajo se realiza línea por línea del programa fuente y no es posibleconocer por anticipado el contexto completo en el cual se realiza la compilación. El manejador de errores del analizador sintáctico tiene objetivos fáciles de establecer: • • • Debe informar de la presencia de errores con claridad y exactitud, Se debe recuperar de cada error con la suficiente rapidez como para detectar errores posteriores, No debe retrasar de manera significativa el procesamiento deprogramas correctos.

Afortunadamente, los errores más comunes son simples y a menudo basta con un mecanismo sencillo de manejo de errores. Sin embargo, en algunos casos un error pudo haber ocurrido mucho antes de la posición en que se detectó su presencia, y puede ser muy difícil deducir la naturaleza precisa del error. En los casos difíciles, el manejador de errores quizá tenga que adivinar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analisis Sintactico
  • analisis sintactico
  • Análisis Sintáctico
  • Analisis sintactico
  • Análisis Sintáctico
  • Análisis sintáctico
  • Analisis Sintactico
  • ANALISIS SINTACTICO

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS