编译原理实践及应用第1章编译原理概述

编译原理实践及应用第1章编译原理概述

ID:38650180

大小:1.00 MB

页数:42页

时间:2019-06-17

编译原理实践及应用第1章编译原理概述_第1页
编译原理实践及应用第1章编译原理概述_第2页
编译原理实践及应用第1章编译原理概述_第3页
编译原理实践及应用第1章编译原理概述_第4页
编译原理实践及应用第1章编译原理概述_第5页
资源描述:

《编译原理实践及应用第1章编译原理概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理实践及应用主讲人:董明刚d2015mg@qq.com,1360773197623八月2021第2页教材及主要参考资料教材:编译原理实践及应用,黄贤英,清华大学出版社主要参考资料:编译原理,陈火旺,国防工业出版社编译原理(原书第2版)(龙书),ALFREDV.AHOetc著,赵建华郑滔等译,机械工业出版社,2008.12程序设计语言编译方法,肖军模,大连理工大学出版社编译原理,张素琴,吕映芝,清华大学出版社更多教材及参考资料参见编译原理精品课程网站。C语言程序voidmain(){intx,y,z;x=3;y=2;z=x+y;}内存地址内存内容单元名字………………200H3x:局部变

2、量202H2y:局部变量204H5z:局部变量…………300H3A03302H3AE1304H3A02306H3AE2308HDA6C......3A71汇编语言程序movax,3movx,axmovbx,2movy,bxaddax,bxmovz,ax......序言在内存中:数据区代码区?编译原理概述第一章23八月2021第5页本章要求主要内容:各种翻译程序的概念,编译过程和阶段划分,编译程序的组成和结构,编译程序的构造方法重点掌握:编译程序工作的基本过程及其各阶段的基本任务,编译程序总框。23八月2021第6页1.1程序设计语言与翻译程序机器语言(machinelanguage)C70

3、600000002汇编语言(assemblerlanguage)MOVX,2高级语言(high-levellanguage)X=2为什么要使用编译程序?23八月2021第7页机器语言(machinelanguage)C70600000002汇编语言(assemblerlanguage)MOVX,2高级语言(high-levellanguage)X=2为什么要使用编译程序?23八月2021第8页计算机中的语言层次和翻译程序23八月2021第9页什么叫翻译程序翻译程序:能够将某种语言写的程序转换成另一种语言的程序,而且后者与前者在逻辑上是等价的。编译程序:将高级程序设计语言程序翻译成逻辑上等价

4、的低级语言(汇编语言,机器语言)程序的翻译程序。解释程序:将高级程序设计语言写的源程序作为输入,边解释边执行源程序本身,而不产生目标程序的翻译程序。23八月2021第10页高级语言语言处理程序操作系统汇编语言翻译程序所处的层次计算机硬件C编译程序C语言Basic解释程序Basic语言Fortran编译程序Fortran语言............23八月2021第11页编译程序编译程序源程序目标程序计算机运行输入数据结果解释程序解释程序源程序输入数据结果23八月2021第12页对编译程序的一些说明编译程序实质上是一个翻译程序,要注意等价变换本课程的任务就是讲解在这个转换过程中所涉及到的一些

5、理论和方法,最后,使用这些理论和方法,自己编写一个小的编译器转换是一个总体的功能,要抓住总体结构,逐层细分,写编译器时要体现软件工程中软件设计的原则,自顶向下,逐层分解。编译器要完成的转换任务相当复杂,实现编译器时必须分步骤分阶段实现。分阶段实现的好处是能够简化程序的设计,当然也可以不分阶段实现。23八月2021第13页编译程序的分类诊断编译程序优化编译程序可变目标编译程序交叉编译程序23八月2021第14页编译器的伙伴编辑器(editor)预处理器(Preprocessor)将源程序汇集到一起,宏展开等汇编程序(assembler)连接程序(linker)连接系统函数与系统资源装入程序(

6、loader)重定位(relocation)Debugger,Profiler,ProjectManager23八月2021第15页编译原理是讨论编译程序设计的基本理论、基本概念、基本方法什么是编译原理23八月2021第16页1.2编译过程概述1、逻辑上分五个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成每个阶段把源程序从一种表示变换成另一种表示词法分析语法分析语义分析与中间代码生成代码优化目标代码生成23八月2021第17页按照词法分析、语法分析、语义分析等这种方式来划分阶段的原因是:每个阶段的复杂程度不同,所依据的理论基础不同,实现时采用的方法也不同。主要是方

7、便理解和实现。划分阶段的依据是什么?每个阶段所实现的功能相对独立。用一个例子说明各阶段的功能23八月2021第18页/*一个PASCAL语言的源程序*/programtest;/*thisisanexample,computinganarea*/vararea,length,width:integer;beginlength:=5;width:=5;area:=5+length*width+length*widthend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。