i think your understanding is incorrect lr grammars are also parseable in o n time see knuth d on the translation of languages from left to right information and control lr languages are strictly more powerful every ll grammar is lr the converse is not true grammars containing left recursion may be lr but not ll in short lr parsers are strictly more powerful but more difficult to write that's why parser generators for lr and related classes are popular i think you might be confusing lr with generalized lr or glr this algorithm can parse any context free grammar in worst case o n but is vastly more powerful than either lr or ll 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