Нормальная форма Хомского или бинарная нормальная форма (БНФ) – это одна из предопределенных форм для правил КС-грамматики. В нормальную форму Хомского можно преобразовать любую произвольную КС-грамматику. Для преобразования в нормальную форму Хомского предварительно грамматику надо преобразовать в приведенный вид.
Определение нормальной формы Хомского
КС-грамматика G(VT,VN,P,S) называется грамматикой в нормальной форме Хомского, если в ее множестве правил Р присутствуют только правила следующего вида:
1. А ВС, где A,B,CVN.
2. А а, где AVN и aVT.
3. S , если L(G), причем S не должно встречаться в правых частях других правил.
Никакие другие формы правил не должны встречаться среди правил грамматики в нормальной форме Хомского.
КС-грамматика в нормальной форме Хомского называется также грамматикой в бинарной нормальной форме (БНФ). Название “бинарная” происходит от того, что на каждом шаге вывода в такой грамматике один нетерминальный символ может быть заменен только на два других нетерминальных символа. Поэтому в дереве вывода грамматики в нормальной форме Хомского каждая вершина либо распадается на две другие вершины (в соответствии с первым видом правил), либо содержит один последующий лист с терминальным символом (в соответствии со вторым видом правил). Третий вид правил введен для того, чтобы к нормальной форме Хомского можно было преобразовывать грамматики КС-языков, содержащих пустые цепочки символов.
Алгоритм преобразования грамматики в нормальную форму Хомского
Алгоритм позволяет преобразовать произвольную исходную КС-грамматику в эквивалентную грамматику в нормальной форме Хомского.
Условие: дана КС-грамматика G(VT,VN,P,S), необходимо построить эквивалентную ей грамматику G’(VT,VN’,P’,S’) в нормальной форме Хомского: L(G) =L(G’).
На первом шаге исходную грамматику надо преобразовать к приведенному виду. Поскольку алгоритм преобразования КС-грамматик к приведенному виду был рассмотрен выше, можно считать, что исходная грамматика уже является приведенной (не содержит бесполезных и недостижимых символов, цепных правил и -правил).
В начале работы алгоритма преобразования приведенной КС-грамматики в нормальную форму Хомского множество нетерминальных символов VN’ результирующей грамматики G’ строится на основе множества нетерминальных символов VN исходной грамматики G: VN’ = =VN.
Затем алгоритм преобразования работает с множеством правил Р исходной грамматики G. Он просматривает все правила из множества Р и в зависимости от вида каждого правила строит множество правил Р’ результирующей грамматики G’ и дополняет множество нетерминальных символов этой грамматики VN’.
1. Если встречается правило вида Аа, где AVN и aVT, то оно переносится во множество Р’ без изменений.
2. Если встречается правило вида АВС, где A,B,CVN, то оно переносится во множество Р’ без изменений.
3. Если встречается правило вида S, где S – целевой символ грамматики G, то оно переносится во множество Р’ без изменений.
4. Если встречается правило вида АаВ, где A,BVN и aVT, то во множество правил Р’ включаются правила АВ и а и новый символдобавляется во множество нетерминальных символов VN’ грамматики G’.
5. Если встречается правило вида АВа, где A,BVN и aVT, то во множество правил Р’ включаются правила АВ и а, и новый символдобавляется во множество нетерминальных символов VN’ грамматики G’.
6. Если встречается правило вида Aab, где AVN и a,bVT, то во множество правил Р’ включаются правила А, а и b, новые символыидобавляются во множество нетерминальных символов VN’ грамматики G’.
7. Если встречается правило вида AX1…Xk, k2, где AVN и i: XiVTVN, то во множество правил Р’ включается цепочка правил:
А
…
Новые нетерминальные символы ,…, включаются во множество нетерминальных символов VN’ грамматики G’, кроме того, i: если XiVN, то =Xi, иначе (если XiVT)– это новый нетерминальный символ, он добавляется во множество VN’, а во множество правил Р’ грамматики G’ добавляется правило Xi.
Целевым символом результирующей грамматики G’ является целевой символ исходной грамматики G.
Статьи к прочтению:
- Групповая работа над проектами
- Г) сведения, снимающие полностью или частично неопределенность знаний.
Определяем тип формальной грамматики и языка по классификации Хомского.
Похожие статьи:
-
Порождающие грамматики хомского.
В 1956 г. Ноам Хомский предложил модель порождающей грамматики, которая весьма удобна для задания искусственных языков [Х62]. Одно из удобств этой модели…
-
Устранение левой рекурсии. грамматики в нормальной форме грейбах
Определение левой рекурсии Символ AVN в КС-грамматике G(VT,VN,P,S) называется рекурсивным, если для него существует цепочка вывода вида А+?А?, где…