- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第3章词法分析.
* 标识符 无符号整数 运算符: +、*、=、、= 分界符:,、; 【例】假设某种语言的单词符号的子集有: 3.2 正规文法与正规式 使用正规式来表示相应单词符号。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 标识符→字母 | 标识符字母 | 标识符数字) 无符号整数→数字 | 无符号整数数字 单界符→+ | * | |, | ; 双界符→= 标识符: l(l|d)* 无符号整数: dd* 单界符: + | * | |, | ; 双界符: = 3.2 正规文法与正规式 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 正规式:单词的词型公式 正规集:符合词型公式的单词的集合,是符号集 运算符:从高到低的优先次序:* ? | 正规式的定义是一种递归定义 正规式等价 正规式R和S,如果L(R)=L(S),则R=S 【例】 ∵ L(b(ab)*)=L((ba)*b), ∴ b(ab)*=(ba)*b ∵ L((a|b)*)=L(((a)*(b)*)*), ∴ (a|b)*=((a)*(b)*)* 3.2 正规文法与正规式 正规式和正规集的说明 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * (1) 交换律: R∣S = S∣R (2) 结合律: R∣(S∣T) = (R∣S)∣T R(ST) = (RS)T (3) 分配律: R(S∣T) = RS∣RT (R∣S)T = RT∣ST (4) 同一律: εR = Rε = R (5) 抽取律: r | r = r 3.2 正规文法与正规式 正规式的性质 交换律适合 ? 运算吗? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 【例】令Σ={a,b},设R=a(a∣b)* 是Σ上的正规式, 试求其表示的正规集。 【解答】L(R)=L(a(a∣b)*)=L(a)L((a∣b)*) =L(a)(L(a∣b))*=L(a)(L(a)∪L(b))* ={a}({a}∪{b})*={a}{a,b}* ={a}{ε, a, b, aa, ab, ba, bb, aaa, …} ={a, aa, ab, aaa, aab, aba, abb, aaaa, …} 3.2 正规文法与正规式 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. * 【解答】 (1) (a∣b)*对应的正规集:a、b可任意交替出现,如abbaaaba… a*∣b*对应的正规集:只可出现任意个a或者任意个b (2) (ab)*对应的正规集:任意个ab对,即ababab…; a*b*对应的正规集:先出现任意个a后接任意个b,即a…ab…b; (3) (a∣b)*对应的正规集:a、b可任意交替出现,如aababbb; (a*b*)*可采用如下构造方法得到字符串aababbb: (a*b*)2=(a*b*)(a*b*)=(a2b1)(a1b3)=aababbb 反之,对(a*b*)*产生的任意字也可由(a∣b)*得到,即两者是等价的。 【例】 判断下述正规式之间是否等价: (1) (a∣b)*与a*∣b* (2) (ab)*与a*b* (3) (a∣b)*与(a*b*)* 3.2 正规文法与正规式 不等价 不等价 等价 思考题:求证(a∣b)*与(a*b*)* 的等价性 Evaluation only
文档评论(0)