编译原理第四章.ppt
《编译原理第四章.ppt》由会员分享,可在线阅读,更多相关《编译原理第四章.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章词法分析v4.1 词法分析程序的设计v4.2 单词的描述工具v4.3 有穷自动机v4.4 正规式和有穷自动机的等价性v4.5 正规文法和有穷自动机的等价性v4.6 词法分析程序的自动构造工具14.1 词法分析程序v4.1.1 词法分析程序与语法分析程序 的关系 2v4.1.2 词法分析程序的输出格式 词法分析程序的功能是读入源程序,输出单词.单词一般有5种:1.单词的种类 (1).关键字.如PASCAL中的begin,end等 (2).标志符:变量名,过程名等.(3).常数:如25,3.14等 (4).运算符:如+,-,*,/等 (5).界符:如,;,(,)等 32.输出格式输出的单词以
2、二元式表示:(单词的种类,单词自身的值)但是,当为标识符时,为该标识符所在的符号表的入口地址.4设 种种 类类 编编 码码标识符1常数2关键字3运算符4界符55例:设程序段 if i=5 then x:=y;经词法分析后输出如下:If (3,if)i (1,i所在的符号表的入口地址)=(4,=)5 (2,5)then (3,then)X (1,x所在的符号表的入口地址):=(4,:=)y (1,y所在的符号表的入口地址);(5,;)64.2 单词的描述工具v4.2.1 正规文法:正规文法 G=(,)的特征:A aB或A a例:*7v4.2.2 正规式和正规集设字母表为,正规式正规式和它所表示的
3、正规集正规集的定义如下:,,都是上的正规式,它们所表示的正规集分别为,.任何a 正规式,它所表示的正规集为a.8 如果e1和e2都是上的正规式,它们所表示的正规集分别为L(e1)和(e2),e1|e2是正规式,它所表示的正规集为 L(e1|e2)=L(e1)L(e2);e1e2是正规式,它所表示的正规集为 L(e1e2)=L(e1)L(e2);(e1)*是正规式,它所表示的正规集为 L(e1)*)=(L(e1)*.仅由有限次使用上述三步骤而定义的表达式才是上的正规式,仅由这些正规式所表示的字集才是上的正规集.9例:正规式的性质:1.r|s=s|r 2.r|(s|t)=(r|s)|t 3.(r
4、s)t=r(s t)4.r(s|t)=r s|r t (s|t)r=s r|t r 5.r=r r=r10v4.2.3 正规文法和正规式的等价性1.正规式转换成正规文法:对给定的正规式,写产生式S r,并将S作为文法的开始符号.若x和y都是正规式,对形如Axy的产生式,写成AxB,By 对形如Ax*y的产生式,写成 ,Ay x|y,写为x,Ay.不断利用上述规则做变换,直到每个产生式都符合正规文法的形式为止11例:例正规文法转换成正规式:过程是正规式转换成正规文法的的逆过程,最后只剩下一个开始符号定义的正规式,用的的转换规则有:AxB By 转换成 A=xy AxA,A y 转换成 A=x*y
5、 x Ay 转换成 A=x|y例:124.3 有限自动机v有限自动机(FA)可以认为是由一个带阅读头的控制器和一条字符输入带组成.阅读头从左到右读入字符,每读入一个字符,自动机的状态就改变一次.自动机的状态是有限的,故称为有限自动机有限自动机.当前状态当前状态:自动机当前所处的状态 后继状态后继状态:读入一个字符后,自动机转换后的 状态13 开始状态开始状态(初始状态初始状态)结束状态结束状态(终止状态终止状态)如果每次转换后的状态是唯一的,则称该自动机是确定的有限自动机确定的有限自动机(DFA),否则是不确定不确定的有限自动机的有限自动机(NFA).14v确定的有穷自动机v一个确定的有穷自动
6、机M是一个五元组:M=(K,f,S,Z),其中 1.K:状态的有限集合.2.:字母表,每个元素称为一个输入符号;3.f:转换函数 KK 或 f(ki,a)=kj 4.SK,唯一的初态;5.Z:K的子集,终态集合.15v例题 DFA M=(S,U,V,Q,a,b,f,S,Q)f:f(S,a)=U f(V,a)=U f(S,b)=V f(V,b)=Q f(U,a)=Q f(Q,a)=Q f(U,b)=V f(Q,b)=Q v状态图表示:U S Q V aaabbba,bv矩阵表示:abSUVUQVVUQQQQ0001符号状态16v定义:对字符串 t*,若存在一条从初态到某一终态的标有 t 的路径,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 第四
限制150内