Пример: Привести следующую грамматику к нормальной форме

advertisement
Пример: Привести следующую грамматику к нормальной форме Хомского:
G=(VT, VN, P, E), VT={a, +, *, (, )}, VN={E, T, F}, P={1.E->E+T,
2.E->T*F, 3.E->a, 4.T->T*F, 5.T->a, 6.T->(E), 7.E->(E), 8.F->a, 9.F->(E)}.
Заменяем терминалы в правилах которые имеют длину правой стороны
больше чем 2. Новое множество правил будет:
I этап: P'={1.E->EY1T, 2.E->TY2F, 3.E->a, 4.Y1->+, 5.Y2->*, 6.T->TY2F,
7.T->Y3EY4, 8.E->Y3EY4, 9.F->Y3EY4, 10.Y3->(, 11.Y4->), 12.T->a, 13.F->a}
II этап: Добавляем новые символы и удаляем конструкции с более чем 2мя нетерминалами справа, обновляем множество VN.
P'={1.E->EZ1, 2.Z1->Y1T, 3.E->TZ2, 4.Z2->Y2F, 5.E->a, 6.Y1->+, 7.Y2->*,
8.T->TZ3, 9.Z3->Y2F, 10.T->Y3Z4, 11.Z4->EY4, 12.E->Y3Z4, 13.F->Y3Z4,
14.Y3->(, 15.Y4->), 16.T->a, 17.F->a}
Download