所以我在一维数组中有一个语法,由形式给出
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 的输入字符串的所有规则(语法组件)。
如您所见,乔姆斯基范式中没有给出这个语法,我相信我无法将其翻译成 CNF,因为语法会改变,我无法返回程序请求的链表。
我应该如何进行?就像 Post-Scriptum 一样,语法中最多有 1000 条这样的规则,所以我想递归解析器可能不是要走的路。我之前问过,我被告知要阅读 CYK 算法,我这样做了。这是我作为一个项目遇到的问题。请记住,我刚开始这个级别的编程。但是,我确实具备所有基本知识。