编译原理PPT课件第一章编译引论.ppt
《编译原理PPT课件第一章编译引论.ppt》由会员分享,可在线阅读,更多相关《编译原理PPT课件第一章编译引论.ppt(32页珍藏版)》请在三一办公上搜索。
1、1,编译原理,2,一 什么是编译程序?,计算机经过几十年的发展,在程序设计语言方面,已经从低级语言发展到高级语言;然而,计算机内部的本质只能识别 0,1 代码序列(机器语言),而对高级语言甚至符号语言仍然一窍不通。因此用高级语言编写的程序,必须先翻译为机器语言,才能被计算机理解执行。第一个完成这种翻译任务的编译程序为FORTRAN编译程序,是上世纪五十年代设计的.,第一章 引论,第一节、编译程序概述,3,定义:设源语言为L1,目标语言为L2,翻译程序是一个程序,它能将L1转换为逻辑上等价的L2。若 L1 为高级语言,L2 为低级语言或机器语言,称这种 翻译程序为编译程序。若 L1 为低级语言,
2、L2 为机器语言,称这种翻译程序为 汇编程序。解释程序是指逐条翻译 L1的语句,并立即执行翻译出的 目标代码序列。编译原理 就是介绍编译程序的一般规律及设计方法的一门课程。,高级语言程序,机器语言程序,翻译为,4,二 编译过程概述 编译程序从接受源程序到输出目标代码的整个过程,可逻辑的分为 5 个阶段,词 法 分 析语 法 分 析 中间代码生成 代 码 优 化 目标代码生成 1)词法分析:把源程序作为字符串进行扫描,根据单词词法,识别出所有单词,过滤无用符,并检查是否为合法的单词。单词一般分为如下几种:基本字,标识符,常数,算符,界符,5,例如:if n=1 then f:=1 else f:
3、=n*f(n);该程序经过语法分析,得到如下单词序列:,过滤掉回车换行,空格,注释等,6,2)语法分析:根据语言的语法规则,从单词符号串中识别出各种语法单位,进行句子分析,并检查整个输入字串是否为合法的程序;重要的语法单位有:程序,子程序,语句,短语,表达式等例如:,program add;var a,b:real;begin read(a,b);write(a+b);end.,7,程序,首部,说明段,执行部,program,程序名及参数,var,说明语句,add,变量名表,变量类型,a,b,real,begin,多语句,end,read(a,b),write(a+b),8,3)中间代码生成:
4、根据语义规则,把各种语法单位翻译成中间代码序列.中间代码有三种:四元式,三元式,逆波兰式.中间代码的特点:结构简单,语义明确,易于理解及优化.四元式可表示为:(操作符,操作数1,操作数2,结果),例如:语句 Z:=(x+0.4)*Y/W;翻译后得到右面 的四元式序列:,四元式序列(+,x,0.4,T1)(*,T1,Y,T2)(/,T2,w,T3)(:=,T3,Z),从示例可看出:每条四元式只进行一次最基本的操作.,9,4)代码优化:对产生的中间代码序列进行加工变换,使变换后的代码更为高效(时间,空间上)。优化主要有:循环优化,公共表达式提取,强度削弱等。5)目标代码生成:把中间代码程序翻译为机
5、器指令或汇编指令程序。这一部分的处理,与计算机硬件及操作系统密切相关。如寄存器数目,机器指令功能及指令条数;操作系统的 BIOS,内存管理,文件管理等。三 编译程序的结构 编译程序可以划分为如下几个基本模块:,10,11,表格管理:对各种表格进行管理,包括表格的构造、查找、修改、删除、插入 等;编译程序中,表格的种类较多,最主要的有如下几种:符号表,常量表,标号表,子程序名表,四元式表等。表格由若干结构相同的表格项组成,表格项由二元式表示:,项名 信息,表格项,表格,项名 1 信息,项名 2 信息,项名 n 信息,12,四 设计编译程序 编译程序的设计方式可以分为两类:,13,第二节、高级语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 PPT 课件 第一章 引论

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