Классическая книга драконов очень хорошо объясняет, как работают парсеры LR. Существует также Техника синтаксического анализа. Практическое руководство. где вы можете прочитать о них, если я хорошо помню. Статья в википедии (хотя бы введение) не права. Они были созданы Дональдом Кнутом, и он объясняет их в своей книге «Искусство компьютерного программирования», том 5. Если вы понимаете испанский, здесь есть полный список книг здесь , опубликованных мной. Не все эти книги тоже на испанском.
Прежде чем понять, как они работают, вы должны понять несколько понятий, таких как первое, следующее и заглядывание вперед. Кроме того, я действительно рекомендую вам понять концепции парсеров LL (потомков), прежде чем пытаться понять парсеры LR (восходящих).
Существует семейство синтаксических анализаторов LR, особенно LR (K), SLR (K) и LALR (K), где K - это количество ожидающих их работы. Yacc поддерживает парсеры LALR (1), но вы можете сделать твики, не основанные на теории, чтобы они работали с более мощными грамматиками.
Что касается производительности, это зависит от анализируемой грамматики. Они выполняются за линейное время, но сколько места им нужно, зависит от того, сколько состояний вы создадите для конечного анализатора.