0

FA 的简单实现会使节点看起来像:

struct Node {
    string label;
    Node*[char] trans;
}

但是如果你的转换之一是“![a]”(除了字符'a'之外的任何东西)。而且您的字母太大,无法存储所有可能不是“a”的字符。你明白我的意思吗?

编辑。我目前的猜测是

struct NFAState {
    string label;
    Node*[][char] trans;
    Node*[][char] notTrans;
    Node*[] epsTrans;
}

对于 NFA 节点。

4

1 回答 1

0

您可以添加第二个Node*[char] notTrans;并存储非案例的所有节点。

于 2013-09-15T06:16:33.907 回答