Related articles |
---|
Is this an LL(1) Grammar ? martin_mf@hotmail.com (Martin) (1998-03-22) |
Re: Is this an LL(1) Grammar ? alan.southall@bk.bosch.de (Alan Southall) (1998-03-24) |
Re: Is this an LL(1) Grammar ? joachim.durchholz@munich.netsurf.de (Joachim Durchholz) (1998-03-24) |
Re: Is this an LL(1) Grammar ? bmcsweeney@bigfoot.com (1998-03-30) |
Re: Is this an LL(1) Grammar ? cfc@world.std.com (Chris F Clark) (1998-04-03) |
From: | Alan Southall <alan.southall@bk.bosch.de> |
Newsgroups: | comp.compilers |
Date: | 24 Mar 1998 22:42:11 -0500 |
Organization: | Bosch Telecom |
References: | 98-03-207 |
Keywords: | parse, LL(1) |
Martin wrote:
> My CFG grammar can accept:
> a = b = 1;
> and
> a = b;
>
> Is it LL(1)? Yes? How I can make it LL(1)?
I don't know if I have understood your question properly, as
the notation you have used is not familar to me, but here
goes anyway. If you mean is the following BNF LL(1):
prod ::= a = b = 1;
| a = b;
Then the answer in no. The reason for this is that LL(1)
requires the first token in production alternatives to be
unique. Therefore, using your example the parser will not
know which option in the production it must take. The
following is LL(1):
prod ::= a = b prod`
prod` ::= = 1;
| ;
P.S. Have a look in the "Dragon Book" - it covers topics
like this rather well.
Regards,
Alan.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.