Está en la página 1de 7

INSTITUTO TECNOLOGICO DE NUEVO LEN

TEORA DE LA COMPUTACIN

ENSAYO:
ELIMINACIN

DE AMBIGEDAD

Alumna: Dulce Rodrguez Saldaa

09480637

MAESTRA: Dora Elia Martnez Aguilar

11:00 a 12:00

Cd. Guadalupe N.L a 11 de mayo 2012

INTRODUCCIN

Los lenguajes as como sus gramticas nos sirven para generar cadenas a travs de procesos especficos. Por ello es necesario y muy importante que los lenguajes y sus gramticas sean concisos, claros y fciles de entender, con el fin de generar las cadenas correctas.

Pero no siempre es muy fcil el desarrollar estas gramticas, ya que se tiende a centrarse nicamente en que la gramtica generada a partir de un lenguaje cumpla con producir las cadenas correctas, y se pasa por alto el aspecto de limpieza y objetividad de la gramtica, y cometemos el error de crearle ambigedad.

AMBIGEDAD

Antes de proceder con el tema que nos incumbe, que es la eliminacin de ambigedad, comprendamos que es la ambigedad en general. La ambigedad es una situacin en la que la informacin se puede entender o interpretar de ms de una manera Una gramtica libre de contexto es ambigua si existe una cadena perteneciente a un lenguaje que tiene ms de una derivacin por la izquierda o derecha o si tiene dos o ms rboles de derivacin. Para ello basta con encontrar dos rboles de derivacin distintos para la misma forma cadena para demostrar que una gramtica es ambigua. En concreto si una gramtica genera ms de una estructura a partir de la misma raz y con la misma cadena, dicha gramtica es ambigua. Por ejemplo la gramtica Para generar la cadena aa

Es ambigua porque aa tiene dos derivaciones por la izquierda.

TIPOS DE AMBIGEDAD
Dentro del estudio de gramticas existen dos tipos fundamentales de ambigedad, los cuales son: Ambigedad Inherente

Ambigedad Transitoria

Ambigedad Inherente
Las gramticas que presentan este tipo de ambigedad no pueden utilizarse para lenguajes de programacin, ya que por ms transformaciones que se realicen sobre ellas, nunca se podr eliminar completamente la ambigedad que presenta. Un lenguaje L es inherentemente ambiguo si todas sus gramticas son ambiguas; si existe cuando menos una gramtica no ambigua para L, L no es ambiguo.

Ambigedad Transitoria
Este tipo de ambigedad puede llegar a ser eliminada realizando una serie de transformaciones sobre la gramtica original. Una vez que se logra lo anterior, la gramtica queda lista para ser reconocida por la mayor parte de los analizadores sintcticos. Esta ambigedad se presenta cuando existen producciones con factores comunes cuando existen producciones que son recursivas izquierdas. Para solucionar el problema de la ambigedad transitoria, es necesario, primero eliminar: - Factores comunes izquierdos inmediatos y No-inmediatos. - Recursividad izquierda inmediata y No-inmediata.

ELIMINACIN DE LA AMBIGEDAD.
La eliminacin de la ambigedad es difcil de realizar y entender por las siguientes razones: No existe un algoritmo que nos indique si una gramtica es ambigua.

Existen lenguajes que slo tienen gramticas ambiguas: inherentemente ambiguos. Para las construcciones de los lenguajes de programacin comunes existen tcnicas para la eliminacin de la ambigedad En la prctica y para algunas aplicaciones, es posible eliminar la ambigedad. Para esto es necesario estudiar las causas de la ambigedad (especficas para una gramtica ambigua dada) y proporcionar una gramtica alternativa no ambigua. Causa 1: La precedencia de los operadores no se respeta. Causa 2: Una secuencia del mismo operador se puede agrupar tanto por la izquierda como por la derecha. Ejemplo: ( )

Nueva Gramtica

( )

Conclusin

Despus de entender a fondo el concepto de ambigedad de una gramtica, que simplemente es que se pueda producir una misma cadena, a partir de una misma no-terminal, y usando diferentes producciones.

Tambin se explica como tratar de eliminar la ambigedad, en caso de que esta sea generada por operadores, y que la razn sea por que no se respete la precedencia de los operadores.

De la misma manera muestra como no es posible eliminar del todo la ambigedad, y en otros casos es de hecho imposible.

BIBLIOGRAFA

http://quegrande.org/apuntes/ETIS-USC/1/TALF1/teoria/07-08/tema_4__gramaticas_independientes_del_contexto.pdf http://teodelacomp.blogspot.mx/2011/03/37-eliminacion-de-laambiguedad.html http://leibniz.iimas.unam.mx/~luis/cursos/ALF_old/sesiones/tema16c.pdf