02 2013 档案
摘要:接上一篇我们已经得到了一个完整的ε-NFA,下面来说说如何将ε-NFA转换为DFA(确定有限自动机)。DFA的状态在DFA中,某个状态对应到ε-NFA中的若干状态,应此我们将会得到下面这样的一个结构。 struct DFA_State { set<EpsilonNFA_State*> content; bool bFlag;#ifdef _DEBUG uint idx;#endif DFA_State(con...
阅读全文
摘要:自动机关于自动机的说明,这里不不再复述,请到http://zh.wikipedia.org/wiki/自动机查看。表达式首先,我们规定表达式中只允许输入Char_Type和String_Type类型的字符。template <typename Char_Type, typename String_Type>class Rule{};ε-NFA的状态对于一个状态来说,我们并不需要知道他的任何信息在上面的代码中,为了调试方便,我为其加入了idx域,并为每个状态分配了一个唯一的ID。 struct EpsilonNFA_State {#ifdef _DEBUG ...
阅读全文