
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
