- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
中间代码优化(IntermediateCodeOptimization)在不改变源程序语义的前提下变换或改造中间代码,使生成的目标代码更为高效,即缩短运行时间或节省存储空间。主要的优化方式包括:常量表达式优化公共子表达式优化不变表达式的循环外提削减运算强度等第29页,共41页,星期日,2025年,2月5日第1页,共41页,星期日,2025年,2月5日参考书目1AlfredV.AhoRaviSethiJeffreyD.Ullman《Compilers:Principles,Techniques,andTools》人民邮电出版社。2KennethC.Louden著冯博琴冯岚等译《CompilerConstructionPrinciplesandPractice》机械工业出版社。3金成植著,《编译原理及实现》,高等教育出版社。4吕映芝,《编译原理》,清华大学教育出版社。第2页,共41页,星期日,2025年,2月5日第一章编译引论主要内容:几个基本概念:翻译程序汇编程序编译程序源程序目标程序 编译器的组成结构、各部分之间的逻辑关系和主要功能;编译程序的实现途径;与编译程序相关的其他程序;编辑器预处理器连接程序装配程序调试程序第3页,共41页,星期日,2025年,2月5日1.1程序设计语言和编译程序从第一台计算机问世至今,半个多世纪以来,程序设计语言经历了由低级向高级的发展,从最初的机器语言、汇编语言,发展到较高级程序设计语言直至今天的第四代、第五代高级语言。一、程序设计语言(一)低级语言机器语言由能被计算机的硬件系统直接执行的机器指令组成,每条机器指令是一串二进制代码,用机器语言编写出来的程序是一串二进制代码序列。例:x+15xyY=x-15否则第4页,共41页,星期日,2025年,2月5日用Pentium机器语言编写如下程序片段:1010100100010110000000010011110000011000000000010111110000000101 001011010001010100000000 1110101000000011 000001010001010100000000 010100110001100000000001….. 0000000000000000 0000000000000000 机器语言的特点:优点:执行速度快;缺点:难学、难记忆、难理解;机器语言程序依赖于具体的机器,不具备移植性;第5页,共41页,星期日,2025年,2月5日汇编语言将硬件指令用一些助记符表示。如ADD表示加法操作,SUB表示减法操作等等。用Pentium汇编语言编程示例: MOVAX,X CMPAX,Y JLS1 SUBAX,15 JMPS2S1: ADDAX,15S2: MOVY,AX….. XDW YDW第6页,共41页,星期日,2025年,2月5日汇编语言的优点:比机器语言较易学、易记忆及易理解;汇编语言的缺点:汇编语言程序依赖于具体的机器,不具备移植性;第7页,共41页,星期日,2025年,2月5日(二)高级语言高级语言:把便于理解的自然语言和数学语言结合在一起而形成的程序设计语言。高级语言编程示例:if(XY)thenY:=X+15elseY:=X-15;高级语言的优点:比汇编语言更容易学,以人为本,面向自然表达,易学、易用、易理解、易修改;高级语言程序不依赖于具体的机器,具备移植性。第8页,共41页,星期日,2025年,2月5日高级程序设计语言分类: 1、程序设计语言按功能分类:科学计算用语言商用语言表处理语言图形语言公式处理语言串处理语言多用途语言2、按处理问题模式分类: 过程式语言函数式语言逻辑式语言对象式语 3、按执行模式分类:顺序语言并行语言第9页,共41页,星期日,202
原创力文档


文档评论(0)