В связи со всплытием в чате вечной темы "закат солнца вручную" (left recursion elimination руками разработчика), хочется уточнить: а встречалась ли кому-нибудь в чате _конструктивная_ критика bottom-up парсеров? Не "в нашем top-down есть, а yacc не умеет", а пруфы "в bottom-up такое не сделать", если они вообще есть? ;)
Есть известная картинка:
https://i.stack.imgur.com/rivKh.jpgНа ней видно, что существуют грамматики, которые покрыты LL(1) и, тем более, LL(k), но не LALR(1). (Впрочем, обратное тоже верно).
С другой стороны, LALR(k) покрывает и LR(k), и LL(k) — этого на картинке нет (генераторы LALR(k) лично мне неизвестны, но если я правильно помню теорию, то это так.)