《编译器概述》PPT课件

《编译器概述》PPT课件

ID:40510361

大小:212.06 KB

页数:39页

时间:2019-08-03

《编译器概述》PPT课件_第1页
《编译器概述》PPT课件_第2页
《编译器概述》PPT课件_第3页
《编译器概述》PPT课件_第4页
《编译器概述》PPT课件_第5页
资源描述:

《《编译器概述》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理夏斌x1192004@163.com关于编译原理课程内容编译原理是介绍如何将高级程序设计语言变换成计算机硬件所能识别的机器语言,以便计算机进行处理。介绍编译系统的工作原理介绍编译系统的构造方法先行课程:高等数学、C(PASCAL)、离散数学、汇编语言、数据结构编译原理课程应用领域编译器的设计一般的软件设计例如:文本编辑器、信息检索系统、模式识别器打字程序、绘图系统优化程序本课程的地位是计算机专业的学生必修的一门主干课是本学科研究生入学考试的课程之一是软件技术基础学习方法1、认真听课,认真理解书中的基本概念、基本原理与基本算法2

2、、认真做作业3、在看书时或理解例题时,一定要画出相应的细节变化过程,通过画图来加深理解4、在理解的基础上记忆5、理论结合实践编译原理吕映芝清华大学出版社编译原理技术与工具人民邮电出版社CompilerConstructionPrincipleandPratice编译原理及实践KennethC.Louden机械工业出版社参考书籍参考书籍CompilersPrinciples,Techniques,andTools龙书第一章引论本章内容:什么是编译程序编译程序各阶段的主要功能在计算机上如何执行一个高级语言程序?把高级语言程序翻译成机器语言

3、程序运行所得的机器语言程序求得计算结果翻译器:能够将一种语言转换成另一种语言的软件,而且后者与前者在逻辑上是等价的。源语言目标语言编译专指由高级语言转换为低级语言解释接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,然后再接受下一句。编译程序程序设计语言机器语言编译和解释的区别:目标程序源程序编译程序初始数据计算结果源程序解释程序初始数据计算结果特点:1.编译器:工作效率高,即时间快、空间省;交互性与动态特性差、可移植性差。大多数PL采用此种方法翻译2.解释器:工作效率低,即时间慢、空间费;交互性与动态特

4、性好、可移植性好。早期的Basic和现在的Java等。基本功能:二者相同所采用的技术:从翻译的角度来讲,两种方式所涉及的原理、方法、技术相似。英译汉与编译的比较1.识别出句子中的一个个单词2.分析句子的语法结构3.分析句子的语义4.初步翻译5.译文修饰6.写出最后译文1.词法分析2.语法分析3.语义分析4.中间代码生成5.优化6.目标代码生成词法分析器语法分析器语义分析器源程序中间代码生成器代码优化器代码生成器目标程序错误处理表格管理1.1词法分析任务输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。单词是高级语言中

5、有实在意义的最小语法单位,它由字符构成。识别右边程序中的单词基本字:Void,int,float标识符:a,b,c,d,x,y,jisuan常数:50算符:+,*,=界限符:{};,()Voidjisuan(){inty,c,d;floatx,a,b;x=a+b*50;y=(c+d)*(x+b);}词法分析依照词法规则,识别出正确的单词,转换成统一规格,备用。转换对基本字、运算符、界限符的转换标识符的转换常数的转换转换完成后的格式:(单词种别,单词符号的属性值)二元式表示(单词种别,单词符号的属性值)描述词法规则的有效工具是正规式和有

6、限自动机。1.2语法分析任务:根据语言的语法规则,把单词流组成各类语法单位,如:短语、句子、过程、程序语法规则:语言的规则,又称为文法;规定单词如何构成短语、语句、过程和程序。语法规则通常用上下文无关文法描述。表达式的语法特征任何一个标识符都是表达式;任何一个数都是表达式;如果e1和e2都是表达式,那么e1+e2e1*e2(e1)也都是表达式表达式表达式表达式标识符表达式表达式(initial)标识符(rate)数(60)*+position:=initial+rate*60;语法分析有两种方法:推导(Derive)和规约(Re

7、duce)语法分析过程也可以用一棵倒着的树来表示,这棵树叫做分析树赋值语句标识符(position)整数(60)表达式表达式+表达式表达式标识符(rate)标识符(initial):=表达式*1.3语义分析任务:检查程序的语义正确性,以保证程序各部分能有意义的结合在一起,为以后的代码生成阶段收集类型信息语义分析阶段的重要工作:类型检查语义分析器:=+*60id1id2id3:=+*60id1id2id3inttorealposition:=initial+rate*60;词法分析器语法分析器语义分析器源程序中间代码生成器代码优化器代码

8、生成器目标程序出错管理器符号表管理器前三个阶段完成对源程序的分析1.4中间代码生成任务:根据语义规则产生一种介于源语言与目标代码之间的一种中间代码。中间代码是不依赖于机器但是又便于生成依赖于机器的目标代码的一种结构简单、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。