- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7编译原理第章
*;第七章 语义分析和中间代码的产生;翻译为中间语言的好处;主要内容;7.1中间语言 ;7.1.1 后缀式;后缀式的优点;后缀式特点:
无括号
运算对象的顺序与中缀式一致
根据操作符(运算符)的优先级和结合性进行相关的处理
例: 5+4*6
5 4 6 *+;;7.1.2 图表示法;5+4*6的DAG图;后缀式与抽象语法树的关系;抽象语法树的存储表示;7.1.3 三地址代码;2.三地址语句的种类
作为中间语言的三地址语句非常类似于汇编代码,它可以有符号标号和各种控制流语句。常用的三地址语句有以下几种:
(1) ?x=y op z形式的赋值语句,其中op为二目的算术运算符或逻辑运算符。
(2) ?x=op y形式的赋值语句,其中op为一目运算符,如一目减uminus、逻辑否定not、移位运算符以及将定点数转换成浮点数的类型转换符。;(3) ?x=y形式的赋值语句,将y的值赋给x。
(4) 无条件转移语句goto L,即下一个将被执行的语句是标号为L的语句。
(5) 条件转移语句if x rop y goto L,其中rop为关系运算符,如、=、==、!=、、=等。若x和y满足关系rop就转去执行标号为L的语句,否则继续按顺序执行本语句的下一条语句。
;(6) 过程调用语句par X和call P,n。源程序中的过程调用语句P(X1、X2、…,Xn)可用下列三地址代码表示:
par X1
par X2
par Xn
call P,n
其中,整数n为实参个数。
过程返回语句为return y,其中y为过程返回值。; (7) 变址赋值语句x=y[i],其中x、y、i均代表数据对象,表示把从地址y开始的第i个地址单元中的值赋给x。x[i]=y则表示把y的值赋给从地址x开始的第i个地址单元。
(8) 地址和指针赋值语句
① x=y表示将y的地址赋给x,y可以是一个名字或一个临时变量,而x是指针名或临时变量;
② x=*y表示将y所指示的地址单元中的内容(值)赋给x,y是一个指针或临时变量;
③ *x=y表示指将x所指对象的值置为y的值。;三地址码示例;三地址码示例(2); 3.三地址代码的具体实现
三地址代码是中间代码的一种抽象形式。在编译程序中,三地址代码语言的具体实现通常有三种表示方法:四元式、三元式和间接三元式。
1) 四元式
四元式是具有四个域的记录结构,这四个域为
(op,arg1,arg2,result)
其中,op为运算符;arg1、arg2及result为指针,它们可指向有关名字在符号表中的登记项或一临时变量(也可空缺)。;常用的三地址语句与相应的四元式对应如下:
x=y op z 对应(op, y, z, x)
x=?y 对应(uminus, y, _, x)
x=y 对应(=, y, _, x)
par x1 对应(par, x1, _, _)
call P 对应(call, _, _, P)
goto L 对应(j, _, _, L)
if x rop y goto L 对应(jrop, x, y, L);例如,赋值语句a=b*(c+d)相应的四元式代码为:
① (+,c,d,t1)
② (*,b,t1,t2)
③ (=,t2,_,a)
我们约定:凡只需一个运算量的算符一律使用arg1。
此外,注意这样一个规则:如果op是一个算术或逻辑运算符,则result总是一个新引进的临时变量,它用来存放运算结果。
由上例也可看出,四元式出现的顺序与表达式计值的顺序是一致的,四元式之间的联系是通过临时变量实现的。四元式由于其表示更接近程序设计的习惯而成为一种普遍采用的中间代码形式。;三地址代码的具体表示;解答:逆波兰式为:ab≤a0>∧b0<∨
写出等价的四元式表示
1. (≤
您可能关注的文档
- 5第五章 证投资的基本分析(经济分析)-杨虎锋.ppt
- 600MW+组锅炉高温受热面氧化皮剥落原因分析及防治措施.pdf
- 6.几种离散变量的分布及其应用.ppt
- 6.1 PP原理与配置.pdf
- 6.无机聚合混凝土路面板不同龄期抗压性能试验研究_范小春.pdf
- 5无序分类资的统计分析.pdf
- 620813306基础工程.doc
- 660MW超临界机组汽轮机轮机组轴系安装工艺控制研究.pdf
- 6 工作台椅手握工具设计2.ppt
- 6CTP版材制作技术.ppt
- 2024年企业人力资源管理师之二级人力资源管理师模拟考试试卷A卷含答案完整版720780578.pdf
- 2024年检验类之临床医学检验技术(师)全真模拟考试试卷B卷含答案优质 完整版720844645.pdf
- 2024年四川省成都市第七中学初中学校中考一模物理试题(解析版).pdf
- 2024年二级建造师之二建水利水电实务过关检测试卷B卷附答案 .pdf
- 2024年教师资格之中学思想品德学科知识与教学能力综合检测试卷A卷含完整版720848701.pdf
- 2024年教师信息技术2.0教研组研修计划(优秀模板6篇)(6) .pdf
- 2024年教师资格之幼儿综合素质通关提分题库及完整答案 .pdf
- 2024年心理咨询师之心理咨询师基础知识通关提分题库及完整答案完整版720794806.pdf
- 2024年消防设施操作员之消防设备初级技能题库附答案(典型题).pdf
- 2024年小学信息技术工作计划样本(三篇) .pdf
最近下载
- 国家开放大学51679-工具书与文献检索-形成性考核3答案.docx
- TDS检测电路探讨.pdf
- 广告中介相关行业公司成立方案及可行性研究报告.docx
- acr系列网络多功能电力仪表安装使用说明书.docx
- 厦门开放大学《体育健身原理与方法》期末形考试卷-null分.doc VIP
- 2024行政执法人员考试题库及答案 .pdf
- 2024届高考写作指导:“知道的越多是否越容易做出判断”审题立意+.docx
- 概率论与数理统计(西北工业大学)中国大学MOOC慕课章节测验答案.pdf
- 读书分享叶圣陶《稻草人》作者简介名著导读PPT模板.pptx
- 3D工程图学_华中科技大学中国大学mooc课后章节答案期末考试题库2023年.docx
文档评论(0)