一.简介
在解析正则表达式的算法中,有穷自动机(DFA)得到广泛的应用,为正则表达式构建DFA的常用方法有二种:
一种是通过子集构造法生成一个中间NFA生成DFA,
另外一种就是通过一个FOLLOWPOS的推导法直接从正则得到DFA.
这二种方法生成的DFA有可能包含了一些多余的转换,这个时候就需要消除掉一些多余的状态,下面是DFA最小化算法的JAVA实现:
一.简介
在解析正则表达式的算法中,有穷自动机(DFA)得到广泛的应用,为正则表达式构建DFA的常用方法有二种:
一种是通过子集构造法生成一个中间NFA生成DFA,
另外一种就是通过一个FOLLOWPOS的推导法直接从正则得到DFA.
这二种方法生成的DFA有可能包含了一些多余的转换,这个时候就需要消除掉一些多余的状态,下面是DFA最小化算法的JAVA实现: