Analizadores descendentes-> Analizadores ascendentes
ANALIZADORES DESCENDENTES
Para utilizar un analizador descendente, la gramatica no tiene que ser ambigua y no pude ser
recursiva por la izquierda.
Ejemplo:
AMBIGUA
S::=E
E::=E+E|
E*E
|(E)
|num
NO AMBIGUA
S::=E
E::=E+T
T::=T*F
F::=(E)
|num
SIN RECURSIVIDAD
S::=E
E::= TE’
E’::= +TE’
|epsilon
T::= FT’
T’::= *FT’
|epsilon
F::= (E)
|num
Transformación de Gramática Ascendente a Descendente
X::= XY{Acciones}
|Z{Acciones}
Se transforma en:
X::= Z{Acciones}X’ En las acciones hay que utilizar heredados en
X’::= Y{Acciones}X’ alguna parte
Para utilizar un analizador descendente, la gramatica no tiene que ser ambigua y no pude ser
recursiva por la izquierda.
Ejemplo:
AMBIGUA
S::=E
E::=E+E|
E*E
|(E)
|num
NO AMBIGUA
S::=E
E::=E+T
T::=T*F
F::=(E)
|num
SIN RECURSIVIDAD
S::=E
E::= TE’
E’::= +TE’
|epsilon
T::= FT’
T’::= *FT’
|epsilon
F::= (E)
|num
Transformación de Gramática Ascendente a Descendente
X::= XY{Acciones}
|Z{Acciones}
Se transforma en:
X::= Z{Acciones}X’ En las acciones hay que utilizar heredados en
X’::= Y{Acciones}X’ alguna parte