From: Hugh Sasse Staff Elec Eng Date: 2005-01-31T21:13:09+09:00 Subject: Re: When little languages grow... On Sat, 29 Jan 2005, Mark Probert wrote: > Hi .. > > On Friday 28 January 2005 02:37, Hugh Sasse Staff Elec Eng wrote: >> On Fri, 28 Jan 2005, Clifford Heath wrote: >>> Hugh Sasse Staff Elec Eng wrote: >>>> According to "Crafting a Compiler" ISBN 0-8053-3201-4 it seems that >>>> recursive descent implies LL(1)... >>> >>> No. LL(1) just means that the recursive descent parser may only consider >>> the current unprocessed token. If the lexer allows perusal of two >>> unprocessed tokens, your recursive descent parser is LL(2). >> >> Isn't that just re-framing the problem so that all token pairs are >> regarded as single entities? >> > I am not sure if I fully understand but here goes. In parsing, there is the [...] > > For example, the following rule is not LL(1): > > State = ident "=" Expr > | ident [ "(" ExprList ")" ] . > Oh, I was forgetting that ident may be a nonterminal, therefore composed of n terminals. Hence my above question is rubbish! > Because we can't determine from a single lookahead which of the ident rules to > trigger. With LL(2) we could as it would be determined by the "=" or the > "(". > > I hope that this helps. Thank you. > > Regards, > > -- > -mark. (probertm at acm dot org) > Hugh >