"

I think your understanding is incorrect.  LR(1) grammars are also parseable in O(n) time; see: Knuth, D. (1965) ""On the translation of languages from left to right."" Information and Control, 8, 607639.  LR languages are strictly more powerful: every LL(1) grammar is LR(1).  The converse is not true: grammars containing left recursion may be LR(1) but not LL(1).

In short, LR(1) parsers are strictly more powerful, but more difficult to write.  That's why parser-generators for LR(1) and related classes, are popular.

I think you might be confusing LR(1) with ""generalized LR"" or ""GLR"".  This algorithm can parse any context free grammar in worst-case O(n^3), but is vastly more powerful than either LR(1) or LL(1)  in fact, you can reduce any instance of binary matrix multiplication to an instance of context-free (and hence GLR) parsing, so we'll unlikely to ever find an algorithm that runs faster than the fastest matrix-multiplication algorithm.

 "