Вход
Выход
- Вывод слова в грамматике , если и сообщение об ошибке в противном случае
Алгоритм
Заполнение таблицы
Обозначим
По сути является алгоритмом динамического программирования. В процессе работы будем заполнять полу-таблицу размерности . Причем строки такой таблицы, полагаем, нумеруются с , а столбцы с
| Номер строки i | 1 | 2 | n | |
|---|---|---|---|---|
В ячейках таблицы будем записывать множества нетерминалов
Заполнение 1 столбца таблицы
Нетерминалы вычисляются следующим образом:
где - -ый символ цепочки w
Заполнение 2 столбца таблицы
Нетерминалы вычисляются рекурентно:
Заполнение оставшихся столбцов таблицы
Нетерминалы вычисляются рекурентно:
Выводы
Слово принадлежит Языку , если . В противном случае не принадлежит. Алгоритм выбрасывает ошибку