提出了一种新颖的正则NFA引擎构造方法--PFA构造法.PFA构造法包括3个主要算法:预处理算法、解析树编码算法和基于编码树的NFA构造算法.采用PFA构造法能够构造出只含有一个开始状态和一个终止状态的规模更小的NFA,称其为NFAp.NFAp的规模与正则表达式组的长度线性相关,较Thompson自动机、后跟自动机、位置自动机以及部分派生自动机的规模都要小,是Thompson NFA的1/3,比已经接近最优的后跟自动机构造法所获得的NFA还要小.
A novel method for constructing smaller non-deterministic finite automata (NFA) engine from given regularexpressions named PFA was proposed. There are three main algorithms in PFA, the pretreatment algorithm, the codingparser tree algorithm and the NFA construction algorithm based on the coded binary tree. The smaller NFA named NFApwith only one start state and one final state can be obtained by using PFA construction method. NFAp have linear size interms of the size of given regular expressions. It is the smallest NFA comparing with current methods likeThompson NFA, follow automata, position automata and partial derivatives automata. The size of NFAp is onethird of Thompson's and it is smaller than the size of follow automata whose size has nearly closed to optimal.