我已经实现了 CYK 算法来检查具有给定语法的输入字符串。
如果我有以下语法
S->AB|BC
A->BA|a
B->CC|b
C->AB|a
如果我检查 string ab
,算法会说它是语法。但如果我有如下语法,
S->ABC
A->a
B->i
C->h
如果我通过 string aih
,算法会说它不在语法中。但是正如您所看到aih
的,显然会创建非终结符ABC
并且它们相等S
。所以我对此感到困惑。如果我错了,请指出我..提前谢谢。
1 2 3
1 A null null
2 B null
3 C
编辑:上面显示了算法如何构造单词。在 (1,3) 中为空。所以它不在语法中。是我语法有问题吗?