编译原理_03词法素材.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文档。上传文档
查看更多
* R=(a|b)*abb 其他方法: x i y (a|b)* abb x j y ε abb i ε a|b x j y ε a i ε a b l b k b ? ? ? * 4.5 正规文法和有穷自动机间的转换 构造规则如下: ①字母表与G的终结符集相同; ②为G中的每个非终结符生成M的一个状态, G 的开始符号是初态S; ③增加一个新状态Z,作为NFA的终态; ④对G中的形如A→tB的产生式(其中t为终结符或ε,A和B为非终结符),构造M的一个转换函数f(A,t)=B; ⑤对G中形如A→t的产生式,构造M的一个转换函数f(A,t)=Z。 正规文法转换为有穷自动机 * 例:已知正规文法G如下,试构造等价的NFA N,使得L(N)=L(G) G[s]: S?aA S?bB S? ε A?aB A ?bA B?aS B?bA B? ε 解:应用上述规则可得等价NFA如右图 S A B Z ε a a a b b b ε ? * 有穷自动机转换为正规文法 转换规则非常简单: ①对转换函数f(A,t)=B ,可构造产生式A→tB; ②对终态Z ,增加产生式Z → ε ; ③有穷自动机的初态对应文法的开始符号; ④有穷自动机的字母表对应文法的终结符集; 下面我们来看一个具体的例子 * 例:已知NFA N的状态图如下,试构造正规文法G ,使得L(G) = L(N) 解:分析可得,与之等价的的正规文法G=({A,B,C,D},{a,b},P,A)其中P为: A →aB A→bD B→bC C→aA C→bD D→aB D→bD D→ ε A C B Z a a b b b a b ? * 对于Σ上的NFA M,可以构造一个Σ上的正规式R,使得L(R)=L(M)。 对于Σ上的每个正规式R,可以构造一个Σ上的NFA M,使得L(M)=L(R)。 从正规式R构造等价的NFA的方法很多,这里采用语法制导法。 正规文法和有穷自动机间的转换规则很简单,只要注意两点: 1.正规文法转换为有穷自动机要增加一个新状态Z,作为NFA的终态; 2.有穷自动机转换为正规文法要对每个终态Z ,增加产生式Z → ε 。 教学总结 * 教材P72-73练习: 1(1、2),7 作 业 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * * * * * 2. 接受(识别)的概念: 对于Σ*中的任何字符串t,若存在一条初态到某一终态的道路,且这条路上所有弧的标记符连接成的字符串等于t,则称t可为DFA M所接受。 若M的初态同时又是终态,则空字可为M所接受 接受(识别)的理解: ①?设Q?K,函数f(Q,?)=Q,空串不改变状态; ②?输入字符串t(t表示成Tt1形式,T?Σ, t1 ?Σ*),在DFA M上运行的定义为: f(Q,Tt1)=f(f(Q,T),t1),其中Q?K。 * 例:证明t=baab被如下的DFA所接受。 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 b S U V a a a b a , b b Q * 证明如下: f(S,baab) =f(f(S,b),aab) =f(V,aab) =f(f(V,a),ab) =f(U,ab) =f(f(U,a

文档评论(0)

502992 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档