in Compiler Design
1,652 views
1 vote
1 vote
why do first sets can have epsilon symbol but follow sets don’t?

P.S: I’ve a silly doubt :P
in Compiler Design
by
1.7k views

4 Comments

reshown by
It is the rule. If the follow set has epsilon, then we have to remove it, with certain rules of Compiler. I think u know those rules.
0
0
I know the rule. but what may happen if follow set has epsilon
0
0
edited by
Follow set can never  contain $\epsilon$ entry. If u derive derive FOLLOW set property, then u can found out, why it cannot contain.
First of all, where we use a FOLLOW set??

When there is a $\epsilon$ entry in FIRST set of LL(1) entry, there we use follow set.
Now, if this NON-TERMINAL doesnot follow by anything, then what do we do?

We just go to that NON-TERMINAL from where it derived, and check it's FOLLOW set

If nothing found , then go from where derived

And , at last if nothing found it returns dolor

$S\rightarrow aS|aA$

$A\rightarrow bB|\epsilon $

$B\rightarrow b$

Now, FIRST of $A$ contains $\epsilon$, and $A$ doesnot FOLLOW by anything,

So, go for FOLLOW of S

Now, FOLLOW of S contains nothing but dolor.

So, $\epsilon$ never possible.
1
1
got it. nice explaination
1
1

Please log in or register to answer this question.