Category Archives: C++博客_孔雀

© 2013 . All rights reserved.

词法分析器1(正则表达式到ε-NFA的转换)

自动机 关于自动机的说明,这里不不再复述,请到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 uint idx; EpsilonNFA_State() { idx = inc(); } static uint inc() { static uint i = 0; return … Continue reading