Simplificacion de Gramaticas

 

 

Eliminacion de Reglas Lexicograficas

 

Dado G = (VT, VN, P, S) quiero generar G’ = (VT’, VN’, P’, S’) sin reglas lexicograficas.

 

§         VN’ = VN È{Z}             (Agrego un nuevo No Terminal)

§         P’=

N ::= aB                 si             N::=aB en P

N ::= l                    si             N::=l en P

 

N::=aZ                  si            N::=a en P

Z::= l

 

 

Eliminacion de Reglas Borradoras

 

Dado G = (VT, VN, P, S) quiero generar G’ = (VT’, VN’, P’, S’) sin reglas borradoras

(excepto S=l)

 

§         VN’ = VN

§         P’=

N ::= aB                                                si             N::=aB en P

N ::= a                                                   si             N::=a en P

 

" C::=dN con N::= l          C::=d

 

 

Eliminacion de Simbolos Inutiles

 

§         Se eliminan:

a.        Tipos que aceptan sartas infinitas (formalizar mejor esta definicion)

b.       Producciones que nunca son accedidas desde S

 

Se sacan las siguientes producciones:

a.        S  No Genera aE  con VT*

b.       C No Genera a con VT*

 

 

Eliminacion de Reglas de Renombramiento (Para CFG)

 

Si N::= B ^ B ::= a con VN entonces se elimina N::=B y se pone N::=a

 

Hosted by www.Geocities.ws

1