Изменения

Перейти к: навигация, поиск

LR(1)-разбор

60 байт добавлено, 16:09, 24 июня 2015
м
Нет описания правки
<wikitex>
В некоторых случаях SLR-разбор может дать неправильный результат разбора. В таких случаях используют более сложные методы, такие как $LR(1)$ и $LALR$ - разбор. Рассмотрим первый из них.
</wikitex>
== Отличия от SLR-разбора ==
<wikitex>
Основным отличием $LR(1)$ - разбора от SLR-разбора является использование '''предпросмотра''' (англ. ''lookahead'') символов.
Чтобы решить эту проблему, необходимо хранить в пункте больший объём информации, который позволит не делать таких ошибочных свёрток
 </wikitex>
== Канонические LR(1)-пункты ==
<wikitex>
Основная идея заключается в том, чтобы хранить в пунктах больше информации, чтобы не производить некорректных свёрток.
Добавим в пункт второй компонент: терминальный символ. Таким образом, $LR(1)$ -пункты будут выглядеть следующим образом:
* $w=\epsilon$ и $a=\char36$
}}
</wikitex>
=== Построение множеств LR(1)-пунктов ===
<wikitex>
</wikitex>
262
правки

Навигация