Изменения

Перейти к: навигация, поиск
Нет описания правки
==Алгоритм==
Приведем Для начала модифицируем [[алгоритм Алгоритм Эрли|Алгоритм алгоритм Эрли]].
На вход подается Удалим из входной грамматики [[КонтекстноУдаление eps-свободные правил из грамматики, вывод, лево- и правосторонний вывод, дерево разбора|КС-грамматика]] <tex>G = (N, \Sigma, P, S)varepsilon</tex> -правила]] и строка <tex>w = a_1 a_2 \ldots a_n</tex> из <tex>\Sigma^*</tex>. Результатом работы алгоритма является [[Алгоритм Эрли#ОпределенияУдаление бесполезных символов из грамматики|список разборабесполезные символы]] . В итоге получится грамматика <tex>I_0G = (N, I_1\Sigma, \ldots P, I_n</tex> для строки <tex>wS)</tex>.
Для простоты добавим новый стартовый вспомогательный нетерминал <tex>S'</tex> и правило <tex>S' \rightarrow S</tex>.  <tex>I_0</tex> &cup;= <tex>\{[S' \rightarrow \cdot S\alpha, 0]\, | \, S \rightarrow \alpha \in P\}</tex> # Правило (0) — инициализация
useful_loop(0)
70
правок

Навигация