Académique Documents
Professionnel Documents
Culture Documents
3.4 Formas normales de Greibach 1. Una gramtica libre de contexto esta en forma normal de Greibach si: R= Todas las funciones son de la forma A aa , donde a es un smbolo terminal y
a S N (
Inpu : A con j>i, para un cierto orden en el conjunto de variables actuales, digamos V = { X 1 , X 2 , X 3 } . Para esto apliquemos el procedimiento cuyo seudo cdigo se
presenta. Modificacin de producciones de acuerdo con el orden de V'.
R=La ltima variable Xm slo puede ser antecedente de producciones cuyos consecuentes se inician con smbolos terminales, las producciones en P(Xm-1) cuyos consecuentes se inician con Xm pueden transformarse, siguiendo el tema de ``Composicin de producciones'', en producciones equivalentes cuyos consecuentes se inician con smbolos terminales, de manera sucesiva para i=m-2 hasta i=1 las producciones en P(Xi) cuyos consecuentes se inician con algn Xj, con j>i, en producciones equivalentes cuyos consecuentes se inician con smbolos terminales. Con todas estas transformaciones la gramtica resultante G*=(V*,T,P*,S*) es, en efecto, equivalente a G y est en forma normal de Greibach.
A2A1A2|b
Las producciones A1A2A2|a ya se encuentran en la forma necesaria para la primera etapa. Falta A2 La produccin A2b se acepta, pero A2A1A2 no. Al sustituir A1, se obtienen las producciones A2A2A2A2|aA2. Eliminando la recursividad por la izquierda, se obtienen las siguientes producciones: A1A2A2|a A2aA2|aA2Z|b|bZ ZA2A2|A2A2Z Finalmente, sustituyendo A2 de forma apropiada para que empiecen con un terminal todas las producciones, se tiene: A1aA2A2|aA2ZA2|bA2|bZA2|a A2aA2|aA2Z|b|bZ ZaA2A2|aA2ZA2|bA2|bZA2|aA2A2Z|aA2ZA2Z|bA2Z|bZA2Z
9.Otro ejemplo seria: X3 X2 X X 3 X 3 X1 X 3 X 2 X 3 bX 3 X 2Y3 | aY3 | Y3 X1 X 3 X 2 | X | X 2 bX 3 X 2Y3 X1 | aY3 X1 | bX3 X 1 bX 3 X 2Y3 X1 X 3 | aY3 X1 X 3 | Y3 bX 3 X 2Y3 X1 X 3 X 3 X 2 Y3 | bX3 X 2 X3 | aY3 X 1 X 3 X 3 X 2Y3 | aY3 V = { X 1 , X 2 , X 3 , Y3 }
10. En resumen, la gramtica equivalente, en forma normal de Greibach, tiene como conjunto; R= Que las variables a S ( ) | SS | ( S ) y sus posiciones son.: