- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4第4章词法分析
;;4.1 单词的描述工具
4.2 有穷自动机
4.3 正规式和有穷自动机的等价性
4.4 正则文法和有穷自动机间的转换
4.5 词法分析程序的设计
4.6 词法分析程序的自动构造工具;4.1 单词的描述工具;4.2.1 正规文法;;4.2.2 正规式(正则表达式) Regular Expression;正规式与正规集的递归定义
ε和φ都是∑上的正规式,它所表示的正规集分别为{ε}和Ф;
任何a∈∑,a是∑上的正规式,它所表示的正规集为{a};
假定e1和e2都是∑上的正规式,他们所表示的正规集分别为L(e1)和L(e2),那么,以下也都是正规式和他们所表示的正规集;;说明: 算符的优先顺序: ‘*’ ‘.’ ‘|’
‘.’和‘|’都是左结合
仅由有限次使用上述三步定义的表达式才是∑上的正规式,仅由这些正规式所表示的字集才是∑上的正规集。;例子
令?={a,b}, ?上的正规式和相应的正规集有
正规式 正规集
a {a}
a?b {a,b}
ab {ab}
(a?b)(a?b) {aa,ab,ba,bb}
a ? {? ,a,aa,…任意个a串}
(a?b)? {? ,a,b,aa,ab ……所有由a和b 组成的串};正规式的代数性质
设 r,s,t 是正规式,正规式服从的代数规律是:
r|s = s|r “或”满足交换律
r|(s|t) = (r|s)|t “或”的结合律
(r s) t = r (s t) “连接”的结合律
r(s|t) = r s|r t
(r|s) t = r t|s t 分配律
εr = rε= r ε是“连接”的恒等元素
r?r=r “或”的抽取律
r?=??r?rr?… ;程序中的单词都能用正规式来定义
令l为a~z的字母,d为0~9的数字
e1= l ( l | d)* e1表示标识符集合
e2= dd* e2表示无符号整数
注:
标识符→l|l字母数字
字母数字→l|d|l字母数字|d字母数字
正规式比正规文法更容易让人理解单词是按怎样的规律构成的,且可以从某个正规式自动地构造识别程序。;4.2.3 正规文法和正规式间的转换;将∑上的一个正规式r转换成文法G=(VN,VT,S,P)
VT= ∑,首先形成产生式S→r,S为G的开始符
不断利用下面的规则做变换,直到每个产生式最多含有一个终结符为止;例: 将R=a(a|d)*转换成相应的正则文法
令转换成文法G=(VN,VT,P,S)
其中VT={a,d}, 文法开始符为S
首先形成S→a(a|d)*,然后变换
S→aA A→(a|d)*;将正规文法转换成正规式
将每条产生式改写为正规式
用代入法解正规式方程组
最后只剩下一个开始符号定义的正规式,其中不含非终结符
正规文法到正规式的转换规则:;例:将文法G[S]转换成正规式
G:S→a A|a
A→dA|d
先由产生式得: S=aA|a A=d*d
将A代入S中得: S=ad*d|a
利用正规式变换得 S=a(d*d|ε)=ad*
说明:d*d|ε =(ε|d|dd|…)d|ε
=d|dd|…|ε= d*
所求正规式为ad*;4.2 有穷自动机(也称有限自动机);4.3.1 确定的有穷自动机(DFA);例
DFA M=({S,U,V,Q},{a,b},f,S,{Q})
其中f定义为:
f(S,a)=U f(S,b)=V
f(V,a)=U f(V,b)=Q
f(U,a)=Q f(U,b)=V
f(Q,a)=Q f(Q,b)=Q
;DFA表示成状态转换图(Transition Diagram)
每个状态对应图中的一个结点:
初态为唯一初态结点,用=〉标记;
终态对应终态结点,用双圈表示。
若有f(ki,a)=kj,则从结点ki到结点kj画标记为a的弧。;例 DFA M=({S,U,V,Q},{a,b},f,S,{Q})
f(S,a)=U f(S,b)=V
f(V,a)=U f(V,b)=Q
f(U,a)=Q f(U,b)=V
f(Q,a)=Q f(Q,b)=Q;DFA表示成状态转换矩阵;DFA识别(接受)的字符串
对于Σ*中的任何字符串t,若存在一条从初态结到某一终态结的通路,且该通路上所有弧的标记符连接成的字符串等于t,则称t可以为 DFA M所识别
若DFA M的初态结同时又是终态结,则ε可为M所识别。;DFA M所能接受的符号串的全体记为L(M).
结论:
?上一个符号串集V???
您可能关注的文档
- 4_41化学式与化合价.pptx
- 4_8预激综合征和逸搏.ppt
- 4_《兰亭集序》完整版课件.ppt
- 4_基因是有遗传效应DNA片段.ppt
- 4_1中国行政区域、人口和民族.pptx
- 4_大数定律与中心极限定理.ppt
- 4_品牌管理核心.ppt
- 4_数学概念教学.ppt
- 4_汽车保险承保实务1011.ppt
- 4_明清君主专制加强.ppt
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
文档评论(0)