- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编 译 原 理
主讲教师:王莉丽
Sias_wll@yahoo.cn
办公室:3-204
电话课程简介
软件技术的基础
研究生入学的考查课程之一
计算机专业的专业必修课
学时:64(理论:48;实验:16)
学分:4学分
教材与参考书
教材
《编译原理第3版》,骆婷等编著,电子工业出版社。
参考书
《编译原理第2版》,徐兰芳等编著,电子工业出版社。
《程序设计语言编译原理》,陈火旺等编著,国防工业出版社。
教学内容
(1)编译程序概述………………………........1
(2)语言和文法…………………………........2
(3)词法分析和有穷自动机……………........3
(4)自顶向下语法分析方法………….......….4
(5)自底向上算符优先分析法……….......….4
(6)自底向上LR分析法………………... ....…4
(7)语法制导翻译和中间代码生成……........5
(8)符号表的组织与管理………………........6
(9)代码优化……………………………........7
(10)目标程序运行时的存储空间组织..........8
(2)语言和文法
(3)词法分析和有穷自动机
(4)自顶向下语法分析方法
(5)自底向上算符优先分析法
(6)自底向上LR分析法
(7)语法制导翻译和中间代码生成
(9)代码优化
课程特点和要求
先行课程:高级程序语言、汇编语言、数据结构、离散数学
课程内容广泛,涉及到数据结构、操作系统、离散数学及语言理论,是综合性比较强的一门课程
要求理解原理,掌握核心技术
学习方法
认真听课,掌握课本中的基本概念、基本原理与基本算法
利用课后复习,掌握书中的例题与课后习题
理论结合实践
成绩评定
考试课成绩三部分组成:
平时成绩(35%)
期中考试成绩(25%)
期末考试成绩(40%)
课堂出勤(10%)
作业(5%)
小测验(20%)
第1章 编译概述
1.1 翻译程序与编译程序
1 语言与翻译:语言是人类交流思想和信息的工具。从自然语言来说,世界上存在着许多种语言,各国之间要交流信息,就要有各种语言之间的翻译。
把翻译的思想放在程序语言上,就出现了翻译程序。
1.1 翻译程序与编译程序
2.翻译程序:把一种语言(源语言)所写的程序翻译成与之等价的另一种语言(目标语言)所写的程序。
源程序
翻译程序
目标程序
1.1 翻译程序与编译程序
3. 编译程序:源语言是高级语言,目标语言是低级程序语言的翻译程序,叫做编译程序。
专指由高级语言转换成低级语言的翻译程序。
源程序
翻译程序
目标程序
高级语言
所写的程序
汇编语言或
机器语言程序
编译程序
1.1 翻译程序与编译程序
4.编译的转换过程
(1) 两阶段转换:编译-运行
源程序
编
译
程
序
机器语言目标程序
编译阶段
运行阶段
初始数据
运行系统
结果
1.1 翻译程序与编译程序
编译的转换过程
(2) 三阶段转换:编译-汇编-运行
源程序
编
译
程
序
汇编语言
目标程序
汇
编
程
序
机器语言
目标程序
初始数据
运行系统
结果
编译阶段
汇编阶段
运行阶段
1.1 翻译程序与编译程序
5.解释程序
立即执行源程序而不生成目标程序的一种翻译程序。
如BASIC语言。
编译与解释的区别:
编译――笔译(产生目标程序)
解释――口译(不产生目标程序)
1.2 编译过程和编译程序的 基本结构
先看自然语言的翻译
-1 识别出句子中的一个个单词
-2 分析句子的语法结构
-3 分析句子的含义进行初步翻译
-4 对译文进行修饰
-5 写出最后译文
Bonjour,
comment allez-vous?
1.2.1 编译过程
编译过程可分下面5个阶段:
1.2.1 编译过程
1 词法分析
任务:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。
即:读字符流的源程序,识别单词
单词:是高级语言中有实在意义的最小语法单位,它由字符构成。
1.2.1 编译过程
1 词法分析
单词的种类,一般有基本字,或者叫保留字,标识符,常数,算符和界符等等。
识别出来的单词转换后的格式:
(类号、内码)
举例说明
计算圆柱体表面积的程序段:
float r,h,s;
s=2*3.1416*r*(h+r);
词法分析将程序中的符号串转换为内部表示,
单词类型 单词值
基本字 float
标识符 r,
文档评论(0)