解释
状态机(有限状态机,Finite State Machine)是一个抽象的数学模型, 由以下部分组成
- 有限的状态集合
- 可能触发状态转换的输入集合
- 转移函数 定义在特定状态下接收到特定输入时如何转换状态
- 初始状态:状态机的起始点
- 终止状态集合 标识处理完成的特殊状态
特征
- 状态总数有限
- 任一时刻,只处在一种状态之中
- 某种条件下,会从一种状态转变到另一种状态
两种类型
- 摩尔型(Moore)状态机 - 输出只依赖于当前状态,与输入无关
- 米利型(Mealy)状态机 - 输出依赖于当前状态和输入
示例
以之前的 抽象语法树 项目为例
1 | // enums.ts |
1 |
|