Always follow the rules:
- Place $ in FOLLOW(S), where S is the start symbol and $ in the input right endmarker.
- If there is a production A -> aBs, where FIRST(s) except e is placed in FOLLOW(B).
- If there is a production A -> aB or a production A->aBs where FIRST(s) contains e, then everything in FOLLOW(A) is in FOLLOW(B).
The one important point to note in the above rule is:
Point 3: A -> aB: FOLLOW(A) is in FOLLOW(B) is applicable to EVERY non-terminal on the RHS. Consider this as Rule 3.a.
Now,
FOLLOW(E) = { ), $ } // by rule 2
FOLLOW(D) = { ), $ } // by rule 3
FOLLOW(T) = FIRST(D) = { +, $, ) } // by rule 3 and 3.a
FOLLOW(M) = { +, $, ) } // by rule 3 and 3.a
FOLLOW(F) = FIRST(M) = {*, $, +, ) } // by rule 3 and 3.a