Related articles |
---|
Recursive descent and left recursion mfinney@lynchburg.net (1997-01-14) |
Re: Recursive descent and left recursion fjh@mundook.cs.mu.OZ.AU (1997-01-15) |
Re: Recursive descent and left recursion hogan@rintintin.Colorado.EDU (1997-01-15) |
Re: Recursive descent and left recursion dlmoore@ix.netcom.com (David L Moore) (1997-01-16) |
Re: Recursive descent and left recursion cfc@world.std.com (1997-01-16) |
Re: Recursive descent and left recursion fjh@murlibobo.cs.mu.OZ.AU (1997-01-16) |
Re: Recursive descent and left recursion cfc@world.std.com (1997-01-17) |
Re: Recursive descent and left recursion will@ccs.neu.edu (William D Clinger) (1997-01-17) |
Re: Recursive descent and left recursion cfc@world.std.com (Chris F Clark) (1997-01-21) |
Re: Recursive descent and left recursion schoebel@eicheinformatik.uni-stuttgart.de (1997-01-25) |
From: | William D Clinger <will@ccs.neu.edu> |
Newsgroups: | comp.compilers |
Date: | 17 Jan 1997 23:27:03 -0500 |
Organization: | Northeastern University |
References: | 97-01-099 97-01-126 |
Keywords: | parse, LR(1) |
cfc@world.std.com (Chris F Clark) wrote that LR parsing allows
you to
> ...write your expression
> grammars "naturally" with out inventing extra non-terminals to handle
> precedence levels. That is:
>
> expression : expression "+" expression
> | expression "*" expression
This grammar is not LR because it is ambiguous (assuming the
'expression' nonterminal is not altogether useless).
Some LR parser generators let you resolve the ambiguity by non-LR
means, but I don't see how that counts as an advantage of LR parsing.
As for cost, the non-LR techniques for specifying precedence aren't
free either.
Yes, it is true that LR parsers can handle left recursion or right
recursion.
No, it is not true that LR parsers save you from inventing extra
non-terminals to express levels of precedence.
Will
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.