Analisis Sintactico

Páginas: 11 (2557 palabras) Publicado: 13 de julio de 2011
08/06/2011

TEORÍA DE LENGUAJES
Capítulo N°07

ANÁLISIS SINTÁCTICO
Ing. Laura Bazán Díaz

1

2

Analizador Sintáctico
• El análisis sintáctico (parser en lengua inglesa) toma los tokens que le envía el analizador léxico y comprueba si con ellos se puede formar alguna sentencia válida del lenguaje. • Se entiende por sintaxis como el conjunto de reglas formales que especifican cómo seconstruyen las sentencias de un determinado lenguaje.
3

Analizador Sintáctico
• Una gramática bien diseñada da una estructura al lenguaje de programación que se utiliza en la traducción del programa fuente en código objeto correcto y para la detección de errores. • Existen herramientas que a partir de la descripción de la gramática se puede generar el código del analizador sintáctico.

41

08/06/2011

Funciones
• Comprobar si la cadena de tokens proporcionada por el analizador léxico puede ser generada por la gramática que define fuente (GCL). • Construir el árbol de análisis sintáctico que define la estructura jerárquica de un programa y obtener la serie de derivaciones para generar la cadena de tokens.

Funciones
• El árbol sintáctico se utilizará como representaciónintermedia en la generación de código. • Informar de los errores sintáctico de forma precisa y significativa. Deberá estar dotado de un mecanismo de recuperación de errores para continuar con el análisis.

5

6

Interfaces del Analizador Sintáctico
Gramática Libre de Contexto token
pide siguiente token Representación intermedia

Analizador programa léxico
fuente

Analizador sintácticoárbol sintáctico

Analizador semántico

• El análisis sintáctico se puede considerar como una función que toma como entrada la secuencia de componentes léxicos(tokens) producida por el análisis léxico y produce como salida el árbol sintáctico. En realidad, el análisis sintáctico hace una petición al análisis léxico del token siguiente en la entrada (los símbolos terminales) conforme lo vanecesitando en el proceso de análisis.

Gestor de errores

Tabla de Símbolos

7

8

2

08/06/2011

Derivaciones y Árboles Sintácticos
• Analizar sintácticamente una cadena de tokens es encontrar para ella un árbol sintáctico o derivación, que tenga como raíz el símbolo inicial de la gramática libre de contexto y mediante la aplicación sucesiva de sus reglas de derivación se puedaalcanzar dicha cadena como hojas del árboles sintáctico. En caso de éxito la sentencia pertenece al lenguaje generado por la gramática, y puede proseguirse el proceso de compilación.
9

Derivaciones y Árboles Sintácticos
• En caso contrario, es decir cuando no se encuentra el árbol que genera dicha cadena, se dice entonces que la sentencia no pertenece al lenguaje, y el compilador emite unmensaje de error, pero el proceso de compilación trata de continuar. Algunos compiladores paran el proceso de compilación cada vez que encuentran un error, en ellos es necesario realizar tantas compilaciones como errores tendría el programa fuente.

10

Gramática de expresiones aritméticas
• Supongamos que se desea construir una gramática G=(N,T,P,S) que describe un lenguaje basado en lautilización de expresiones aritméticas con sumas, diferencias, productos, divisiones, potenciación, paréntesis y menos unario. Este lenguaje también permitirá el uso de constantes e identificadores de variables.

Gramática de expresiones aritméticas
• La gramática está compuesta por un vocabulario terminal T formado por los símbolos de los operadores, paréntesis y los tokens constante e identificador.El vocabulario no terminal N sólo contendrá el símbolo no terminal . El símbolo inicial S también será . La gramática G queda tal y como se muestra a continuación: T={+,*,/,^,(,),-,identificador, contante} N={} S:

11

12

3

08/06/2011

• Las reglas de producción P que en un principio representarían al lenguaje se muestran a continuación numeradas del (1) al (9). La numeración se...
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