Está en la página 1de 8

TEORIA DE LENGUAJES Y

COMPILADORES
ANALIZADOR SINTACTICO
Anlisis sintctico
El papel del analizador sintctico
Obtiene una cadena de tokens desde el
analizador lxico y verifica que esta cadena
pueda ser generada por la gramtica del
lenguaje de programacin definido.
Programa
Fuente
Analizador
Lxico
Analizador
Sintctico
Tabla de
Smbolos
Token
ObtenToken()
Resto del
anlisis
rbol de
anlisis
sintctico
El papel del analizador sintctico
Conceptualmente, el analizador sintctico, a
partir de cadenas correctas de tokens,
construye un arbol de anlisis sintctico que
transfiere a las etapas posteriores del
compilador.
El papel del analizador sintctico
De acuerdo a lo anterior, existen dos tipos de
analizadores sintcticos:
Top-Down.- Construye rboles de anlisis
sintctico a partir de la raiz y hacia las hojas.
Bottom-Up.- Construye rboles de anlisis
sintctico a partir de las hojas y hacia la raiz.
En ambos casos la entrada es explorada de
izquierda a derecha, un smbolo a la vez.
Manejo de errores sintcticos
El analizador sintctico debe ser capaz de
reconocer errores que impiden formar frases
gramaticales vlidas para nuestro lenguaje de
programacin. Ejemplos de errores sintcticos
tpicos son:
La ausencia o exceso de un delimitador como las
llaves de C ({ o }).
Una sentencia condicional if con la ausencia de la
palabra clave then en Pascal.
Manejo de errores sintcticos
Para recupararse de los errores sintcticos
existen las siguientes estrategias:
Modo de pnico.- El analizador descarta
sucesivamente smbolos hasta encontrar un token
de sincronizacin vlido (generalmente un
delimitador como el ; o }).
Recuperacin a nivel de frase.- El analizador
intenta remplazar un prefijo de la entrada restante
por una cadena que permita al analizador continuar
(cambiar una , por un ;, insertar un ;, etc.).
Manejo de errores sintcticos
Para recupararse de los errores sintcticos
existen las siguientes estrategias:
Inclusin de producciones de error.- Conociendo
cuales son los errores sintcticos ms comunes, se
puede extender la gramtica original agregando
producciones que generan las construcciones
errneas.

También podría gustarte