Изменения

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

Алгоритм Эрли

487 байт добавлено, 00:59, 24 января 2012
Алгоритм Эрли
== Алгоритм Эрли ==
Построим Чтобы воспользоваться леммой, необходимо получить список разбора для <tex>w</tex> . Алгоритм Эрли является [[Динамическое программирование|динамическим алгоритмом]]: он последовательно строит список разбора, причём при построении <tex>I_k</tex> используются <tex>I_0 \ldots I_{k}</tex> (то есть элементы списков с помощью данного алгоритма меньшими номерами и воспользуемся леммойситуации, доказанной вышесодержащиеся в текущем списке на данный момент).<br/>
Для простоты добавим новый стартовый вспомогательный нетерминал <tex>S'</tex> и правило <tex>(S' \rightarrow S)</tex>.
<tex>I_0</tex> = <tex>\lbrace [S' \rightarrow \cdot S, 0] \rbrace</tex> # Правило (0) — инициализация
useful_loop(0)
for i j = 1..n
for <tex>[A \rightarrow \alpha \cdot a_{j} \beta, i] \in I_{j-1}</tex>
<tex>I_j</tex> &cup;= <tex>\lbrace [A \rightarrow \alpha a_{j} \cdot \beta, i] \rbrace</tex> # Правило (1)

Навигация