关于用LR1方法编程数据结构的简述.pptVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于用LR1方法编程数据结构的简述

关于用LR1方法编程数据结构的简述 LR1项目可以表示为:数字_数字,例如 可以用 0_1 其中用0可以在LR0Table中找到S??.S ,用1可以在终极符中找到#,那么0_1就表示S??.S ,# 这样在LR1项目集族的建立过程中就能建立这样一个LR1项目的数组,例如: string LR1Table[]={“0_1”,”0_2”,……} 这样对每一个元素都能得到相应的LR1项目。 LR1项目集的表示: 从上我们可以看出用数字表示LR1项目,那么就可以用一个数字串表示LR1项目集,比如有一个LR1项目集是: (1)S??.S ,# (2)S?.L=R ,# (3)S?.R ,# 这样就可以用一个0_3_5来表示LR1项目集,比如用3可以从LR1项目数组中找到5_1,然后再用5可以在LR0项目数组中找到S?.L=R ,用1在终极符中找到#。 相应地会有一个LR1项目集数组,那么也就可以用一个数字表示相应的LR1项目集。 例如fxAction[0][3]=2 0表示LR1项目集状态0 3表示终极符id 2表示移入的LR1项目集 假若fxAction[0][3]=-11 那么-11+10再取相反数为1即表示规约1推导式 * * 首先在文法处理中,程序就建立了一个非终极符和终极符得数组 比如输入文法:S’?S , S ? L=R , S ? R , L ? *R, L ? id , R ? L 非终极符有: S’, S , L ,R 那么有这样一个数组: string noter[]={“S ’”,”S”,”L”,” R”},这样就可以用0表示S’,1表示S, 2表示L,…… 同样地终极符也是如此处理 文法推导式的表示:类似地要建立一个文法表,比如 string wenfa[]={“S’?S” , “S ? L=R” , “S ? R” , “L ? *R”, “ L ? id” , “R ? L”},那么可以用1表示S ? L=R这个文法推导式 LR0项目的表示: 推得文法推导式后,然后对每一个文法推导式生成LR0项目,比如S ? L=R可以生成如:S ?.L = R , S ?L. = R , S ?L =. R , S ?L = R. 的LR0项目,相应地要建立一个string LR0Table[] ={….. ”S ?.L = R” , “S ?L. = R” , “S ?L =. R” , “S ?L = R.”…….. } 这样就可以用数字表示相应的LR0项目了。 比如:2对应 S ?.L = R 即LR0Table[2]=“S ?.L = R ” 注意的是:. 应该用一个特殊的字符来表示,或者在程序中特殊处理,否则文法推导式中要是有.会出错。 注意的是:因为LR1项目的个数是不定的,所以要加入特殊的处理,比如先根据建立一个比较大的缓冲,最后再生成最后的LR1项目数组,或者用动态存储技术。 注意: LR1项目集数组中的数字串一定要是用升序表示,这样有利于处理。 这样分析表就可以建立了 用一个二维数组表示: int fxAction[][]; 用数字表示移入或规约还有出错状态 定义如下:〉=0的表示移入 -1表示出错 文法推导式的编号相反数减10即为规约

文档评论(0)

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

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

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档