我有这个问题需要在CNF中将以下CFG转换为CFG。
S-> ABa
A-> aab
B-> Ac
我知道步骤如下。
我对如何处理上述问题感到有点困惑。大多数情况下,我对第2步和单位制作感到困惑。
答案 0 :(得分:0)
我知道步骤如下。
- 删除epsilon过渡 - 完成
- 删除单位制作
- 转换为CNF: 1.为每个学期引入一个新的非终端
醇>
- 使用新的非终结符号
替换制作规则中的终端- 引入新的非终结符号以减少每个作品右侧的长度
步骤1和2已经完成。所以我们只需要担心第3步。
启动语法:
S-> ABa
A-> aab
B-> Ac
为每个学期引入一个新的非终端。
S -> ABa
A -> aab
B -> Ac
C -> a
D -> b
E -> c
使用新的非终结符替换制作规则中的终端。
S -> ABC
A -> CCD
B -> AE
C -> a
D -> b
E -> c
引入新的非终结符号以减少每个作品的右侧长度。
S -> AF
A -> CG
B -> AE
C -> a
D -> b
E -> c
F -> BC
G -> CD
答案 1 :(得分:0)
S->ABa
C.N.F. is :
M->AB
Z->a
S->MZ
A->aab
C.N.F. is :
X->aa
Y->b
A->XY
B->Ac
C.N.F. is:
K->a
B->AK