ch05--语法制导翻译技术市公开课一等奖百校联赛优质课金奖名师赛课获奖课件.pptVIP

ch05--语法制导翻译技术市公开课一等奖百校联赛优质课金奖名师赛课获奖课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共85页,可阅读全部内容。
  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文档。上传文档
查看更多

第5章语法制导翻译技术;语法制导翻译技术;语法制导翻译技术;5.1语法制导定义及翻译方案;内容安排;一、语法制导定义;语义规则;简单算术表示式求值语法制导定义;综合属性;3*5+4n分析树加注释过程;继承属性;一个带有继承属性L.in语法制导定义;语句realid1,id2,id3分析树加注释;二、依赖图;算法5.1结构依赖图;依赖图结构举例;三、计算次序;计算次序;语法制导翻译过程;四、L属性定义和L属性定义;例:非L属性定义

语法制导定义;属性计算次序——深度优先遍历分析树;五、翻译方案;例:一个简单翻译方案

E?TR

R?addopT{print(addop.lexeme)}R1|?

T?num{print(num.val)};翻译方案设计;为L属性定义设计翻译方案标准;例:考虑以下翻译方案

S?A1A2{A1.in=1;A2.in=2}

A?a{print(A.in)};例:为以下L属性定义设计翻译方案;把语义规则插入到产生式中适当位置;5.2S-属性定义自底向上翻译;一、语法树;语法树示例;二、结构表示式语法树;结构函数;;三、结构表示式语法树语法制导定义;结构表示式语法树语法制导定义;表示式a-4+c语法树结构;四、表示式有向非循环图(dag);为表示式a+a*(b-c)+(b-c)*d结构dag;五、S-属性定义自底向上实现;扩充分析栈;修改分析程序;例:用LR分析程序实现表示式求值;对3*5+4n进行分析动作序列;步骤输入分析栈分析动作

(8)+4nstate:02

val:-15归约,用E?T

(9)+4nstate:01

val:-15移进

(10)4nstate:016

val:-15-移进

(11)nstate:0165

val:-15-4归约,用F?digit

(12)nstate:0163

val:-15-4归约,用T?F

(13)nstate:0169

val:-15-4归约,用E?E+T

(14)nstate:01

val:-19接收

;5.3L-属性定义自顶向下翻译;一、消除翻译方案中左递归;R1.i语义规则为:R1.i=R.i+T.val

R.s语义规则为:R.s=R1.s

于是得到:

(3?)R?+T{R1.i=R.i+T.val}

R1{R.s=R1.s}

一样可得到:

(2?)R?-T{R1.i=R.i-T.val}R1{R.s=R1.s};翻译方案;消除翻译方案中左递归普通方法;例:考虑建立表示式语法树语法制导定义;结构表示式语法树翻译方案;使用继承属性结构a-4+c语法树;二、预测翻译程序设计;按照从左到右次序考虑产生式右部记号、非终止符号和语义动作

对带有综合属性x记号X

把属性x值保留于为X.x申明变量中

产生一个匹配记号X调用

推进扫描指针

对非终止符号B

产生一个函数调用语句c=B(b1,b2,…,bk)

bi(i=1,2,…,k)是对应于B继承属性变量

c是对应于B综合属性变量

对每一个语义动作

把动作代码复制到分析程序中

用代表属性变量代替翻译方案中引用属性;例:为结构表示式语法树翻译方案

结构翻译程序;与R?addopTR|?对应分析过程;实现翻译方案函数;5.4L属性定义自底向上翻译;一、从翻译方案中去掉嵌入动作;例:去掉以下翻译方案中嵌入动作:

E?TR

R?+T{print(?+?)}R|-T{print(?-?)}R|?

T?num{print(num.val)};变换前、后翻译方案是等价;变换后,表示式3+4-5分析树:;二、分析栈中继承属性;复制规则主要作用;例:应用继承属性,用复制规则传

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档