- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译系统中,有时将四元式表示成另一种更直观,更易理解的形式——三地址代码或三地址语句。 result := arg1 OP arg2 三地址语句:语句中是三个量的赋值语句, 每个量占一个地址。 三地址代码形式定义为: 第5章 语法制导翻译技术和中间代码生成 例如 X= a*b+c/d 的 四元式序列: (1) ( *, a, b, T1 ) (2) ( /, c, d, T2 ) (3) ( +, T1, T2, T3 ) (4) ( =, T3, -, X ) 相应的三地址语句序列为: (1)T1=a*b (2)T2=c/d (3)T3=T1+T2 (4)X=T3 第5章 语法制导翻译技术和中间代码生成 例1. –a + b * ( –c + d )的逆波兰式 a@ bc @ d + * + 第5章 语法制导翻译技术和中间代码生成 t1= @ a t2= @ c t3= t2 + d t5= t1+ t4 –a + b * ( –c + d )的四元式表示 t4= b* t3 第5章 语法制导翻译技术和中间代码生成 i↑( i /( i – i ) )的逆波兰式 i↑( i /( i – i ) )的四元式 t1= i – i t2= i / t1 t3= i ↑ t2 i i i i – /↑ 例2. 第5章 语法制导翻译技术和中间代码生成 语义函数 emit(T=arg1 OP arg2) 功能是生成一个三地址语句,并送到输出文件中。 语义函数 newtemp( ) 功能是产生一个新的临时变量名字,并回送新的临时变量名的整数码。如T1,T2等。 5.5.1 简单算术表达式和赋值语句的翻译 (2) 不进符号表,临时变量单词值部 分用整数码表示。 (1) 送到符号表。 对临时变量有两种不同的处理方法: 第5章 语法制导翻译技术和中间代码生成 语义过程 Lookup(i.name) 功能是审查i.name是否出现在符号表中,在则返回其指针,否则返回NULL。 语义变量 E.place 表示存放非终结符E值的变量名在符号表中的入口地址或临时变量名的整数码。 第5章 语法制导翻译技术和中间代码生成 1. E → E(1) + E(2) 2. E → E(1) * E(2) { E.place = newtemp( ); emit(E.place’=’E(1).place’+’E(2).place ) } { E.place = newtemp( ); emit(E.place’=’E(1).place’*’E(2).place ) } 第5章 语法制导翻译技术和中间代码生成 3. E →(E(1)) { E.place = E(1).place;} 4. E → i { p = Lookup (i.name); if (p != NULL) E.place = p; else error( ); } 第5章 语法制导翻译技术和中间代码生成 5. A→i=E { p = Lookup (i.name); if (p != NULL) emit(p’=’E.place; ) else error( ); } 5.5.2布尔表达式到四元式的翻译 一.布尔表达式的文法 ● 计算逻辑值 程序设计语言中布尔表达式有两个作用: ● 用作控制语句中的条件式 布尔表达式是由布尔算符(∧、∨和?)施于布尔变量或关系表达式而成。 布尔表达式到四元式的翻译 E→ E (1)∨ E (2) E→ E (1)∧ E (2) E→ ? E (1) E→ ( E (1) ) E→ i (1) rop i (2) E→ i 布尔表达式到四元式的翻译 二. 布尔表达式的计值方法 1. 如同计算算术表达式一样,步步计算出各部分真、假值,最后计算出整个表达式的值。 2. 根据布尔运算的特殊性,采取某种优化措施,可避免计算整个表达式的值。 布尔表达式到四元式的翻译 A∨B 解释成 A∧B 解释成 ? A
您可能关注的文档
- 博弈论与信息经济学讲义09-2.ppt
- 材料物理(热学)3.ppt
- 第06章_树型结构[1].ppt
- 第八讲+汉字的规范化.ppt
- 第一章+组合优化模型.ppt
- 模块一之人力资源管理概论.ppt
- 可编程控制软体培训教材PG5软件介绍.ppt
- 04物流配送管理.ppt
- 电工学-第11章电力电子技术.ppt
- 第一课-LINUX基础知识.ppt
- 新视野二版听说1第6单元示范1课件.ppt
- 【参考答案】 联络口译(第二版) 《联络口译》(第二版)参考答案.pdf
- 梅大高速茶阳路段“5·1”塌方灾害调查评估报告.docx
- 虹吸雨水PE管施工节点标准做法.pdf
- 2025消防设施施工质量常见通病防治手册,典型图示+规范要求.pptx
- 新视野大学英语(第二版)读写教程 4 空军工程大学编U05B.ppt
- E英语教程2(智慧版)Unit 6.pptx
- E英语教程3(智慧版)Unit 7.ppt
- 新视野二版读写1第4单元课件Section A How to Make a Good Impression.pptx
- E英语视听说教程4(智慧版)4-U2课件(2024版)U2.pptx
最近下载
- 【新人教部编版】三年级语文下册11《赵州桥》(导学案+预学案+教案+实录+测评+拓展).doc VIP
- 惠东县某水闸工程安全鉴定汇报.ppt
- 抢救护理书写规范.pptx
- 急救技能—心肺复苏(2024版).pptx
- 高中英语北师大版必修二UNIT 6 Period 4 Lesson 2 History Makers.pptx VIP
- 《应用随机过程》课程思政教学案例(一等奖).docx
- 日立hiacs5000m系统简要介绍.pptx VIP
- 大型结构柱地震荷载模拟试验加载装置的设计与分析-土木工程专业论文.pdf.docx
- 无人机航空摄影测量数据获取与处理(下篇,共上中下3篇).pptx VIP
- 小学生药品安全课件视频.pptx VIP
文档评论(0)