I want to understand the relation between LL/LR grammars and the left-recursion problem (for any question I know parcially the answer, but I ask them as I don't know nothing, because I am a little confused now, and prefer complete answers) I'm happy with sintetized or short and direct answers (or just links solving it unambiguously):
- What type of context free-language isn't LL(∞) languages?
- LL(K) and LL(∞) have problems with left-recursion? Or only LL(k) parsers?
- LALR(1) parser have troubles with left or right recursion? What type of troubles?
- Only in terms of the LL/LALR comparision. What is better, Bison (LALR(1)) or Boost.Spirit (LL(∞))? (Let's suppose other features of them are irrelevant in this question)
- Why GCC use a (hand-made) LL(∞) parser? Only for the "handling-error" problem?