第一章 编译器概述.ppt
《第一章 编译器概述.ppt》由会员分享,可在线阅读,更多相关《第一章 编译器概述.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编编 译译 原原 理理夏夏夏夏 斌斌斌斌 关于编译原理课程关于编译原理课程n n内容内容 编译原理是介绍如何将高级程序设计语言变编译原理是介绍如何将高级程序设计语言变编译原理是介绍如何将高级程序设计语言变编译原理是介绍如何将高级程序设计语言变换成计算机硬件所能识别的机器语言,以便计算换成计算机硬件所能识别的机器语言,以便计算换成计算机硬件所能识别的机器语言,以便计算换成计算机硬件所能识别的机器语言,以便计算机进行处理。机进行处理。机进行处理。机进行处理。l l介绍编译系统的工作原理介绍编译系统的工作原理介绍编译系统的工作原理介绍编译系统的工作原理l l介绍编译系统的构造方法介绍编译系统的构造方
2、法介绍编译系统的构造方法介绍编译系统的构造方法先行课程先行课程:高等数学、高等数学、高等数学、高等数学、(PASCAL)(PASCAL)(PASCAL)(PASCAL)、离散数学、离散数学、离散数学、离散数学、汇编语言、数据结构汇编语言、数据结构汇编语言、数据结构汇编语言、数据结构编译原理课程应用领域编译原理课程应用领域编译器的设计编译器的设计一般的软件设计一般的软件设计例如:例如:例如:例如:v文本编辑器、信息检索系统、文本编辑器、信息检索系统、文本编辑器、信息检索系统、文本编辑器、信息检索系统、模式识别器模式识别器模式识别器模式识别器v打字程序、绘图系统打字程序、绘图系统打字程序、绘图系统
3、打字程序、绘图系统v优化程序优化程序优化程序优化程序本课程的地位本课程的地位 n n是计算机专业的学生必修的一门主干课是计算机专业的学生必修的一门主干课 n n是本学科研究生入学考试的课程之一是本学科研究生入学考试的课程之一n n是软件技术基础是软件技术基础 学习方法学习方法1 1、认真听课,认真理解书中的基本概念、基、认真听课,认真理解书中的基本概念、基 本原理与基本算法本原理与基本算法 2 2、认真做作业、认真做作业 3 3、在看书时或理解例题时,一定要画出相应、在看书时或理解例题时,一定要画出相应 的细节变化过程,通过画图来加深理解的细节变化过程,通过画图来加深理解4 4、在理解的基础上
4、记忆、在理解的基础上记忆5 5、理论结合实践、理论结合实践编译原理编译原理编译原理编译原理吕映芝吕映芝吕映芝吕映芝清华大学出版社清华大学出版社清华大学出版社清华大学出版社 编译原理编译原理 技术与工具技术与工具 人民邮电出版社人民邮电出版社人民邮电出版社人民邮电出版社Compiler Construction Compiler Construction Compiler Construction Compiler Construction Principle and Principle and Principle and Principle and PraticePraticePraticeP
5、ratice编译原理及实践编译原理及实践编译原理及实践编译原理及实践Kenneth Kenneth Kenneth Kenneth C.LoudenC.LoudenC.LoudenC.Louden机械工业出版社机械工业出版社机械工业出版社机械工业出版社参参参参考考考考书书书书籍籍籍籍参参参参考考考考书书书书籍籍籍籍Compilers Compilers Compilers Compilers Principles,Techniques,Principles,Techniques,Principles,Techniques,Principles,Techniques,andandandand T
6、ools Tools Tools Tools 龙书龙书龙书龙书第一章第一章 引论引论本章内容:本章内容:n n 什么是编译程序什么是编译程序什么是编译程序什么是编译程序n n 编译程序各阶段的主要功能编译程序各阶段的主要功能编译程序各阶段的主要功能编译程序各阶段的主要功能在计算机上如何执行一个高级语言程序?在计算机上如何执行一个高级语言程序?l l把高级语言程序翻译成机器语言程序把高级语言程序翻译成机器语言程序把高级语言程序翻译成机器语言程序把高级语言程序翻译成机器语言程序 l l运行所得的机器语言程序求得计算结果运行所得的机器语言程序求得计算结果运行所得的机器语言程序求得计算结果运行所得的机
7、器语言程序求得计算结果翻译器:翻译器:翻译器:翻译器:能够将一种语言转换成另一种语言的软能够将一种语言转换成另一种语言的软能够将一种语言转换成另一种语言的软能够将一种语言转换成另一种语言的软件,而且后者与前者在逻辑上是等价的。件,而且后者与前者在逻辑上是等价的。件,而且后者与前者在逻辑上是等价的。件,而且后者与前者在逻辑上是等价的。源语言源语言源语言源语言 目标语言目标语言目标语言目标语言n n编译编译 专指由高级语言转换为低级语言专指由高级语言转换为低级语言专指由高级语言转换为低级语言专指由高级语言转换为低级语言 n n解释解释 接受某高级语言的一个语句输入,进行解释并接受某高级语言的一个语
8、句输入,进行解释并接受某高级语言的一个语句输入,进行解释并接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,控制计算机执行,马上得到这句的执行结果,控制计算机执行,马上得到这句的执行结果,控制计算机执行,马上得到这句的执行结果,然后再接受下一句。然后再接受下一句。然后再接受下一句。然后再接受下一句。编译程序编译程序程序设程序设计语言计语言机器语言机器语言 编译和解释的区别:编译和解释的区别:编译和解释的区别:编译和解释的区别:目标目标目标目标程序程序程序程序源源源源程程程程序序序序编编编编译译译译程程程程序序序序初始数据初始数据初始数据初始数据计计计计算算算算结结
9、结结果果果果源程序源程序源程序源程序解解解解释释释释程程程程序序序序初始数据初始数据初始数据初始数据计计计计算算算算结结结结果果果果特点:特点:1 1 1 1编编编编译译译译器器器器:工工工工作作作作效效效效率率率率高高高高,即即即即时时时时间间间间快快快快、空空空空间间间间省省省省;交交交交互互互互性性性性与动态特性差、可移植性差。大多数与动态特性差、可移植性差。大多数与动态特性差、可移植性差。大多数与动态特性差、可移植性差。大多数PLPLPLPL采用此种方法翻译采用此种方法翻译采用此种方法翻译采用此种方法翻译2 2 2 2解解解解释释释释器器器器:工工工工作作作作效效效效率率率率低低低低,
10、即即即即时时时时间间间间慢慢慢慢、空空空空间间间间费费费费;交交交交互互互互性性性性与与与与动动动动态态态态特特特特性性性性好好好好、可可可可移移移移植植植植性性性性好好好好。早早早早期期期期的的的的BasicBasicBasicBasic和和和和现现现现在在在在的的的的JavaJavaJavaJava等。等。等。等。基本功能基本功能:二者相同二者相同二者相同二者相同所所采采用用的的技技术术:从从从从翻翻翻翻译译译译的的的的角角角角度度度度来来来来讲讲讲讲,两两两两种种种种方方方方式式式式所所所所涉涉涉涉及及及及的原理、方法、技术相似。的原理、方法、技术相似。的原理、方法、技术相似。的原理、方
11、法、技术相似。英译汉与编译的比较英译汉与编译的比较1.1.识别出句子中的一个个单词识别出句子中的一个个单词 2.2.分析句子的语法结构分析句子的语法结构3.3.分析句子的语义分析句子的语义4.4.初步翻译初步翻译5.5.译文修饰译文修饰6.6.写出最后译文写出最后译文1.词法分析词法分析2.2.语法分析语法分析3.3.语义分析语义分析4.4.中间代码生成中间代码生成5.5.优化优化6.6.目标代码生成目标代码生成词法分析器词法分析器语法分析器语法分析器语义分析器语义分析器源程序源程序中间代码生成器中间代码生成器代码优化器代码优化器代码生成器代码生成器目标程序目标程序错误处理错误处理表格管理表格
12、管理 1.1 词法分析词法分析n n任务任务 输入源程序,对构成源程序的字符串进行输入源程序,对构成源程序的字符串进行输入源程序,对构成源程序的字符串进行输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。扫描和分解,识别出一个个的单词。扫描和分解,识别出一个个的单词。扫描和分解,识别出一个个的单词。n n单词单词 是高级语言中有实在意义的最小语法单位,是高级语言中有实在意义的最小语法单位,是高级语言中有实在意义的最小语法单位,是高级语言中有实在意义的最小语法单位,它由字符构成。它由字符构成。它由字符构成。它由字符构成。n n识别右边程序中的单词识别右边程序中的单词 基本字:基
13、本字:基本字:基本字:Void,Void,intint,float ,float 标识符标识符标识符标识符:a,b,c,d,x,y,:a,b,c,d,x,y,jisuanjisuan 常数常数常数常数 :50:50 算符算符算符算符 :+,*,=:+,*,=界限符界限符界限符界限符:;,():;,()Void jisuan()int y,c,d;float x,a,b;x=a+b*50;y=(c+d)*(x+b);n n词法分析依照词法规则,识别出正确的单词法分析依照词法规则,识别出正确的单词,转换成统一规格,备用。词,转换成统一规格,备用。n n转换转换l l对基本字、运算符、界限符的转换对
14、基本字、运算符、界限符的转换对基本字、运算符、界限符的转换对基本字、运算符、界限符的转换 l l标识符的转换标识符的转换标识符的转换标识符的转换 l l常数的转换常数的转换常数的转换常数的转换 l l转换完成后的格式:(转换完成后的格式:(转换完成后的格式:(转换完成后的格式:(单词种别,单词符号的单词种别,单词符号的单词种别,单词符号的单词种别,单词符号的 属性值属性值属性值属性值)n n二元式表示二元式表示 (单词种别,单词符号的属性值)(单词种别,单词符号的属性值)n n描述词法规则的有效工具是描述词法规则的有效工具是正规式正规式和和有限有限自动机自动机。1.2 语法分析语法分析n n任
15、务:任务:根据语言的根据语言的根据语言的根据语言的语法规则语法规则语法规则语法规则,把单词流组成各类,把单词流组成各类,把单词流组成各类,把单词流组成各类语法单位语法单位语法单位语法单位,如:短语、句子、过程、程序,如:短语、句子、过程、程序,如:短语、句子、过程、程序,如:短语、句子、过程、程序n n语法规则:语法规则:语言的规则,又称为文法;规定单语言的规则,又称为文法;规定单语言的规则,又称为文法;规定单语言的规则,又称为文法;规定单词如何构成短语、语句、过程和程序。词如何构成短语、语句、过程和程序。词如何构成短语、语句、过程和程序。词如何构成短语、语句、过程和程序。语法规则通常用语法规
16、则通常用语法规则通常用语法规则通常用上下文无关文法上下文无关文法上下文无关文法上下文无关文法描述。描述。描述。描述。表达式的语法特征表达式的语法特征n n任任任任何何何何一一一一个个个个标标标标识识识识符符符符都都都都是表达式;是表达式;是表达式;是表达式;n n任任任任何何何何一一一一个个个个数数数数都都都都是是是是表表表表达式;达式;达式;达式;n n如如如如果果果果e e e e1 1 1 1和和和和e e e e2 2 2 2都都都都是是是是表表表表达式,那么达式,那么达式,那么达式,那么 e e e e1 1 1 1+e e e e2 2 2 2 e e e e1 1 1 1*e e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 编译器概述 编译器 概述
限制150内