《编译程序概论》PPT课件.ppt
《《编译程序概论》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《编译程序概论》PPT课件.ppt(56页珍藏版)》请在三一办公上搜索。
1、1,编译原理,主讲:马 力单位:计通学院 计算机科学系Email:电话考核:平时考勤、表现:10%平时作业:20%期末考试(闭卷):70%,2,前 言,课程内容课程特点教学安排学习章节考试安排,3,课程内容,主要阐述编译程序的基本结构、编译技术的一般理论和常用的有效方法与技术。包括:文法和形式语言 自动机理论 词法分析 语法分析 语义分析 中间语言 代码生成,4,理论与实践的结合 理论:编译基础理论 实践:自己编写编译器(专门课程设计课)涉及的知识面广 形式语言 自动机理论 离散数学 数据结构 算 法,课程特点,有,点,难,?,5,教学安排,教学:48课时 主要采用幻灯片辅导教学课后作业:从第
2、3章起一般每章交1次,大约5-6次课终复习、串讲一次要求:课前预习、课后认真作业,6,学习章节,第一章 编译程序概论(一般了解)第二章 PL/0编译程序的实现(一般了解)第三章 文法和语言第四章 词法分析第五章 自顶向下语法分析-LL(1)文法第六章 自底向上语法分析-优先分析法第七章 自底向上语法分析-LR分析法第八章 语法制导翻译及代码生成,7,考试安排,考核范围:重点考察编译原理中的基本概念,编译基础理论以及编译过程的各个阶段的功能和实现方法。考核方式:期末考核与平时成绩相结合的方式。1)期末考核:笔试、闭卷,答题时限120分钟,占70%;2)平时成绩:视平时考勤、表现、课堂提问、作业完
3、成情况等给分,占30%。以上成绩累计60分以上(包括60分)算考核通过。,8,参考书,1编译原理(第二版),张素琴、吕映芝、蒋维杜、戴桂兰编著,清华大学出版社,2011年(教材)2程序设计语言编译原理(第三版),陈火旺、刘春林等编著,国防工业出版社,2000年3编译原理与编译程序构造,高仲仪等编著,北京航空航天大学出版社,2001年4编译原理,胡伦骏、徐兰芳、刘建农编,电子工业出版社,2002年,9,5、龙书(Dragon book)英文名:Compilers:Principles,Techniques,and Tools作者:Alfred V.Aho,Ravi Sethi,Jeffrey D
4、.Ullman中文名:编译原理技术和工具6、虎书(Tiger book)英文名:Modern Compiler Implementation in C作者:Andrew W.Appel,with Jens Palsberg中文名:现代编译原理-C语言描述7、鲸书(Whale book)英文名:Advanced Compiler Design and Implementation作者:Steven S.Muchnick中文名:高级编译器设计与实现,10,第一章 编译程序概论,1.1 什么是编译程序1.2 编译过程概述1.3 编译程序的结构1.4 编译技术的发展和应用,11,1.1 什么是编译程序
5、(compiler),一、基本概念 1.编译程序 编译程序是现代计算机系统的基本组成部分。从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序。,12,程序设计语言,低级语言,高级语言,汇编语言,机器语言,翻译程序,翻译程序,2.程序设计语言及其翻译,源程序,目标程序,翻译程序,13,翻译程序Translator,汇编程序Assembler,编译程序Compiler,解释程序Interpreter,高级语言,3.翻译程序,14,4.高级语言程序处理的两种方法,(1)编译途径 方法一:,源程序,运行程序,目标程序,编译程序
6、,结果,初始数据,编译阶段,运行阶段,15,4.高级语言程序处理的两种方法,(1)编译途径 方法二:,源程序,运行程序,目标 代码,编译程序,结果,初始数据,编译阶段,运行阶段,汇编语言,汇编程序,汇编阶段,16,(2)解释途径,源程序,结果,解释程序,初始数据,直接解释执行、中间代码,与编译的主要区别:解释程序不产生目标代码,4.高级语言程序处理的两种方法,17,编译程序 vs.解释程序,编译,解释,18,二、编译程序的功能,功能,术语编译程序的源语言(源程序S)编译程序的目标语言(目标程序O、T)编译程序的实现语言(I),高级语言书写的程序,编译程序,低级语言程序,19,三、编译程序在软件
7、中的地位,软件系统软件语言处理系统,1.属于系统软件类,20,2.计算机软件相关概念(1)软件:计算机系统中的程序及其文档(2)系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。他和具体的应用领域无关,如编译系统和操作系统等。(3)语言处理系统:把软件语言书写的各种程序处理成可在计算机上执行的程序。(4)软件语言:用于书写软件的语言。它主要包括需求定义语言,功能性语言,设计性语言,程序设计语言以及文档语言。,21,预处理器,编译器,汇编器,装配连接编辑,骨架程序,源程序,目标汇编程序,可重定位机器代码,绝对机器码,可重定位目标文件库,3.语言处理过程,22,编译工
8、作重要贡献者,Grace Hopper,计算机软件的第一夫人Hopper“全美技术奖。1952年,世界上第一个将高级符号语言转变为机器语言的编译,COBOL语言和编译器。John Cocke,“IBM小子”1987图灵奖,高性能计算机的体系结构方面(RISC),编译器的优化方面的贡献。A.J.Perlis 1966图灵奖,获奖原因:在先进编程技术和编译架构方面的贡献。,23,1.2 编译过程概述,24,把英文翻译为中文 识别出句子中的一个个单词;分析句子的语法结构;根据句子的含义进行初步翻译;对译文进行修饰;写出最后的译文。,词法分析,语法分析(含语义),中间代码生成,优化,目标代码产生,举例
9、,25,编译逻辑过程:词法分析语法分析语义分析中间代码生成代码优化目标代码生成 编译辅助工作:表格管理出错处理,26,1.词法分析,扫描源程序的ASCII码序列,拼出每一个单词,并把每个单词的ASCII码序列替换为所谓的机内表示TOKEN形式,这时还检查词法错误。但词法分析阶段不依靠语法关系。简单地说,就是从左至右读字符流的源程序、识别(拼)单词。例:position=initial+rate*60;,27,词法分析 position=initial+rate*60;,单词类型单词值 标识符1(id1)position 算符(赋值)=标识符2(id2)initial 算符(加)+标识符3(id
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译程序概论 编译程序 概论 PPT 课件
链接地址:https://www.31ppt.com/p-5590328.html