Sie sind auf Seite 1von 4

1.8.

3 ELIMINACIN DE REGLAS INACCESIBLES Una regla inaccesible es aquella que depende de otra regla para ser producida, y que por lo tanto no puede aplicarse. En otras palabras Una regla inaccesible si no hay una derivacin de una gramtica , donde . es

Para eliminar una regla inaccesible solo se debe eliminar. Ya que esta regla no participa en ninguna derivacin.

1.8.4 FORMAS NORMALES Las formas normales son estndares que expresan una GLC siguiendo un formato ms preciso de las reglas que la simple forma . La forma normal de Chomsky consiste en que las reglas pueden tener dos formas:

Esta forma normal tiene por objeto facilitar el anlisis sintctico de una palabra de entrada, siguiendo la estrategia siguiente: Se trata de construir el rbol de derivacin de w de arriba hacia abajo, y por consiguiente se supone inicialmente que el smbolo inicial S puede producir la palabra w. En seguida se procede a dividir la palabra de entrada w en dos pedazos, para luego tomar alguna regla , y tratar de verificar si se puede derivar a a partir de A y b a partir de B, es decir: si:

La Recursin es generar dos nuevos problemas similares al problema inicial, pero con datos ms pequeos. El hecho de la recursin nos da la posibilidad de compilar palabras de un LLC. Sea CC(A, u) la funcin que verifica si . Entonces un algoritmo de anlisis sintctico sera el siguiente: CC(A,w) :

Es necesario ensayar todas las formas posibles de dividir una palabra en dos partes, antes de convencerse de que sta pertenece o no a nuestro lenguaje. Aun cuando esto puede ser muy ineficiente computacionalmente, es innegable que el algoritmo es conceptualmente muy sencillo. El siguiente problema a examinar es si efectivamente es posible transformar una GLC cualquiera G en otra GLC que est en la FNCH. Vamos a efectuar esta transformacin en dos etapas: en una primera etapa, llevaremos G a una forma intermedia Gtemp, para pasar despus de Gtemp a . En Gtemp las reglas son de las formas:

En Gtemp, los lados derechos de las reglas son, ya sea un terminal, o una cadena (no vaca) de no-terminales. La manera de llevar una GLC cualquiera a la forma intermedia consiste en introducir reglas , , etc., de modo que podamos poner, en vez de un terminal a, el no-terminal A que le corresponde, con la seguridad de que despus sera posible obtener a a partir de A.

1.9 LIMITACIONES DE LOS LLC 1.9.1 TEOREMA DE BOMBEO PARA LOS LLC Teorema.- Existe para cada v y y no son ambas vacas, y que un nmero k tal que toda para cualquier n 0. , donde |w| > k, puede ser escrita como w = uvxyz, de tal manera que

Para aplicar este teorema solo basta probar que hay una derivacin: pues al aparecer el mismo no-terminal en dos puntos de la derivacin, es posible insertar ese trozo de la derivacin cuantas veces se quiera (incluyendo cero). Esa parte de la derivacin, que tiene la forma , es una especie

de ciclo sobre el no-terminal A, que recuerda lo que ocurra con el teorema de bombeo para los lenguajes regulares. Para probar que existen en la derivacin ciclos de la forma , la idea ser verificar que el tamao vertical del rbol (su profundidad) es mayor que la cantidad de no-terminales disponibles. En consecuencia, algn no-terminal debe repetirse. La cantidad de no-terminales para una gramtica es |V|.

Teorema.- La interseccin de dos LLC no es necesariamente LLC. Prueba.- Los lenguajes L1 y L2 formados por las palabras de la forma y lenguaje respectivamente son LLC. Sin embargo, su interseccin es el , que acabamos de probar que no es LLC.

Teorema.- El complemento de un LLC no necesariamente produce otro LLC. Prueba.- Si el complemento de un LLC fuera tambin LLC, lo mismo ocurrira con la interseccin, ya que, de acuerdo con las identidades de la teora de conjuntos, = .

1.10 PROPIEDADES DE DECIDIBILIDAD DE LOS LLC Los algoritmos de decisin son preguntas a las que es posible dar un algoritmo o receta tal que, siguindolo paso por paso, se llega a concluir un s o un no. Teorema.- Dadas una gramtica G y una palabra w, es posible decidir si cuando las reglas de G cumplen la propiedad: Para toda regla , o bien , es decir, el lado derecho tiene varios smbolos, o si tiene exactamente un smbolo, ste es terminal. Prueba: La idea para probar el teorema es que cada derivacin incrementa la longitud de la palabra, porque el lado derecho de las reglas tiene en general ms de un smbolo. En vista de que la longitud de la palabra crece con cada paso de derivacin, slo hay que examinar las derivaciones hasta una cierta longitud finita. En el caso general se incluyen reglas de la forma , con . Para empezar observamos que las reglas de la forma producen exclusivamente un terminal, por lo que, en el peor caso, se aplicaron tantas veces reglas de este tipo como letras tenga la palabra generada. Para una palabra w de longitud l hay que examinar las derivaciones de longitud hasta . Si la palabra se encuentra al final de alguna de esas

derivaciones, la palabra pertenece al lenguaje, y en caso contrario no pertenece al lenguaje. Cuando una GLC arbitraria no cumple con las condiciones del teorema, se realiza un procedimiento para convertirla en una GLC que satisfaga la condicin del teorema. Corolario.- Dada cualquier GLC G, es posible decidir si . La prueba de este corolario consiste en dar un procedimiento para transformar una GLC cualquiera G en una que satisface las condiciones del teorema arriba enunciado.

Das könnte Ihnen auch gefallen