1 / 65
文档名称:

编译原理课件第1章.ppt

格式:ppt   页数:65
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

编译原理课件第1章.ppt

上传人:所以所以 2012/3/23 文件大小:0 KB

下载得到文件列表

编译原理课件第1章.ppt

文档介绍

文档介绍:第1章引言
从面向机器的语言到面向人类的语言
语言之间的翻译
编译器与解释器
编译器的工作原理与基本组成
编译器的编写
本章小结
从面向机器的语言到面向人类的语言
计算机的硬件只能识别由0、1字符串组成的机器指令序列,即机器指令程序。在计算机刚刚问世的年代,人们只能向计算机输入机器指令程序来指挥它进行简单的数学计算。机器指令程序是最基本的计算机语言。由于机器指令程序不易理解,用它编写程序既困难又容易出错,于是人们就用容易记忆的符号来代替0、1字符串。用符号表示的指令被称为汇编指令,汇编指令的集合被称为汇编语言,由汇编语言编写的指令序列被称为汇编语言程序。虽然汇编指令比机器指令在阅读和理解上有了长足进步,但是二者之间并无本质区别,它们均要求程序设计人员根据指令工作的方式思考、解决问题。因此,人们称这类语言为面向机器的语言或低级语言。
随着计算机应用需求的不断增长,人们希望能有功能更强、抽象级别更高的语言来支持程序设计,于是就产生了面向各类应用的程序设计语言。这些语言的共同特征是便于人类的理解与使用,因此被称为面向人类的语言或高级语言。。
面向机器和面向人类语言举例
分类
语言表现形式举例
面向机器
机器指令
0000 0011 1111 0000
汇编指令
add si, ax
面向人类
通用程序设计语言
x := a + b; sort(list); if c then a else b;
数据查询语言
select id_no, name from student_table;
形式化描述语言
E : E '+'E | E '*'E | id;

通用程序设计语言是继汇编语言之后发展起来的应用最广的一类语言,如人们常用的FORTRAN、Pascal、C/C++、Ada83/Ada95、Java等语言。这类语言的特征是:语言结构符合人类的思维特征,如直接使用表达式进行数学运算;具有很高抽象程度,如引入过程与类等机制;程序设计中强调逻辑过程,即程序员要考虑事情的前因后果,不但要设计做什么,还要考虑怎么做,如条件或循环的判断等。

与通用程序设计语言相比,数据查询语言的抽象程度更高,它只要求程序员具有清晰的逻辑思维能力,设计好做什么,而忽略怎么做这样的实现细节,从而使得对大量复杂数据的处理变得轻松简单。

的语言。这类语言的核心部分是基于数学基础的产生式,设计人员只需利用产生式描述语言结构的文法,就可以构造出识别该语言结构的识别器。

随着计算机应用领域的不断拓展,先后出现了多种面向特定应用领域的高级语言,如面向互联网应用的HTML、XML,面向计算机辅助设计的MATLAB,面向集成电路设计的VHDL、Verilog,面向虚拟现实的VRML等等。这些形形色色、多不胜数的计算机语言推动了计算机应用的飞速发展,使得计算机成为人类生活中不可缺少的重要部分。
语言之间的翻译
尽管人类可以借助高级语言与计算机进行交往,但是计算机硬件真正能够识别的语言只是0、1组成的机器指令序列,这就需要在高级语言和机器语言之间建立若干桥梁,将高级语言逐步过渡到机器语言。换句话说,我们需要若干“翻译”,把人类懂的高级语言翻译成计算机懂的机器语言。由于应用的不同,语言之间的翻译是多种多样的。。,语言分为三个层次:高级语言、汇编语言、机器语言。虽然汇编语言和机器语言同属于低级语言,但是由于从汇编语言到可直接执行的机器指令之间也需要一层翻译,所以把它们分为不同的层次。设分别有两个高级语言L1和L2,两个汇编语言A1和A2,以及两个机器语言M1和M2。
高级语言之间的翻译,一般被称为转换,如FORTRAN到Ada的转换等,或者被称为预处理,如SQL到C/C++的预处理等。高级语言可以直接翻译成机器语言,也可以翻译成汇编语言,这两个翻译过程被称为编译。从汇编语言到机器语言的翻译被称为汇编。高级语言是与具体计算机无关的,而汇编语言和机器语言均是与计算机有关的,因此,若将一个汇编语言汇编为可在另一机器上运行的机器指令,则称为交叉汇编,而建立在交叉汇编基础之上的编译模式,如首先将L2编译成A2,再将A2汇编为M1,有时也被称为交叉编译。上述这些翻译模式一般被认为是正向工程。在一些特定情况下需要逆向工程,如把机器语言翻译成汇编语言,或者把汇编语言翻译成高级语言,分别称它们为反汇编和反编译。值得一提的是,反编译是一件十分困难的事情。承担这些语言之间翻译任务的

最近更新

2023年厦门东海职业技术学院单招职业技能考试.. 41页

2023年厦门城市职业学院单招职业技能测试题库.. 41页

2023年台州学院单招职业倾向性考试模拟测试卷.. 41页

2023年合肥幼儿师范高等专科学校单招职业倾向.. 40页

2023年合肥财经职业学院单招职业倾向性测试题.. 39页

2023年吉林司法警官职业学院单招职业倾向性测.. 40页

2023年吉林水利电力职业学院单招职业适应性考.. 42页

2023年咸宁职业技术学院单招职业技能测试题库.. 39页

2023年哈尔滨城市职业学院单招职业技能测试模.. 39页

2023年哈尔滨职业技术学院单招职业倾向性测试.. 40页

2023年喀什职业技术学院单招职业倾向性测试题.. 38页

2026年元宵高中作文2000字 12页

2026年元宵节致辞开场白 18页

2023年四川城市职业学院单招职业倾向性考试模.. 39页

2023年四川幼儿师范高等专科学校单招职业倾向.. 39页

2026年元宵节汤圆跟元宵的分别 6页

2026年元宵节日记300字三年级 3页

2023年四川财经职业学院单招职业技能考试模拟.. 39页

2023年塔城职业技术学院单招职业技能考试题库.. 38页

2023年大庆职业学院单招职业技能测试题库含答.. 41页

2026年元宵节作文350字 14页

2023年天府新区通用航空职业学院单招综合素质.. 41页

2023年天津医学高等专科学校单招职业技能考试.. 40页

2026年儿童诗歌朗诵精选作品 4页

2026年儿童节礼物活动主题作文 5页

2023年娄底幼儿师范高等专科学校单招职业适应.. 41页

2023年宁夏工商职业技术学院单招综合素质考试.. 40页

2023年宁夏财经职业技术学院单招职业倾向性考.. 42页

2023年宁波城市职业技术学院单招职业技能测试.. 41页

2023年宁波财经学院单招职业倾向性测试题库汇.. 41页