Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
donde A
j
::=
1
|
2
|<<.
k
son todas las reglas de A
j
fsi
Eliminar la recursividad por la izquierda de las A
i
fpara
fpara
Tema 3: Fundamentos de la
Teora de Gramticas Formales
Teora de Autmatas y Lenguajes Formales
3.6 Recursividad
42
G =({i,+,*,(,)},{E,T},E, P={E ::=T+E | T*E | i ; T::=E|(E)})
1. A
1
=E; A
2
=T
2. Bucles:
i=1 (A
1
=E); j=1 (A
1
=E). Se reemplazaran E::=Eo. No hay.
i=1 (A
1
=E); j=2 (A
2
=T). Se reemplazan E::=To. El nuevo P es
E ::=E+E | E*E |(E)+E | (E)*E | i
T::= E | (E)
Se elimina la recursin en E quedando P:
E ::= (E)+EE | (E)*EE | i E
E ::= +EE | *EE |
T::= E | (E)
i=2 (A
2
=T); j=1 (A
1
=E). Se reemplazan T::=Eo. El nuevo P es
E ::= (E)+EE | (E)*EE | i E
E ::= +EE | *EE |
T::= (E)+EE | (E)*EE | i E | (E)
Se eliminara la recursin en T si la hubiera.
i=2 (A
2
=T); j=2 (A
2
=T). Se reemplazaran T::=To. No hay
El conjunto final de producciones es P
Tema 3: Fundamentos de la
Teora de Gramticas Formales
Teora de Autmatas y Lenguajes Formales
ndice
3.1. Concepto bsico de Gramtica. Ejemplos
3.2. Concepto de gramtica formal
3.3. Tipos de Gramticas. Jerarqua de Chomsky
3.4. rboles de derivacin
3.5. Ambigedad
3.6. Recursividad
3.7. Factorizacin a izquierdas
43
Tema 3: Fundamentos de la
Teora de Gramticas Formales
Teora de Autmatas y Lenguajes Formales
3.7 Factorizacin a izquierdas
44
Se puede factorizar a izquierdas cuando en una gramtica aparecen producciones
de un mismo smbolo no terminal en cuya parte derecha, la primera parte es
comn.
Algoritmo de factorizacin a izquierdas:
A e E
N
Si A::=|o
1
| |o
2
| <..||o
n
entonces //crear un smbolo nuevo A y cambiar las producciones por:
E
N=
E
N
{A};
A::= |A
A::= o
1
| o
2
|<|o
n
fsi
f
Ejemplo: {E ::=E+E | E*E | i }. Se crea E y quedara:
E ::= EE | i
E::= +E| *E