所以我在一维数组中有一个语法,由表格
给出struct array
{
char left;
char right[3];
char number;
}
示例:
array.left = 'A';
array.right = "BC";
array.number = insert_some_conventional_null_character_here
这被翻译为:
A->BC
其他例子:
A->3
C->BDE
X->9
此外,array.number还以[0,9]为界。
array.right和array.left是区间[A,Z]中的文字。
我需要返回一个链接列表,其中包含应用于从输入字符串(称为 startString )获取的所有规则(语法组件)到另一个名为 stopString 的输入字符串。< / p>
正如你所看到的,这个语法没有在Chomsky Normal Form中给出,我相信我不能把它翻译成CNF,因为语法会改变,我不能返回程序要求的链表。
我该怎么办?就像Post-Scriptum一样,语法中最多有1000条这样的规则,所以我猜一个递归的解析器可能不是那种方法。之前我曾经问过,我被告知阅读有关CYK算法的内容,我做过。这是我作为一个项目给出的一个问题。请记住,我刚开始这个级别的编程。但是,我确实掌握了所有基本知识。