计算机网络第五版第一章.ppt
《计算机网络第五版第一章.ppt》由会员分享,可在线阅读,更多相关《计算机网络第五版第一章.ppt(60页珍藏版)》请在三一办公上搜索。
1、1章 引论 1,第1章 引论,1.1 什么是编译程序1.2 编译过程和编译程序的结构1.3 解释程序,1章 引论 2,1.1 什么是编译程序(compiler),从功能上看,一个编译程序就是一个语言翻译程序。它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序。源语言通常是一个高级语言,如FORTRAN,C 或Pascal。目标语言通常是一个低级语言,如汇编或机器语言。编译程序的功能见下图。,1章 引论 3,1.1 什么是编译程序(compiler),术语编译程序的源语言(源程序)编译程序的目标语言(目标程序),注意:所谓的源程序和目标程序的等价是什么含义-他们的功
2、能一样。,1章 引论 4,1.1 什么是编译程序(compiler),机器语言计算机指令系统低级语言语言汇编语言符号化的指令系统高级语言算法语言,不依赖具体机器,面向问题,在计算机上如何执行一个高级语言程序?把高级语言程序翻译成机器语言程序运行所得到的机器语言程序来求得计算结果,1章 引论 5,1.1 什么是编译程序(compiler),源程序翻译程序目标程序,汇编语言程序汇编程序机器语言程序计算机,高级语言程序编译程序连接程序,源语言实现语言目标语言,汇编语言汇编程序机器语言,高级语言编译程序低级语言,高级语言编译程序 高级语言,翻译对象翻译程序翻译结果,1章 引论 6,1.1 什么是编译程
3、序(compiler),如果从计算机系统的角度看,什么是编译程序呢?我们说编译程序是一种软件,是系统软件。通常认为系统软件是居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。系统软件和具体的应用领域无关,如编译系统和操作系统等。,1章 引论 7,1.1 什么是编译程序(compiler),来自计算机百科全书的定义 软件:计算机系统中的程序及其文档系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。他和具体的应用领域无关,如编译系统和操作系统等。,注:最外一层为应用软件层,编译系统,1章 引论 8,1.1 什么是编译程序(compiler),图1.
4、2 语言处理过程,1章 引论 9,1.1 什么是编译程序(compiler),编译程序是现代计算机系统的基本组成部分之一,而且多数计算机系统都含有不止一个高级语言的编译程序。对有些高级语言甚至配置了几个不同性能的编译程序。一个编译程序的重要性体现在它使得多数计算机用户不必考虑与机器有关的繁琐细节,使程序员和程序设计专家独立于机器,这对于当今机器的数量和种类持续不断地增长的年代尤为重要。,1章 引论 10,1.1 什么是编译程序(compiler),编译程序的必要性:计算机是当代科学发展的重要工具,已渗入到各行各业乃至家庭生活中,所以如何让它为人类工作服务,就必须建立人与计算机之间的信息交流。但
5、计算机只认识由0和1构成的机器语言,并不认识C、C+、Java等高级程序设计语言,每台计算机都有自己独特的指令系统,即机器语言,最早的程序就是用8进制和16进制的机器语言书写的。,1章 引论 11,1.1 什么是编译程序(compiler),例如计算园面积C程序:void circle()int r;float s;scanf(“%d”,Pascal程序:procedure circle()var r:integer;s:real;read(r);s:=3.1416*r*r;write(s);end,1章 引论 12,1.2 编译过程和编译程序的结构,编译程序完成从源程序到目标程序的翻译工作,
6、是一个复杂的整体的过程。编译程序的整个工作过程是划分成阶段进行的,每个阶段将源程序的一种表示形式转换成另一种表示形式,各个阶段进行的操作在逻辑上是紧密连接在一起的。编译过程划分成词法分析、语法分析、语义分析、中间代码生成,代码优化和目标代码生成六个阶段,这是一种典型的划分方法。事实上,某些阶段可能组合在一起。,1章 引论 13,1.2.1编译过程概述,图1.3编译的各个阶段,编译过程划分成六个阶段:词法分析语法分析语义分析中间代码生成代码优化目标代码生成另外两个重要的工作:表格管理出错处理,1章 引论 14,1.2.1编译过程概述,编译过程词法分析语法分析语义分析中间代码生成代码优化目标代码生
7、成,翻译过程识别出句子中的一个个单词分析句子的语法结构根据句子的含义进行分析写出初步的翻译对译文进行修饰写出最后译文,1章 引论 15,1词法分析,任务输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。单词单词是高级语言中有意义的最小语法单位,它由字符组成。比如标识符用于表示变量名,是由字母字符开头,后跟字母、数字字符的字符序列组成的一种单词。保留字(关键字或基本字)也是一种单词,此外还有算符,界符等等。,1章 引论 16,1词法分析,例如某源程序片断如下:begin var sum,first,count:real;sum=first+count*10 end.,1.保留字
8、begin2.保留字var3.标识符sum 4.逗号,5.标识符first6.逗号,7.标识符count8.冒号:9.保留字real 10.分号;,11.标识符sum12.赋值号=13.标识符first14.加号+15.标识符count 16.乘号*17.整数1018.保留字end19.界符,这些单词间的空格在词法分析阶段都被滤掉了。词法分析阶段将构成这段程序的字符组成了如下19个单词序列:,1章 引论 17,1词法分析,识别右边程序中的单词基本字:voidintfloat标识符:a,b,c,d,x,y,jisuan整常数:50运算符:,*,界限符:;,(),void jisuan()int
9、y,c,d;float x,a,b;x=a+b*50;y=c+)d*(x+b;,1章 引论 18,1词法分析,有关的英文词法分析-lexical analysis 或者scanning单词-token保留字-reserved word标识符-identifier(user-defined name),1章 引论 19,2语法分析,任务:在词法分析的基础上,根据语言的语法规则把单词符号组成各类的语法单位:短语、子句、语句、过程、程序。语法规则语言的规则,又称为文法:规定单词如何构成短语、语句、过程和程序。语法规则的表示:BNF:A:=B|C,1章 引论 20,2语法分析,语法分析是编译过程的第二
10、个阶段。语法分析的任务是在词法分析的基础上将单词序列分解成各类语法短语,如“程序”、“语句”、表达式等等。一般这种语法短语,也称语法单位可表示成语法树,比如上述程序段中的单词序列:id1=id2+id3*10 经语法分析得知其是PASCAL语言的“赋值语句”,表示成如图1.4所示的语法树,1章 引论 21,2语法分析,图1.4 id1=id2+id3*10语法树,1章 引论 22,2语法分析,语法分析的功能是进行层次分析,把源程序的单词序列组成语法短语(表示成语法树)。依据的是语法规则。Pascal语言的赋值语句的规则为::=“:=”:=“+”:=“*”:=“(”“)”:=id:=n单词序列i
11、d1=id2+id3*10之所以能表示成图1.4的语法树,依据的是赋值语句和表达式的定义规则。,1章 引论 23,2语法分析,1章 引论 24,3语义分析,任务审查源程序有无语义错误。工作完成静态语义审查和处理上下文相关性审查类型匹配审查类型转换,1章 引论 25,3语义分析,源程序中有些语法成分,按照语法规则去判断,它是正确的,但它不符合语义规则,比如:使用了没有声明的变量;给一个过程名赋值;调用函数时参数类型不合适或者参加运算的两个变量类型不匹配等等。比如下边的程序片段:int arr2,c;c=arr1*10;其中的赋值语句是符合语法规则的,但是因为没有声明变量arr1,而存在语义错。,
12、1章 引论 26,3语义分析,请你说出error1和error2分别违背了什么语义规则,warning呢?,Program p(input,output);Var rate:real;procedure initial;position:=initial+rate*60/*error1*/*error2*/*warning1*/;,Program p(input,output);Var rate:real;Var initial:real;Var position:real;position:=initial+rate*60,1章 引论 27,3语义分析,某些语言规定运算对象可被强制。那么当二
13、目运算施于一个整型量和一个实型量时,编译程序应将整型量自动转换成实型量而不能认为是源程序的错误,或者给出警告信息后将整型量自动转换成实型量。,1章 引论 28,3语义分析,假如在赋值语句sum=first+count*10中,算符*的两个运算对象分别是count和10,而count是实型变量,10是整型量.语义分析阶段进行类型审查之后,将整型量提升为实型量.在语法分析所得到的分析树上增加一个一目算符结点,这个结点的名称为inttoreal,表示进行将整型量变成实型量的语义处理。,图1.6 插入语义处理结点的树,1章 引论 29,4中间代码生成,任务 对语法分析识别出的几类语法范畴,分析其含义,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 第五 第一章

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