Алгоритм Устранение нетерминалов, не порождающих терминальных строк
Вход: КС-грамматика
.
Выход: КС-грамматика
, такая, что
и для всех
существуют выводы
, где
.
Шаг 1. Определить множество нетерминалов, порождающих терминальные строки, с помощью алгоритма 4.1.
Шаг 2. Вычислить
, где
- это множество правил, содержащих бесполезные нетерминалы
.
ПримерДана грамматика
с правилами

Преобразуем ее в эквивалентную грамматику
по алгоритму 4.2:
N0 = Ø;
N1 = {S, B, C};
N2 = {S, B, C}.
Т.к. N1= N2, то N = {S, B, C}. После удаления бесполезных нетерминалов и правил вывода, получим грамматику
с правилами
