ssfsm是一个实现确定性有限状态机的构造性库。有趣的是,它有一个非常简单的api。
ssfsm的Python项目详细描述
ssfsm是一个实现确定性有限状态机的构造性库。有趣的是,它有一个非常简单的api。 示例:
# A FSM that accepts b*a(ab)* import ssfsm A = ssfsm.Machine() A.One['a'] = A.Two A.One['b'] = A.One A.Two['ab'] = A.Two # a and b transition A.Two = True # Set state Two to accepting A().reset(A.One)
转换是这样完成的:
A('a') # a-Transition A('ab') # a-Transition followed by b-Transition bool(A) # is A in an accepting state
一些帮助程序可以使构造更加简单,因此第一个示例可以写成:
import ssfsm A = ssfsm.Machine('One') A().alphabet = 'ab' A.One['b'] = A.One A().polyfill(A.Two) A.Two = True