0

所以我在一维数组中有一个语法,由形式给出

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 算法,我这样做了。这是我作为一个项目遇到的问题。请记住,我刚开始这个级别的编程。但是,我确实具备所有基本知识。

4

0 回答 0