S E $ E T E' E' + T E' E' - T E' E' T F T' T' * F T' T' / F T' T' F i F ( E ) Terminals: $ + - * / i ( ) non-terminals: S E E' T T' F null: E' T' First Set: S E E' T T' F $ + - * / i ( ) S E T F i ( E T F i ( E' + - T F i ( T' * / F i ( Left Recursive Symbols: Last Set: S E E' T T' F $ + - * / i ( ) S $ E E' T T' F i ) E' E' T T' F i ) T T' F i ) T' T' F i ) F i ) Right Recursive Symbols: E' T' Follow Set: S E E' T T' F $ + - * / i ( ) S E $ ) E' $ ) T E' $ + - ) T' E' $ + - ) F E' T' $ + - * / ) $ + T F i ( - T F i ( * F i ( / F i ( i E' T' $ + - * / ) ( E T F i ( ) E' T' $ + - * / ) 1 S E $ 2 E T E' 3 E' + T E' 4 E' - T E' 5 E' 6 T F T' 7 T' * F T' 8 T' / F T' 9 T' 10 F i 11 F ( E ) Resolvable Symbols: E' T' F T E S Reachable Symbols: E $ T E' + - F T' * / i ( ) Choice Set: + - * / i ( ) $ S 1 1 E 2 2 E' 3 4 5 5 T 6 6 T' 9 9 7 8 9 9 F 10 11 Expression: m * c * c $ ^ stk Example of a grammer with null deriving symbols. S A $ A B C B b B D C c C D d D Null: C D B A