24 Mar 1998 22:42:11 -0500

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.

--

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.