有限状态自动机

正则表达式处理器,实现匹配特定的字符串的功能。

确定的有限状态自动机(FDA)

五元组构成FDA,A = (Q,∑,δ,q,F)

Q:状态集

所有可能的状态(状态变量集合)。

∑:输入的符号

输入的符号必须是计算机中可以识别的符号。

δ:状态转移函数(核心控制器)

读取的符号和当前的状态变量作为状态转移函数的输入。
关键点状态转移函数需要做的事情:状态改变、根据状态实现的功能。

q:开始状态

明确FDA的开始状态。必须要有开始状态,就像变量必须要有初始值,你才能执行动作。

F:结束状态

明确FDA的结束状态,产生最终的结果。正则表达式识别字符串,在扫描整个字符串过程中,FDA从开始到结束状态会有递归的过程。一旦到达结束状态,就会切换为开始状态读取下一个字符。

状态转移图

使用图表的形式,更加直观的表示FDA。五元组和状态转移图是一一对应的。
image.png

参考

https://www.icourse163.org/learn/HIT-1206319802?tid=1465145445#/learn/content?type=detail&id=1243994206&sm=1