Изменения

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

LR(0)-разбор

72 байта добавлено, 17:32, 30 августа 2015
Управляющая таблица
В соответствии со [[LR(k)-грамматики#Управляющая программа анализатора |структурой]] управляющей таблицы будем действовать следующим образом:
1. для <ol> <li>Для каждого ребра <tex>I \xrightarrow{\text{X}} J </tex> (из состояния <tex>I</tex> в состояние <tex>J</tex> по терминалу <tex>X</tex>) мы поместим в позицию <tex>T[I,X]</tex> таблицы * <tex>s\ (J)</tex> (сокр. от ''shift'') , если <tex>X</tex> {{---}} терминал,*<tex>J</tex>, если <tex>X</tex> {{---}} нетерминал.</li> 2. для <li>Для состояния<tex>I</tex>, содержащего ситуацию <tex>[A\to w \cdot]</tex>, поместим <tex>r(n)</tex> (сокр. от ''reduce'') в позицию <tex>T[I, Y]</tex> для каждого терминала <tex>Y</tex>* Поместим <tex>r(n)</tex> (сокр. от ''reduce''), где <tex>n</tex> {{---}} это номер правила в изначальной грамматике.</li>* Запись <tex>r(0)</tex> означает допуск.3. пустая <li>Пустая ячейка означает ошибочную ситуацию.</li></ol>
== Пример ==
297
правок

Навигация