- 6
- 0
- 约6.87千字
- 约 36页
- 2018-10-19 发布于山东
- 举报
主要内容
扫描处理
正则表达式
有穷自动机
从正则表达式到DFA
TINY扫描程序的实现
利用Lex 自动生成扫描程序
• 正则表达式←→DFA
• 因正则表达式简洁,扫描程序的生成通常从正则
表达式开始。
• 正则表达式→DFA方法
1.直译:困难、复杂、无统一规律
2.引入中间构造NFA:简单、有规律
(1)正则表达式→NFA (2 )NFA→DFA。
• 扫描程序的自动过程 (加上NFA→程序)如下图
• 2.4.1 正则表达式→NFA
• Thompson结构 (Thompson construction )利
用-转换将正则表达式的机器片段“粘在一起”以构
成与整个表达式相对应的机器。
• 该结构是归纳的,按照正则表达式定义,步骤为
1.为每个基本正则表达式生成一个NFA
2.利用正则表达式运算符号将已构造好的子表达式
的NFA连接起来
• 1) 基本正则表达式
• 与正则表达式a (字母表中单个字符的匹配)等同
的NFA (即在其语言中准确接受)的是:
• 与 (空串的匹配)等同的NFA是:
• 2) 并置
• 正则表达式r 的NFA图:
• 注意:圆角矩形的左边圆圈表示初始状态,右边的双圆
表示接受状态,中间的3个点表示NFA中未显示出的状态
和转换。该图假设与r 相应的NFA中只有一个接受状态。
• 正则表达式rs等同的NFA图:
• 通过一个-转换将r 机的接受状态与s 机的接受状态连接
在一起。新机器将r 机的初始状态作为它的初始状态,
并将s 机的接受状态作为它的接受状态。
• 3) 在各选项中选择
r|s对应的NFA图:
这里,添加了一个新的初始状态和一个新的接
受状态,并利用-转换将它们连接在一起。
• 4) 重复
r*对应的NFA图:
这里添加了两个新的状态:一个初始状态和一个接
受状态。
该机中的重复由从r 机的接受状态到它的初始状态
的新的-转换提供,允许r 机来回多次移动。
为保证也能接受空串(即r的重复为零),就必须
画出一个由新初始状态到新接受状态的-转换。
• 注意: Thompson 结构的描述构造并不唯一。
特别是当将正则表达式运算翻译成NFA时,也
可能有另一个结构。
• 例如,并置rs 时,就可以省略在r 机和s机之间
的-转换,将r 机的接受状态等同于s 机的初始
状态,如下:
• 构造NFA遵循的原则非常简单:
1.每个状态最多具有两个转换,而且如果有两个
转换,就必须都是-转换。
2.在构造时不能删除状态,而且除了来自接受状
态增加的转换之外,其他转换也不可更改。
• 例2.12 根据Thompson结构将正则表达式
翻译为NFA。
首先为正则表达式a和b分别构造机器:
接着再为并置ab 构造机器:
• ab|a的NFA:
• 例2.13 利用Thompson 结构完成正则表达式
letter(letter|digit) *的NFA。
首先分别为正则表达式letter 和digit 构建机器:
接着再为选择letter|digit 构造机器:
• 现在为重复(letter|digit) *构造NFA,如下所示:
• 最后,将letter和(letter|digit) *并置在一起,并构造
该并置的机器以得到完整的NFA:
• 例子:正则表达式(a|c)*b按Thompson结构构
造所得NFA如图:
• 2.4.2 从NFA到DFA
NFA与DFA的区别-转换和多重转换。
(1)消除-转换
-闭包(-closure)是可由-转换从某状态或
某些状态达到的所有状态集合。
(2 )消除在单个输入字符上的多重转换涉及
跟踪可由匹配单个字符而达到的状态的集合。
这两个过程都要求考虑状态的集合而不是单个
状态,所以就将这个算法称作子集构造
(subset construction )。
• 1) 状态集合的-闭包
单个状态s的-闭包定义为:可由一系列的零个或
多个-转换能达到的状态集合S 。一个状态的-
您可能关注的文档
最近下载
- 生猪屠宰加工应急预案(3篇).docx
- 幕墙成品保护措施及细则.docx VIP
- 巴西-狂欢节含内容.pptx VIP
- 蛋鸡合理的蛋白能量比.doc VIP
- 350MW超临界循环流化床机组调试大纲.doc VIP
- 初中奥数二次根式计算专项讲义.docx VIP
- 《基于MATLAB的10kV小电流接地系统中单相接地故障仿真研究》6500字.docx VIP
- 2025年第四季度电网工程设备材料信息参考价.docx VIP
- 深度解析(2026)《GBT 3511-2018硫化橡胶或热塑性橡胶 耐候性》.pptx VIP
- 深度解析(2026)GBT 14834-2009硫化橡胶或热塑性橡胶 与金属粘附性及对金属腐蚀作用的测定.pptx VIP
原创力文档

文档评论(0)