Sei sulla pagina 1di 3

INSTITUTO TECNOLOGICO SUPERIOR

DE LERDO.


INVESTIGACION: ANLISIS SINTCTICO


CARLOS RENE VALVERDE LOPEZ.


LENGUAJES Y AUTOMATAS 1


ING. GUSTAVO MIRANDA.


6 A


LERDO, DGO 03/05/14.

Anlisis Sintctico.
Desarrollo.
Funciones.
Comprobar que la secuencia de componentes lxicos cumple las reglas de la
gramtica
Generar el rbol sintctico

Ventajas de utilizar gramticas.
Son especificaciones sintcticas y precisas de lenguajes
Se puede generar automticamente un analizador
El proceso de construccin puede llevar a descubrir ambigedades
Imparte estructura al lenguaje de programacin, siendo ms fcil generar cdigo y
detectar errores
Es ms fcil ampliar y modificar el lenguaje

Tres tipos generales de analizadores sintcticos:
Mtodos Universales: Cocke-Younger-Kasami y Earley
Sirven para cualquier gramtica
Muy ineficientes
Descendentes (top-down)
Construyen el rbol de anlisis sintctico desde arriba (raz, axioma) hasta abajo
(hojas, terminales)
Analizadores Descendentes Recursivos
Analizadores LL(1) con tabla
Ascendentes (bottom-up)
Construyen el rbol de anlisis sintctico desde abajo hacia arriba
Analizadores de Precedencia de Operador
Analizadores LR(1)
Anlisis sintctico descendente
En ste analizador las entradas son de izquierda a derecha, y construcciones de derivaciones
por la izquierda de una sentencia o enunciado.

Caractersticas.
El anlisis sintctico descendente (ASD) intenta encontrar entre las producciones de la
gramtica la derivacin por la izquierda del smbolo inicial para una cadena de entrada.
Parte del axioma de la gramtica.
Procesa la entrada de izquierda a derecha.
Escoge reglas gramaticales.
Bueno primeramente para trabajar el anlisis sintctico descendente se debe realizar
primeramente algunas operaciones para que la gramtica sea LL1 las cuales son:
Eliminar ambigedad: Para eliminar la ambigedad se debe reescribir la
gramtica.

Eliminar recursividad por la izquierda: Una gramtica es recursiva por la
izquierda si tiene un nodo Terminal a tal que existe una derivacin A->A para
alguna cadena. Es decir por simple observacin podemos identificar.

Anlisis sintctico ascendente.
El objetivo de un anlisis ascendente consiste en construir el rbol sintctico desde abajo
hacia arriba, esto es, desde los tokens hacia el axioma inicial, lo cual disminuye el nmero
de reglas mal aplicadas con respecto al caso descendente (si hablamos del caso con
retroceso) o ampla el nmero de gramticas susceptibles de ser analizadas (si hablamos del
caso LL(1)).
Anlisis ascendente con retroceso.
Al igual que ocurra con el caso descendente, este tipo de anlisis intenta probar todas las
posibles operaciones (reducciones y desplazamientos) mediante un mtodo de fuerza bruta,
hasta llegar al rbol sintctico, o bien agotar todas las opciones, en cuyo caso la cadena se
rechaza.
En el anlisis con retroceso no se permiten las reglas , puesto que estas se podrn aplicar
de forma indefinida.
Conclusin.
Existen varios tipos de analizadores sintcticos que se podran utilizar para poder
comprobar que las secuencias lxicas cumplan con las reglas gramaticales establecidas y en
base a eso poder desarrollar un rbol sintctico. Para hacer esto de la mejor forma tenemos
que tomar en cuenta las ventajas y las desventajas de cada uno de los analizadores
sintcticos que existen para as poder tomar la mejor decisin y escoger el que ms se ajuste
a nuestras necesidades.
Bibliografa.
http://www.giaa.inf.uc3m.es/docencia/ITIG/sintactico.pdf
http://sycg.wordpress.com/2010/12/14/analizador-sintactico-ascendente-y-descendente/

Potrebbero piacerti anche