编译原理与实现第1章编译概述.ppt
《编译原理与实现第1章编译概述.ppt》由会员分享,可在线阅读,更多相关《编译原理与实现第1章编译概述.ppt(54页珍藏版)》请在三一办公上搜索。
1、编译原理及实现,任课教师:韦艳艳联系电话:E-mail:,编译原理-课前思考,为什么有些语言规定标识符不能超过8个字符?而有些语言对标识符的长度无限制?为什么有些语言能实现递归,而有些语言不能?C语言规定数组下界为0,上界为声明的数减1,为什么?嵌套的IF语句规定ELSE与上面最近的IF配对,为什么?为什么有些程序运行一段时间后会导致内存溢出?为什么Java实现了“一次编写,到处运行”?,学习目的,了解和掌握设计和构造编译程序的基本原理、基本技术及其实现方法,加深对计算机系统的了解,培养和提高计算(机)思维能力。,各章节内容,第1章 编译概述(2课时)第2章 文法和语言(6课时)第3章 词法分
2、析(6+4课时)第4章 语法分析-自顶向下分析(6+4课时)第5章 语法分析-自底向上分析(6课时)第6章 语法制导翻译技术(6课时)第7章 符号表管理技术(2课时)第8章 程序运行时的存储组织及管理(2课时)第9章 语义分析和代码生成(6+4课时)第10章 代码优化(2课时),学习要求,认真听课积极练习课后复习,编译原理好难!,参考书目,张幸儿编,计算机编译原理编译程序构造实践(第二版),科学出版社,2009年刘磊等编,编译程序的设计与实现,高等教育出版社,2004年赵克佳等译,现代编译原理C语言描述,人民邮电出版社,2006年张素琴,吕映芝等编,编译原理(第2版),清华大学出版社,2005
3、年赵建华等译,编译原理(第2版),机械工业出版社,2009年,编译原理(原书第2版)作者:(美)Alfred V.Aho Monica S.Lam Ravi Sethi Jeffrey D.Ullman 译者:赵建华 郑滔 戴新宇 出版社:机械工业出版社,编译领域里程碑式的经典著作龙书,原版封面,中文版封面,课程学习网站,清华大学北京航空航天大学http:/compile/武汉大学,题 外 话,基本:完成课程学习,通过考试,获得学分。提高:能够将所学知识和内容用于解决实际问题。飞跃:通过编译原理的学习,改进思维方式,为将来的工作打好基础,终身受益。,考试成绩评定方法,平时(30%)作业、课堂练
4、习和出勤(25%)上机编程(15%)期考(70%)考试方式:笔试(闭卷)考试题型:填空题 判断题 选择题 综合应用题,No man is born wise or learned.没有生而知之者,第1章 编译概述,学习内容:1.1 程序设计语言1.2 翻译程序1.3 编译程序的组成1.4 编译程序的结构1.5 编译程序的前后处理器1.6 TEST语言与编译器,第1章 编译概述,学习重点:1、编译程序2、编译程序与解释程序的根本区别3、典型的编译程序模型及其各组成 部分的功能,回顾:程序与程序设计语言,程序:为实现特定目标或解决特定问题而用计算机语言编写的指令序列的集合。常见的程序设计语言:C+
5、,Java,C,FORTRAN,Pascal,Lisp,Basic,ML等,程序输入,程序输出,高级语言,机器语言,1.1 程序设计语言(p1),1、机器语言(最低形式,属低级语言)特点:程序中的每条指令都是用二进制代码直接表示的,由它构成机器的指令系统,机器能直接识别和直接执行,但机器语言程序难写、难读、难修改,编程的工作量大,对程序员的要求高。机器语言程序示例:00111110 00011010 11111110 00100100 11010011 00101111 01110110,2、汇编语言(属低级语言)特点:它是机器语言的符号表示,例如用ADD表示加法,可读性等方面较机器语言有一定
6、的改进,但还依赖于具体的机器,机器不能直接识别和直接执行。,汇编语言程序示例:LD A,26/把26送到变量AADD A,36/加上36 OUT(48),A/输出到48号端口 HALT/暂停,3、高级语言 特点:它独立于机器,比较接近自然语言,因而容易学习和掌握,且编写程序效率高,编写出的程序易读、易理解、易修改、易移植,但机器不能直接识别和直接执行。,C语言程序示例:int a,c=2;a=16+c*2;printf(a=%d,a);,高 汇级 编语 语言 言程 程序 序,翻译程序,1.2 翻译程序(p2),1、除机器语言程序外,用其它语言编写的程序都必须翻译才能被计算机识别和执行。2、翻译
7、程序的定义:翻译程序是这样的一种程序,它能将用甲语言(源语言)编写的程序(源程序)翻译成与之等价的乙语言(目标语言)编写的程序(目标程序)。,3、翻译程序在计算机系统中的所在层,翻译程序属于系统软件!,4、翻译方式(1)解释方式(相当口译)特点:源程序的翻译到执行只有一个阶段解释执行阶段,即:解释程序将按源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。在这种翻译方式下,不生成目标代码。,(2)编译方式(相当笔译)特点:源程序的翻译和目标程序的运行是分阶段进行的,它先将高级语言编写的源程序翻译成汇编语言程序或机器语言程序,然后再运行目标程序。,编译程序 vs.解释程序,编译,解释,a
8、.当目标程序是机器语言程序时,源程序从编译到被执行的过程分为两个阶段:,b.当目标程序是汇编语言程序时,源程序从编译到被执行的过程分为三个阶段:,看起来,编译器似乎完全能代替汇编啊!,回答是No。Why?高级语言通过编译器转化成的机器语言,受限于高级语言,其效率和功能上都有限制。比如不能过分操作内存。但通过汇编器转化过来的机器语言,效率高,且用汇编语言,可直接和CPU对话!汇编可以反汇编(逆向编译),即:程序(二进制机器语言)通过反汇编器(compiler),可转化为汇编代码(文本)但永远不能转化为高级语言的源代码!,C语言编译系统,(见p9),5、两种翻译方式的比较编译方式与解释方式的根本区
9、别在于是否生成目标代码。在解释方式下执行源程序,易于查错,在程序执行中可以修改程序(代表有BASIC语言)。但和编译方式相比,执行效率太低。现在有些语言的集成开发环境提供了两种方式,如Visual Basic,调试期间可解释执行源程序,而调好的程序可以编译生成目标程序。,编译过程,自然语言的翻译(如把英文翻译为中文)识别出句子中的一个个单词;分析句子的语法结构;根据句子的含义进行初步翻译;对译文进行修饰;写出最后的译文。,词法分析,语法分析,中间代码产生,优化,目标代码产生,例 The monkey ate the banana.例 A compiler is a computer progr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 实现 概述

链接地址:https://www.31ppt.com/p-6599812.html