1. INSTITUTO TECNOLOGICO SUPERIOR DE SAN MARTIN TEXMELUCAN PUEBLA CARLOS MANUEL MORALES MORENO EDUARDO DOMINGUEZ JUAREZ JOSE ABELARDO CASTAÑEDA NITO LOURDES QUIROZ HERNANDEZ 4° Semestre TEORÍA DE LA COMPUTACIÓN LIC.YESENIA PEREZ REYES
3. Una gramática independiente del contexto (GIC) está en Forma normal de Greibach (FNG) si todas y cada una de sus reglas de producción tienen un consecuente que empieza por un carácter del alfabeto, también llamado símbolo terminal. Formalmente, cualquiera de las reglas tendrá la estructura: A − > aw
4. Forma Normal de Greibach G=(N, Σ, P, S) diremos que está en forma normal de Greibach si todas sus producciones son de la forma A -> aα a ∈ Σ α ∈ N*
5. Para toda gramática incontextual G existe una gramática incontextual G’ en forma normal de Greibach tal que L(G’) = L(G) – {λ}
6. Algoritmo para la obtención de la Forma Normal de Greibach (1) Entrada G=(N, Σ, P, S) gramática incontextual arbitraria con L(G) ≠ ∅ Sal ida G1=(N1, Σ 1, P1, S) gramática em FNG tal que L(G1) = L(G) – {λ}
8. Al final de la Fase 1 las producciones están en una de las tres formas (1) Ai -> Aj γ con j > i (2) Ai -> a γ (3) Bi -> γ con a ∈ Σ γ ∈ (N ∪ { B1, B2, …, Bi-1*
9. • Las producciones de la forma (2) ya están en FNG • Todas las producciones de Am ya están en FNG • Las producciones de los nuevos símbolos Bi comienzan por símbolos Aj
10. Ejemplo */ Fase 1*/ G=(N, Σ, P, A1) (simplificada y en FNC) A1 -> A2A3 A2 -> A1A2| a A3 -> A1A3| b
11. /* Fase 2 */ G1=(N1, Σ1, P1, A1 A1 -> a A3| a B2A3 A2 -> a | a B2 B2 -> a A3A3 A2B2 | a B2 A3 A3 A2 B2| b A2B2 a A3 A3 A2| a B2 A3 A3 A2| b A2 A3 -> a A3A3| a B2A3 A3| b
12. 3.5 Eliminación de Factores Comunes Izquierdos Existen gramáticas que tiene producciones de la forma A ¡ å ß1 | å ß2 como por ejemplo: S ¡ i E t S e S | i E t S donde å es el término común en las producciones de A. Sin embargo para poder llevar a cabo el análisis sintáctico de las mismas mediante algunas técnicas se debe eliminar los términos comunes izquierdos llevando a cabo el proceso de factorización siguiente: Las producciones A ¡ å ß1| å ß2 se transforman en las siguientes A ¡ å A´ A´¡ ß | ß2
13. 3.5 Eliminación de Factores Comunes Izquierdos CUESTIONARIO 1.- ¿A QUE SE LLAMA DERIVACION A LA IZQUIERDA? Se llama derivación izquierda de una palabra w a una secuencia S ) w1 ) . . . ) wn ) w en donde, para pasar de wi a wi+1, se aplica una regla al no Terminal de wi que se encuentre mas a la izquierda. 2.- DA UN EJEMPLO. Para la gramática no ambigua con reglas S ! AB, A ! a, B ! b, la palabra ab se produce con la derivación izquierda: S ) AB ) aB) ab 3.- ¿POR QUE ESTE TIPO DE DERIVACION ES IMPORTANTE? Para restringir el numero de elecciones a hacer al derivar una cadena. 4.- ¿QUE SUCEDE AL REALIZAR ESTE PASO? En este caso es útil exigir que en cada paso se reemplace la variable situada más a la izquierda por uno de sus producciones.
14. 3.5 Eliminación de Factores Comunes Izquierdos CUESTIONARIO 5.- ¿CUAL ES SU SIMBOLISMO? Se indica que es una derivación a la izquierda utilizando las relaciones => y => para o mas paso respectivamente. * * MI MI 6.- ¿A QUE SE REFIERE CON QUE PARA CADA DERIVACION MAS A LA IZQUIERDA ES EQUIVALENTE? Teóricamente este se define como: si w es una cadena Terminal y A una variable, entonces A=>w *si y solo si A=>w, y A*=> w si y solo si * A=>w. 7.- DEFINE CON TUS PROPIAS PALABRAS QUE ES LA DERIVACION POR IZQUIERDA. Es cuando en cada paso en una derivación una producción a la variable mas a la izquierda.
15. CUESTIONARIO 8.- DA UN EJEMPLO TUYO DE DERIVACION MAS A LA IZQUIERDA. N=>aAS=>aSbAS=> aabAS=>aabbaS=>aabbaa 9.- ¿SE UNA DERIVACION A LA IZQUIERDA ES EQUIVALENTE QUE SE ESPERA DE LA MISMA A LA DERECHA? Que también sea equivalente ya que la teoría dice que ambas deben ser equivalentes. 10.- ¿QUE MOTIVO LA CREACION DE LA GRAMTICA LIBRE DE CONTEXTO? Fue la necesidad de descripción de lenguajes naturales donde las variables se escriben dentro de corchetes y las terminales son por ejemplo, la palabra “niño”.