- 1、本文档共126页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国科大 第七章 中间代码生成 本章内容 介绍几种常用的中间表示:后缀表示、图形表示和三地址代码 用语法制导定义和翻译方案的方法来说明程序设计语言的结构怎样被翻译成中间形式 7.1 中 间 语 言 7.1.1 后缀表示 表达式E的后缀表示可以如下归纳定义 如果E是变量或常数,那么E的后缀表示就是E本身。 7.1 中 间 语 言 7.1.1 后缀表示 表达式E的后缀表示可以如下归纳定义 如果E是变量或常数,那么E的后缀表示就是E本身。 如果E是形式为E1 opE2的表达式,那么E的后缀表示是E1? E2? op,其中E1?和E2?分别是E1和E2的后缀表示。 7.1 中 间 语 言 7.1.1 后缀表示 表达式E的后缀表示可以如下归纳定义 如果E是变量或常数,那么E的后缀表示就是E本身。 如果E是形式为E1 opE2的表达式,那么E的后缀表示是E1? E2? op,其中E1?和E2?分别是E1和E2的后缀表示。 如果E是形式为(E1)的表达式,那么E1的后缀表示也是E的后缀表示。 7.1 中 间 语 言 后缀表示不需要括号 (8 ? 4) + 2 的后缀表示是8 4 ?2 + 7.1 中 间 语 言 后缀表示不需要括号 (8 ? 4) + 2 的后缀表示是8 4 ?2 + 后缀表示的最大优点是便于计算机处理表达式 7.1 中 间 语 言 后缀表示不需要括号 (8 ? 4) + 2 的后缀表示是8 4 ?2 + 后缀表示的最大优点是便于计算机处理表达式 后缀表示很容易拓广到含一元算符的表达式 7.1 中 间 语 言 后缀表示不需要括号 (8 ? 4) + 2 的后缀表示是8 4 ?2 + 后缀表示的最大优点是便于计算机处理表达式 后缀表示很容易拓广到含一元算符的表达式 后缀表示也可以拓广到表示赋值语句和控制语句,但很难用栈来描述它的计算 7.1 中 间 语 言 7.1.2 图形表示 语法树是一种图形化的中间表示 7.1 中 间 语 言 7.1.2 图形表示 抽象语法树是一种图形化的中间表示 有向无环图也是一种中间表示 7.1 中 间 语 言 构造赋值语句抽象语法树的语法制导定义 7.1 中 间 语 言 7.1.3 三地址代码 一般形式:x = y op z 表达式x + y ? z翻译成的三地址语句序列是 t1 = y ? z t2 = x + t1 7.1 中 间 语 言 三地址代码是抽象语法树或dag的一种线性表示 a = (?b + c?d ) + c?d 抽象语法树的代码 t1 = ?b t2 = c ? d t3 = t1 + t2 t4 = c ? d t5 = t3 + t4 a = t5 7.1 中 间 语 言 三地址代码是语法树或dag的一种线性表示 a = (?b + c?d ) + c?d 语法树的代码 dag的代码 t1 = ?b t1 = ?b t2 = c ? d t2 = c ? d t3 = t1 + t2 t3 = t1 + t2 t4 = c ? d t4 = t3 + t2 t5 = t3 + t4 a = t4 a = t5 7.1 中 间 语 言 本书常用的三地址语句 赋值语句x = y op z, x = op y, x = y 无条件转移goto L 条件转移if x relop y goto L 过程调用param x 和call p , n 过程返回 return y 索引赋值x = y[i]和 x[i] = y 地址和指针赋值x = y,x = ?y和?x = y 7.1 中 间 语 言 赋值语句生成三地址代码的属性文法 7.1 中 间 语 言 赋值语句生成三地址代码的属性文法 7.1 中 间 语 言 赋值语句生成三地址代码的属性文法 7.1 中 间 语 言 赋值语句生成三地址代码的属性文法 7.1 中 间 语 言 赋值语句生成三地址代码的属性文法 7.1 中 间 语 言 赋值语句生成三地址代码的属性文法 7.1 中 间 语 言 三地址代码的具体表现形式: 四元式 三元式 间接三元式 7.1 中 间 语 言 四元式:a = b * -c + b * -c 7.1 中 间 语 言 三元式:a = b * -c + b * -c 7.1 中 间 语 言 间接三元式:a = b * -c + b * -c 7.1 中 间 语 言 练习: 将表达式: -(a+b)*((c+d)-(a+b+c)) 分别表示成:后缀式、抽象语
您可能关注的文档
- 2016年高三第一轮复习金版教程十大热点专题系列9带电粒子在复合场中常见的三种轨迹方案.ppt
- 综合实践封皮.doc
- 永乐大典的流传及现存情况.pptx
- 2016年高中地理区域地理第2单元世界地理第5讲东亚-日本中亚课件方案.ppt
- 综合实践活动《民族团结一家亲》课件.ppt
- 2016年集体备课湘教版八年级上册3.3《中国的水资源》课件(共60张PPT)方案.ppt
- 2016年高考(新课标I)理综物理部分(带答案)方案.doc
- 2016年高中地理区域地理第2单元世界地理第1讲世界陆地和海洋课件方案.ppt
- 2016年高考(江苏卷)方案.doc
- 2016年高考一轮复习第一课生活在人民当家作主的国家1方案.ppt
文档评论(0)