Limitations of LL vs LR parsers?

Andrew White picture Andrew White · Mar 29, 2011 · Viewed 8.3k times · Source

I know the basic differences of LL vs LR parsers. I also know that GLR, SLR, and LALR are all extensions of LR parsers. So my question in more details is...

Given a LL(*) parser and any variation on a LR parser, is there any language that can be described in one and not the other? Or more simply is there any feature or property that can not be expressed with either?

As a concrete example. If I were to create a language using an LL(*) parser, will I ever run into desired feature/property that I might want to add to my language that would only be possible with a LR parser (or vice versa)?

Answer

Raph Levien picture Raph Levien · Mar 29, 2011

Here are a couple of opinion pieces, you can consider them point and counterpoint: