2014-10-19 2 views
1

Я смущен, когда следует использовать 1-й шаг в преобразовании CNF.Как использовать 1-й шаг в нормальной форме Чомского

первый шаг: ensure s does not appear on rhs, add new S0 if necessary and copy all rules of S

Это мне не ясно, что означает, что приведенное выше утверждение. Я не знаю, когда создавать S0. Некоторые CFG не начинаются с S0, а некоторые начинаются с S0.

Немного помочь здесь bros.

ответ

1

Цель состоит в том, чтобы избежать появления символа начала на rhs i.e в результате производства. Поэтому вы создаете отдельный символ, который становится единственным и единственным символом начала.

Каковы некоторые из примеров CFG, которые кажутся вам неправильными? Они могут не начинать с этого, но символ, с которым они начинают начинать, не должен появляться в результате производства.

+0

он использовал S0 здесь: 'S-> ASA | аВы A-> B | S B-> б | é' где й эпсилон. Но не использует S0 здесь: 'S-> ab S-> aSb' S находится на rhs. Я не понимаю. –

+0

Ни один из них не находится в cfg, и ни один из них не имеет S0. Являются ли эти грамматики, которые вы собираетесь уменьшить? – user3125280

+0

это грамматики, приведенные в качестве примеров. –

Смежные вопросы