Построение автомата пуш-ап из контекстно-свободной грамматики

Из этого раздела вики-статьи о КПК я получил приблизительное представление о процессе создания КПК из данного CFG. То, что эта статья не проясняет, является шагом, необходимым, когда есть несколько производственных правил для одного нетерминала.

Например, предположим, что у нас есть грамматика, заданная в виде:

Ясно, что эта грамматика распознает все строки вида x (ab) * y [по совпадению это тоже обычный язык].

Здесь у меня возникли проблемы при создании КПК из этой грамматики из-за этих 2 правил

То есть, какое из этих двух правил будет использоваться на этапе расширения при одновременном нажатии на стек?

2 ответа

Решение

Как показано в этом слайде, ваш КПК будет имитировать крайние левые выводы

Для более четких деталей у слайдов есть пример.

Другие вопросы по тегам