网站大量收购独家精品文档,联系QQ:2885784924

网页制作技巧chapter5语法制导翻译.pptxVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多

AB介绍一种形式化的语义描述方法:语法制导的翻译,包括它的两种具体形式:语法制导的定义和翻译方案。A介绍语法制导的翻译的实现方法。B本章内容第五章语法制导翻译

第五章语法制导翻译翻译的任务:语义分析和正确性检查,若正确,则翻译成中间代码或目标代码。使用的方法:称作语法制导翻译。基本思想:根据翻译的需要设置文法符号的属性,以描述语法结构的语义。例如,一个变量的属性有类型,层次,存储地址等。表达式的属性有类型,值等。属性值的计算和产生式相联系。随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。

属性:代表与文法符号(Vt或Vn)相关的信息。????属性可以为任何特性。??例如:变量的类型、层次,存储地址;表达式类型,值;程序的目标代码等。值:是指与属性相关的信息,可以在语法分析过程中计算和传递。的表示:?X.属性值。?产生式的左、右部有相同的符号时用下标或上标来区别。例:E→E1+T{E.val:=E1.val+T.val}第五章语法制导翻译

语义规则(属性等式)1每一个产生式(规则)配备的计算属性的计算规则。2文法3每个符号引入一组属性,且让该文法附加上语义规则时,构成了属性文法。4:5生式)???????????语义规则6????????相关的属性等式7?????????????????...8????????相关的属性等式9第五章语法制导翻译

特例:开始符号没有继承属性,在开始时要确定;终极符则只能有综合属性,而不能有继承属性。非终结符既可有综合属性也可有继承属性属性值分类据计算的依赖关系分成不相交的两类:综合属性(synthesizedattribute)在分析树中,一个结点的综合属性值是从其子结点的属性值计算出来的继承属性(inheritedattribute)一个结点的继承属性值是由该结点兄弟结点和父结点的属性值计算出来的。

图语法制导翻译的概观输入符号串分析树依赖图语义规则的计算一般来说,语义翻译可按图的流程处理。实际上,编译中语义翻译的实现并不是按图6.1的流程处理的;而是随语法分析的进展,识别出一个语法结构,就对它的语义进行分析和翻译。

4.1语法制导的定义例 简单台式计算器的语法制导定义产生式语义规则L?Enprint(E.val)E?E1+TE.val:=E1.val+T.valE?TE.val:=T.valT?T1*FT.val:=T1.val*F.valT?FT.val:=F.valF?(E)F.val:=E.valF?digitF.val:=digit.lexval

语法制导定义是对上下文无关文法的推广5.1.1语法制导定义的形式每个文法符号有一组属性每个文法产生式A??有一组形式为b:=f(c1,c2,…,ck)的语义规则,其中f是函数,b和c1,c2,…,ck是该产生式文法符号的属性。综合属性:如果b是A的属性,c1,c2,…,ck是产生式右部文法符号的属性或A的其它属性。继承属性:如果b是产生式右部某个文法符号X的属性。属性b依赖于属性c1,c2,…,ck

5.1.2综合属性S属性定义:仅仅使用综合属性的语法制导定义产生式语义规则L?Enprint(E.val)E?E1+TE.val:=E1.val+T.valE?TE.val:=T.valT?T1*FT.val:=T1.val*F.valT?FT.val:=F.valF?(E)F.val:=E.valF?digitF.val:=digit.lexval

5.1.2综合属性每个结点的属性值都标注出来的分析树叫做注释分析树(annotatedparsetree)8+5*2n的注释分析树digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=5

5.1.2综合属性分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=

文档评论(0)

135****6917 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档