《编译原理课程教案》第1章:编译原理概述

《编译原理课程教案》第1章:编译原理概述

ID:21650457

大小:926.50 KB

页数:45页

时间:2018-10-19

《编译原理课程教案》第1章:编译原理概述_第1页
《编译原理课程教案》第1章:编译原理概述_第2页
《编译原理课程教案》第1章:编译原理概述_第3页
《编译原理课程教案》第1章:编译原理概述_第4页
《编译原理课程教案》第1章:编译原理概述_第5页
资源描述:

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

1、编译原理实践及应用----中南大学肖健宇05七月2021第2页教材及主要参考资料教材:编译原理实践及应用,黄贤英,清华大学出版社主要参考资料:(1)编译原理,陈火旺,国防工业出版社(2)程序设计语言编译方法,肖军模,大连理工大学出版社(3)编译原理,张素琴,吕映芝,清华大学出版社(4)编译原理,alfredV.Aho等著,李建中等译,人民邮电出版社05七月2021第3页序言05七月2021第4页C语言程序voidmain(){intx,y,z;x=3;y=2;z=x+y;}什么是编译?从程序员可以理解的高级语言程序到机器可以理解的机器语言程序的自动翻译过程。0

2、5七月2021第5页汇编语言程序……movax,3movx,axmovax,2movy,axmovax,xmovbx,yaddax,bxmovz,ax......300302304306308……内存地址内存内容单元名字………………200H3x:局部变量201H2y:局部变量202H5z:局部变量…………机器码05七月2021第6页为什么要学习编译原理?1、有助于深刻理解和正确使用程序设计语言,加深对高级语言程序执行过程的理解2、有助于加深对整个计算机系统的理解。3、设计开发编译程序的软件技术同样可以用于其他软件的设计开发。4、随着微处理器技术的飞速发展,处理

3、器性能在很大程度上取决于编译器的质量、编译技术成为计算机的核心技术,地位变得越来越重要。05七月2021第7页《编译原理》课程在计算机科学中的重要地位(1)学习编程最初是学习一门高级语言,C或Pascal,掌握编写一些简单程序的方法;(2)学习数据结构,建立“算法”的概念,对编程有更深入的理解。遇到问题的时候,能够寻找相应的数据结构模型,设计适当的算法来解决问题;(3)学习汇编语言,这门课程是我们真正深入了解计算机内部工作的第一门课程。通过学习了解汇编语言如何变为机器语言,如何对应于一条指令;(4)计算机组成原理课程的学习使我们了解到计算机的硬件组成,以及机器

4、指令程序如何在计算机中运行的过程。(5)编译原理课程帮助我们了解高级语言程序转换成机器指令程序的过程。可以帮助我们更深刻地理解高级语言程序运行的内部机制。05七月2021第8页《编译原理》课程在计算机科学中的地位高级语言程序设计离散数学数据结构编译原理操作系统系统软件应用软件软件工程信息系统电子商务汇编语言计算机组成原理05七月2021第9页学习本课程的目的和任务加深对编程语言设计和实现的理解,对和编程语言有关的理论有所了解,对宏观上把握编程语言来说,起一个奠基的作用,提升自身的编程能力掌握编译程序的基本结构,掌握常用的编译技术和方法,将编译原理的理论和方法应

5、用于一般的软件设计中培养团队协作能力05七月2021第10页本课程的特点(1)本课程理论性很强,学习时需要很强的逻辑思维能力(2)涉及的算法复杂,要深入地理解这些算法很困难(3)编译原理课程各个部分之间的独立性很强,包括词法分析、语法分析、存储的组织与分配、中间语言、语法制导翻译、代码生成与优化这几大部分。词法分析、及语义分析是重点;其他部分相对来说知识性更强一些。引论第一章05七月2021第12页本章要求主要内容:各种翻译程序的概念,编译过程和阶段划分,编译程序的组成和结构,编译程序的构造方法重点掌握:编译程序工作的基本过程及其各阶段的基本任务,编译程序总框

6、。05七月2021第13页问题:1.什么是编译程序?2.编译程序的工作过程是什么样的?3.编译程序的总体结构是什么样的?4.什么叫编译前端、编译后端?5.什么叫“遍”(pass)?6.编译程序有哪些生成方法?05七月2021第14页编译程序(Compiler)——将高级程序设计语言程序翻译成逻辑上等价的低级语言(汇编语言,机器语言)程序的翻译程序。功能编译程序源程序目标程序计算机运行输入数据结果1.1编译程序是什么05七月2021第15页计算机中的语言层次和转换关系05七月2021第16页解释程序解释程序(Interpreter)——将高级程序设计语言写的源程

7、序作为输入,边解释边执行源程序本身,而不产生目标程序的翻译程序。功能解释程序源程序输入数据结果05七月2021第17页编译程序的分类诊断编译程序优化编译程序可变目标编译程序交叉编译程序05七月2021第18页与编译程序相关的程序解释程序(Interpreter)汇编程序(assembler)连接程序(linker)连接系统函数与系统资源装入程序(loader)重定位(relocation)预处理器(Preprocessor)编辑器(editor)Debugger,Profiler,ProjectManager05七月2021第19页编译原理是讨论编译程序设计的

8、基本理论、基本概念、基本方法什么是编译

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

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

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