编译原理-第三章 词法分析-3.6 有限自动机
方知有 人气:0
# 有限自动机
![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317112345147-1655602194.png)
+ 定义:
+ 状态图的形式化表示,指明了一个开始状态,一个或多个接受状态,以及状态集、输入字符集和状态间的转换集合
+ 一个自动机接受输入字符串x:
+ 当且仅当对应的转换图中存在一条从开始状态到某个接受状态的路径, 使得该路径中各条边的标号组成字符串x
+ 自动机定义(接受的语言):
+ 是从开始状态到某个接受状态的所有路径上的标号串的集合
## 一、不确定的有限自动机(NFA) --- ### 构成 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317112933368-1658233470.png) ### 特点 + 一个符号标记离开同一状态可以有多条边,并且空输入也可以作为标号 + 使用表格来记录NFA在扫描输入字符时可能进入的所有状态 ### 示例 #### 例1 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317113815556-411856259.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317113908967-1404505307.png) #### 例2 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114033742-1174462629.png)
## 二、确定的有限自动机(DFA) --- ### 构成 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317112952307-101001331.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114608678-1136393401.png) ### 特点 + 任何一个状态对于任意一个输入符号有且只有一个转换 + 不允许在空输入上的转换 ### 示例 #### 例1 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114732152-1797309131.png) #### 例2 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114952623-1636177975.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114958604-1016990969.png) #### 例3 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115105330-1520149401.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115136810-1595983772.png) #### 例4 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115301028-46127523.png)
## 三、NFA与DFA的联系与区别 --- ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115401831-998879574.png)
**参考——慕课-苏州大学**
## 一、不确定的有限自动机(NFA) --- ### 构成 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317112933368-1658233470.png) ### 特点 + 一个符号标记离开同一状态可以有多条边,并且空输入也可以作为标号 + 使用表格来记录NFA在扫描输入字符时可能进入的所有状态 ### 示例 #### 例1 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317113815556-411856259.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317113908967-1404505307.png) #### 例2 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114033742-1174462629.png)
## 二、确定的有限自动机(DFA) --- ### 构成 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317112952307-101001331.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114608678-1136393401.png) ### 特点 + 任何一个状态对于任意一个输入符号有且只有一个转换 + 不允许在空输入上的转换 ### 示例 #### 例1 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114732152-1797309131.png) #### 例2 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114952623-1636177975.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317114958604-1016990969.png) #### 例3 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115105330-1520149401.png)![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115136810-1595983772.png) #### 例4 + ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115301028-46127523.png)
## 三、NFA与DFA的联系与区别 --- ![](https://img2020.cnblogs.com/blog/1520604/202003/1520604-20200317115401831-998879574.png)
**参考——慕课-苏州大学**
加载全部内容