- 15
- 0
- 约9.93千字
- 约 43页
- 2016-12-23 发布于河南
- 举报
编译程序原理与实现 张晶 2011.3 第2章 outline 一、词法分析概述 1,词法分析程序的功能 2,词法分析相关的一些问题 二、正则表达式 三、有限自动机 1,确定有限自动机DFA 2,非确定有限自动机NFA,NFA到DFA的转换 3,DFA的化简 4,正则表达式到NFA的转换 四、词法分析程序构造 4、正则表达式到NFA的转换 正则表达式和有限自动机都是形式语言,都可以描述程序设计语言的单词结构。 正则表达式便于描述和理解 有限自动机便于实现 二者的描述能力是等价的,都描述正则语言,可相互转换。 一般地,设计词法分析程序的步骤是:先用RE定义单词结构,然后将RE转化成NFA,NFA再转化成DFA,DFA化简并实现得到词法分析程序。 RE到NFA转换-Thompson算法 转换基于语言等价原则 ? 是RE,L(?)={ } ?是RE, L(?)={ ? } 任何 c ??, c 是RE, L(c)={c} ( A ), L( (A) ) = L(A) RE到NFA转换 A | B,L( A | B )=L(A)?L(B) RE到NFA转换 A B, L( A B )= L(A)L(B) RE到NFA转换 A* ,L( A*) = L(A)* 特别声明 上述规则只对具有一个开始状态和一个终止状态的NFA有效; 任何NFA都可以经过变换符合上述要求;
原创力文档

文档评论(0)