You are on page 1of 12

Anlisis Sintctico

OMateria: Compiladores
OEquipo: 3

Definicin

Llamado tambin anlisis jerrquico o parser


Determina si la secuencia de componentes lxicos
sigue la sintaxis del lenguaje y obtiene la estructura
jerrquica del programa en forma de rbol.

En la practica, el analizador tambin


hace

Accede a la tabla de smbolos

Chequeo de tipos

Generar cdigo intermedio

Generar errores cuando se producen

Objetivos del analizador sintctico

Principales:
Comprobar si el programa es sintcticamente
correcto.
Generar las estructuras de datos que
representan el programa y sirven para el
analizador semntico y el generador de cdigo.
Hacer los siguientes pasos del compilador ms
independientes de la sintaxis del lenguaje.

Proceso

Inicializa el compilador
Para cada smbolo de entrada llama al analizador
lxico y este proporciona el siguiente smbolo de
entrada.
Analizando el smbolo, el AS produce las estructuras
necesarias para la siguiente etapa.
Escribe mensajes de errores y trata de limitar el
efecto de estos errores.

Manejador de errores sintcticos

Considerar desde el principio el manejo de


errores puede simplificar la estructura de un
compilador y mejorar sus respuesta a los
errores.

Objetivos del manejador

Indicar errores de forma clara y precisa. Aclarar el


tipo de error y su localizacin.
Recuperarse del error, para poder seguir
examinando la entrada.
No ralentizar significativamente la compilacin.

Tipos de errores

Lxicos: Error con los tokens


Sintctico: Mala combinacin de tokens
Semntico: Cdigo no admitido por las
reglas del lenguaje
Lgicos: Error con el resultado del
cdigo

Estrategias para corregir errores

Ignorar el problema(panic mode): Ignorar el resto


de la entrada hasta llegar a una condicin de
seguridad.
Recuperacin a nivel de frase: Intenta recuperar el
error una vez descubierto.
Reglas de produccin adicionales para el control
de errores: La gramtica se puede aumentar con las
reglas que reconocen los errores ms comunes.
Correccin global: Consiste en encontrar la
secuencia completa ms parecida que s se pueda
reconocer.

Formas de analizar una secuencia


de tokens

Anlisis ascendente: Partiendo del axioma inicial de


la gramtica se va descendiendo utilizando
derivaciones izquierdas, hasta llegar a construir la
cadena analizada.
Anlisis descendente: Se va construyendo el rbol
desde sus nodos terminales. Se emplean las
derivaciones ms a la derecha.

Herramientas para la
construccin de compiladores

Generador de analizadores sintcticos:


Producen analizadores sintcticos a partir de de una
entrada fundamentada en una gramtica independiente
del contexto.

Bibliografa

http://www.oocities.org/mx/amigos2365/anteproyecto.htm
l
http://www.lcc.uma.es/~galvez/ftp/tci/tictema3.pdf

You might also like