lr分析器练习题证明.docVIP

  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文档。上传文档
查看更多
lr分析器练习题证明.doc

证明:由构造LR(0)项目集规范族得到的DFA,它可以也只能读进所分析文法的活前缀。 需要证明两个方面: 命题1 所有活前缀一定都可由DFA读进,即不会错过合法的归约。 命题2 DFA只能读活前缀。 证明思路: 首先要了解活前缀是如何产生的。活前缀的集合Prefix可归纳定义如下: 设S’是增广文法开始符号,有产生式S’ ( S(S是文法开始符号),令S (Prefix。 若v (Prefix,则v的任一前缀u都是活前缀,即u(Prefix。 若v (Prefix,且v中至少包含一个非终结符,即可以将v写成 (B(,其中B为非终结符。若有产生式B ( β,则(β的任一前缀u都是活前缀,即u(Prefix。 Prefix中的元素只能通过上述步骤产生。 命题1可以根据Prefix的定义进行归纳证明。 基础:对于由规则(1)产生的活前缀S (Prefix,由于在DFA的初始项目集(状态)I0中含有项目S’ ( ? S,显然S是可以被DFA读进的。 归纳:若v (Prefix,且v可以被DFA读进,则v的前缀可以被DFA读进也是显然的。 若v (Prefix,且可以将v写成 (B(,其中B为非终结符并有产生式B ( β。设DFA在从初态I0读进 ( 后进入状态I。因为v=(B( 可以被DFA读进,所以在状态I可以读进B,根据DFA的构造过程,一定存在项目C ( ( ? B ( ’ (I。由闭包的计算过程,可知一定有B ( ? β (I,因此β是从I开始后续的可读串。所以,从初态I0开始,(β的任一前缀u都是可读进的。 命题1证毕。 命题2可归纳于DFA可读序列的长度n来证明。 基础:n=0。显然空序列ε是活前缀。 归纳:设 (X 是DFA可读序列,且((X (= n +1,其中X是某个文法符号。在读过 ( 后,DFA一定处于状态I,在此状态下X是可读的。根据DFA的构造过程,一定存在项目C (β ? X ( (I。该项目或者是基本项目,或者是通过闭包计算得到的项目。下面分这两种情形来讨论。 1) C (β ? X ( 是基本项目。 若(β(= 0,则该项目只能是S’ ( ? S,此时(X = S显然是活前缀。 若(β(= m ≠ 0,则DFA从状态I0读进n - m个符号的序列μ后进入状态I’,且必定有C ( ? βX ( (I’。 根据DFA的构造过程,一定存在项目B ( ? C ( ’ ( I’。这样在状态I’下,可以读进B。因为(μB(≤n,由归纳假设,可知μB是活前缀。因此,由活前缀集合的归纳定义,得知μβX = (X是活前缀。 2) C (β ? X ( 是通过闭包计算得到的项目。 此时,β一定为空序列,而项目C ( ? X (一定是由I中的某个基本项目B ( μ ? C0 ( 直接或间接地通过闭包计算序列得到的:C0 ( ? C1 (1,C1 ( ? C2 (2,( ,Ck ( ? C (k+1。由1)的讨论结果,可知 ( C0 是活前缀。从而 (C1,(C2,( ,(Ck 都是或前缀,(C 也是活前缀。所以,(X是活前缀。 命题2证毕。

文档评论(0)

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

教师资格证持证人

自强不息,止于至善!

领域认证该用户于2025年08月05日上传了教师资格证

1亿VIP精品文档

相关文档