编译原理第三章自动机基础(1).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 3 章 自动机基础 3.1 正规语言及其描述方法 【内容提要】 自动机 — 是一种语言模型,是语言的一种识别工具,其中的 有限自动机(finite automata)FA 被用来处理 正规语言,后者是编译程序设计中词法分析的对象。 3.2 有限自动机的定义与分类 3.3 有限自动机的等价变换1,2 3.4 有限状态自动机的实现问题 3.5 正规语言描述方法间的相互转换 3.1 正规语言及其描述方法 【定义】 正规语言是指由正规文法定义的语言;程序设计语言中的单词,大都属于此种语言。 正规语言有三种等价的表示方法: ⑴ 正规文法 ⑵ 正规式 ⑶ 有限自动机 正规文法是指仅有三种形式的产生式: ⑴ A - aB ⑵ A - a ⑶ A - ? 【例3.1】 G(Z):A -aA| ? ∵ A=? ; A=aA=aaA=aaaA=…=an ,n≥0 ∴ L(G)={ an | n≥0 } 正规文法 正规语言 ※ 正规语言判定示例: 【例3.2】 L1 ={ ambn| m≥0 ,n≥1 } , 正规语言 ? ∵ 可由正规文法定义: G1(S): S - aS|bA ; A - bA|? ∴ L1 是正规语言。 【例3.3】 L2 ={(ab)n| n≥1 } , 正规语言 ? ∵ 可由正规文法定义: G2(S): S - aA ; A - bB ; B - aA|? ∴ L2 是正规语言。 【例3.4】 L3 ={anbn| n≥0 } , 正规语言 ? ∵ 不能由正规文法定义(正规文法无法描述a和b数量上相等!): ∴ L3 不是正规语言! 3.1.1 正规语言的正规式表示法 ※ 正规式 是指由字母表中的符号,通过以下三种运算(也可以使用圆括号)连接起来构成的表达式 e : 连接 ( .) 或( | ) 闭包( +,* ) ※ 设 val(e),L(e) 分别表示正规式 e 的值和语言,则: L(e)={ x| x=val(e)} 即 正规式表示的语言是该正规式所有值的集合(正规集)。 例: 正规式 正规式的 值 ab.cde abcde ab|cde ab , cde a+ a ,aa ,aaa ,… ,an ,… a* ε , a , aa , aaa , … , an , … ※ 正规式表示正规语言示例: 展开: L(e3) = { abnc, bn | n≥0 }, L(e2) = {(ab)n| n≥1 } , ⑵ e2=(ab)+ ⑶ e3= ab*c|b* L(e1)= { ambn| m≥0 ,n≥1 } , ⑴ e1= a*b+ = { b,ab,bb,aaab,aab,abb,aabb,… } = { ab,abab,ababab,abababab,… } = { ac,abc,abbc,abbbc,…; ε,b,bb,bbb,…} 【例】: 3.1.2 正规语言的有限自动机表示法: L3= { abnc ,bn|n≥0 }, L2= {(ab)n| n≥1 } , L1= { ambn| m≥0 ,n≥1 } , + ① ② b - a b + ① ② ③ b - a a ① ② ③ ④ + - a b c b b - - FA1: FA2: FA3: ※ 初看起来,有限自动机是带标记的有向图! {1,2,3,4} — 状态集; 其中: +(开始状态);?-(结束状态) {a,b,c} — 字母表; δ(1,a)=2 – 变换 ( 或 );… ※有限自动机表示法说明: ① ② a L3= { abnc ,bn|n≥0 } ① ② ③ ④ + - a b c b b - - FA3: 一个 FA,若存在一条从某开始状态 i 到某结束状态 j 的通路,且这条通路上所有边的标记连成的符号串为?,则 ?就是一个句子;所有这样的 ?的集合,就是该 FA 表示的语言。 【图符说明】: 【运行机制】: ( 表示1状态遇符号a变到2状态,…); e = ab*c|b* G(S): S- aA|bB|? ,A - bA|c ,B - bB| ? ※ 正规语言的三种表示法综合示例: 【例3.5】 L ={ abnc, bn| n≥0 },∑= {a,b,c}; 【注】 凡是能由上述三种

文档评论(0)

123****6651 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档