Exercise 3 Name __________________ Score __/26
| E ® TQ
Q ® +TQ | -TQ | є T ® FR R ® *FR|/FR|є F ® (E) | i |
FIRST(E)=FIRST(T)=FIRST(F)={(,i} FIRST(Q)={+,-, є} FIRST(R)={*,/,є) FIRST(+TQ)={+} FIRST(-TQ)={-} FIRST(*FR)={*} FIRST(/FR)={/} FIRST((E)={(} FIRST(i)={i} |
FOLLOW(Q)={$,)}=FOLLOW(E) Q only appears at end (E ® TQ) so includes FOLLOW(E). Other productions have Q on left and right.
FOLLOW(T)={+,-,),$}
FOLLOW(R)=FOLLOW(T)={+,-,),$}
FOLLOW(F)={+,-,*,/,),$} includes FIRST(R)-{є}={*,/}. R is nullable include
FOLLOW(T).
| E ® TQ
Q ® +TQ | -TQ | є T ® FR R ® *FR|/FR|є F ® (E) | i |
FIRST(E)=FIRST(T)=FIRST(F)={(,i} FIRST(Q)={+,-, є} FIRST(R)={*,/,є) FIRST(+TQ)={+} FIRST(-TQ)={-} FIRST(*FR)={*} FIRST(/FR)={/} FIRST((E))={(} FIRST(i)={i} |
FOLLOW(E)={$,)} FOLLOW(Q)={$,)} FOLLOW(T)={+,-,),$} FOLLOW(R)={+,-,),$} FOLLOW(F)={+,-,*,/,),$} |
E ® TQ FIRST(T)={(,i} so
[E,(] and [E,i]=E ® TQ
Q ® +TQ FIRST(+TQ)={+}
so [Q,+]=Q ® +TQ
Q ® -TQ FIRST(-TQ)={-}
so [Q,+]=Q ® -TQ
T ® FR FIRST(F)={(,i}
so [T,(] and [T,i] = T ® FR
R ® *FR FIRST(*FR)={*}
so [R,*]=R ® *FR
R ® /FR FIRST(/FR)={/}
so [R,/]=R ® /FR
F ® (E) FIRST((E))={(}
so [F,(]=F ® (E)
F ® i FIRST(i)={i}
so [F,i] = F ® i