Эта грамматика может быть преобразована к LR(1)-виду следующим образом:
Основная разница между LL(1)- и LR(1)- грамматиками заключается в следующем. Чтобы грамматика была LR(1)- грамматикой, необходимо распознавать вхождение правой части правила вывода, просмотрев все, что выведено из этой правой части и текущий символ входной цепочки. Это требование существенно менее строгое, чем требование для LL(1)-грамматики, когда необходимо определить применимое правило, видя только первый символ, выводимый из его правой части. Таким образом, класс LL(1)-грамматик есть собственный подкласс класса LR(1)-грамматик.
Справедливы также следующие утверждения [2].
Теорема 4.7. Каждый LR(1)-язык является детерминированным КС-языком.
Теорема 4.8. Если L - детерминированный КС-язык, то существует LR(1)-грамматика, порождающая L.
Теорема 4.9. Для любой LR(k)-грамматики для k > 1 существует эквивалентная ей LR(k \Gamma 1)-грамматика.
Доказано, что проблема определения, порождает ли грамматика LR-язык, является алгоритмически неразрешимой.