Re: Is this grammar LL(1) ?

"J.H.Jongejan" <jjan@cs.rug.nl>
22 Sep 2005 23:44:46 -0400

          From comp.compilers

Related articles
Is this grammar LL(1) ? sky4walk@gmx.de (2005-09-17)
Re: Is this grammar LL(1) ? DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-09-22)
Re: Is this grammar LL(1) ? jjan@cs.rug.nl (J.H.Jongejan) (2005-09-22)
| List of all articles for this month |

From: "J.H.Jongejan" <jjan@cs.rug.nl>
Newsgroups: comp.compilers
Date: 22 Sep 2005 23:44:46 -0400
Organization: RuG
References: 05-09-064
Keywords: parse, LL(1)
Posted-Date: 22 Sep 2005 23:44:46 EDT

sky4walk@gmx.de wrote:
> Hi,
> i've a question about this grammar
>
> E->'a',F,A,F,'b'.
> F->'c',F | epsilon.
> A->'d',A_1.
> A_1->'d',A_1 | epsilon.
>
> is this grammar LL(1)?
>
> my first and follow list
>
> First(E) = {a}
> First(F) = {c,epsilon}
> First(A) = {d}
> First(A_1) = {d,epsilon}
>
> Follow(E) = {}
> Follow(F) = {d,b}
> Follow(A) = {c,d,b}
> Follow(A_1) = {c,d,b}
>
> sp I see, that in Follow(A_1) and First(A_1) is a problem because of
> same terminal 'd'.
>
> So my question is:
>
> 1) is my follow list correct?
> 2) when 1) is true, why isn't my grammar LL(1), it isn't leftrecursivea
> nd how can I change this one?


Andre,


your follow(A) and follow(A_1) contain 'd', which should
not be there! Hence, this grammar is LL(1).


With kind regards,


Jan Jongejan
Dept. Comp.Sci.,
Univ. of Groningen,
Netherlands.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.