码迷,mamicode.com
首页 > 其他好文 > 详细

编译原理 第三章 词法分析(下)

时间:2018-11-21 16:10:48      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:记录   ima   符号   family   转换   拆分   为什么   ali   两种   

3.6 有穷自动机(非常重要)

技术分享图片

3.6.1 不确定的有穷自动机(重要)

技术分享图片

例:

技术分享图片

 状态0是开始状态, 在状态0上输入符号b会进入状态0,输入a可能进去状态0也有可能进入状态1。所以对于状态0来说一个确定的输入符号a他有两种离开状态,这就是一种不确定的状态。

 

 

3.6.2 转换表 (非常重要)

技术分享图片

: 3-24NFA 对应的转换表

技术分享图片

3.6.3 自动机中输入字符串的接受(重要)

技术分享图片

技术分享图片

 

 

 技术分享图片

技术分享图片

状态0连接着两个ε,为什么要连接ε?

我们可以把NFA L(aa*|bb*),拆分为两个独立的NFA。

1. L(aa*) 接受a开头的a字符连接的串

技术分享图片

2. L(bb*)接受b开头的b字符连接的串

技术分享图片

L(aa*|bb*)同时接受这两种模式的串。每个NFA都需要一个开始状态,这个开始状态不需要任何输入符号就可能进入L(aa*)或者L(bb*)

所以我们需要在开始状态连接L(aa*) L(bb*),但是他们不需要任何输入符号所以我们用ε去连接L(aa*)L(bb*)的开始状态。

 

3.6.4 确定的有穷自动机(重要)

 技术分享图片

技术分享图片

 

第三章后续都是一些算法,每个算法单独记录一个博文把。。。。

 

编译原理 第三章 词法分析(下)

标签:记录   ima   符号   family   转换   拆分   为什么   ali   两种   

原文地址:https://www.cnblogs.com/lxykl/p/9994357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!