0
S->AcA|BcB
A->ccBc|ABA|cc
B->c
step1
S0->S
S->AcA|BcB
A->ccBc|ABA|cc
B->c
step2 // change symbol to terminals?
S0->S
S->ABA|BBB
A->BBBB|ABA|BB
B->c
step3 // split?
S0->S
S->ABA
S->BBB
A->BBBB
A->ABA
A->BB
B->c
step4 // what to do when A->AXA?
S0->S
S->ABA
S->BBB
A->BBBB //??
A->ABA //??
A->BB //??
B->c
我不知道如何继续。
I F ixed在代码格式中似乎是一个疏忽。我还修复了错误的标签; 'cnf'的含义与Chomsky Normal Form有所不同,正如您从悬停在标签或键入时所示的摘录中可以看出的那样。最后,我重写了标题至少要清晰一些,但仍需要更具体一些。你完全无法理解什么部分? – 2015-03-13 23:01:21
@NathanTuggy他在代码注释“在A - > AXA时做什么?”。一旦我重新了解了我对CNF的知识,就很清楚他需要什么。 – 2015-03-13 23:08:39
@MillieSmith:恩,我对CNF的了解仅限于正式语法规范的名称和模糊概念,所以我尽我所能。如果您可以重新改写标题以使其具体,那将对未来的参考很有帮助。 – 2015-03-13 23:10:39