analizador sintáctico

9

Click here to load reader

Upload: pablo-guerra

Post on 09-Jul-2015

290 views

Category:

Technology


0 download

DESCRIPTION

Analizador Sintáctico

TRANSCRIPT

Page 1: Analizador Sintáctico

ANALIZADOR SINTÁCTICO

Alexis González Pablo Guerra

Page 2: Analizador Sintáctico

Qué es?

◦ Es la fase del analizador que se encarga de chequear el texto

de entrada en base a una gramática dada. Y en caso de que el

programa de entrada sea válido, suministra el árbol sintáctico

que lo reconoce.

◦ En teoría, se supone que la salida del analizador sintáctico es

alguna representación del árbol sintáctico que reconoce la

secuencia de tokens suministrada por el analizador léxico.

Page 3: Analizador Sintáctico

Cómo funciona?

◦ Obtiene una cadena de componentes léxicos de AL y comprueba si la cadena puede ser generada por la gramática del leguaje fuente

◦ Informar los errores sintácticos en forma precisa y significativa.

◦ Está dotado de un mecanismo de recuperación de errores para continuar

con el análisis

◦ El análisis sintáctico convierte el texto de entrada en otras estructuras

(comúnmente árboles), que son más útiles para el posterior análisis y capturan

la jerarquía implícita de la entrada.

Page 4: Analizador Sintáctico

¿Cuáles son sus características?

◦ Accede a la tabla de símbolos (para hacer parte del trabajo del analizador

◦ semántico).

◦ Realiza Chequeo de tipos

◦ Generar código intermedio.

◦ Generar errores cuando se producen.

◦ En definitiva, realiza casi todas las operaciones de la compilación

Page 5: Analizador Sintáctico

¿Cuál es la función de la gramática independiente de contexto dentro del Analizador sintáctico?

◦ Las gramática independiente de contexto ofrece ventajas significativas a los

diseñadores de lenguajes y a los desarrolladores de compiladores.

• A partir de la gramática independiente de contexto se puede generar

automáticamente un analizador sintáctico.

• El proceso de construcción puede llevar a descubrir ambigüedades.

• La gramática independiente de contexto proporciona una estructura a un lenguaje

de programación, siendo más fácil generar código y detectar errores.

• Es más fácil ampliar/modificar el lenguaje si está descrito con la gramática.

Page 6: Analizador Sintáctico

¿Cómo trabaja con el analizador léxico?◦ El analizador sintáctico pide al Analizador léxico tokens a través de get_token

( );, y que el AL deja el token actual en la variable global token.

◦ Antes de entrar a una función, en token debemos tener el token de

lookahead, que esa función necesita consultar.

Page 7: Analizador Sintáctico
Page 8: Analizador Sintáctico

Conclusiones

◦ El analizador sintáctico es una de las partes más importantes de un compilador

◦ Los errores sintácticos son muy comunes lo que nos demuestra la gran utilidad

del analizador sintáctico

◦ Muchas de las tareas más largas e importantes del compilador son realizadas

en el analizador sintáctico

◦ El analizador sintáctico se encarga de chequear el texto de entrada en base

a una gramática dada