- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编 译 原 理 夏 斌 x1192004@163.com 关于编译原理课程 内容 编译原理是介绍如何将高级程序设计语言变换成计算机硬件所能识别的机器语言,以便计算机进行处理。 介绍编译系统的工作原理 介绍编译系统的构造方法 本课程的地位 是计算机专业的学生必修的一门主干课 是本学科研究生入学考试的课程之一 是软件技术基础 学习方法 1、认真听课,认真理解书中的基本概念、基 本原理与基本算法 2、认真做作业 3、在看书时或理解例题时,一定要画出相应 的细节变化过程,通过画图来加深理解 4、在理解的基础上记忆 5、理论结合实践 第一章 引论 本章内容: 什么是编译程序 编译程序各阶段的主要功能 在计算机上如何执行一个高级语言程序? 把高级语言程序翻译成机器语言程序 运行所得的机器语言程序求得计算结果 翻译器:能够将一种语言转换成另一种语言的软件,而且后者与前者在逻辑上是等价的。 源语言 目标语言 编译 专指由高级语言转换为低级语言 解释 接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,然后再接受下一句。 编译和解释的区别: 英译汉与编译的比较 1.识别出句子中的一个个单词 2.分析句子的语法结构 3.分析句子的语义 4.初步翻译 5.译文修饰 6.写出最后译文 1.词法分析 2.语法分析 3.语义分析 4.中间代码生成 5.优化 6.目标代码生成 1.1 词法分析 任务 输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。 单词 是高级语言中有实在意义的最小语法单位,它由字符构成。 识别右边程序中的单词 基本字:Void , int , float 标识符: a, b, c, d, x, y, jisuan 常数 : 50 算符 : +,*,= 界限符: { } ; , ( ) 词法分析依照词法规则,识别出正确的单词,转换成统一规格,备用。 转换 对基本字、运算符、界限符的转换 标识符的转换 常数的转换 转换完成后的格式:(单词种别,单词符号的 属性值) 二元式表示 (单词种别,单词符号的属性值) 描述词法规则的有效工具是正规式和有限自动机。 1.2 语法分析 任务:根据语言的语法规则,把单词流组成各类语法单位,如:短语、句子、过程、程序 语法规则:语言的规则,又称为文法;规定单词如何构成短语、语句、过程和程序。 语法规则通常用上下文无关文法描述。 表达式的语法特征 任何一个标识符都是表达式; 任何一个数都是表达式; 如果e1和e2都是表达式,那么 ? e1 + e2 ? e1 * e2 ? (e1) 也都是表达式 语法分析有两种方法: 推导(Derive)和规约(Reduce) 语法分析过程也可以用一棵倒着的树来表示,这棵树叫做分析树 1.3 语义分析 任务:检查程序的语义正确性,以保证程序各部分能有意义的结合在一起,为以后的代码生成阶段收集类型信息 语义分析阶段的重要工作:类型检查 1.4 中间代码生成 任务:根据语义规则产生一种介于源语言与目标代码之间的一种中间代码。 中间代码是不依赖于机器但是又便于生成依赖于机器的目标代码的一种结构简单、含义明确的记号系统 中间代码形式 逆波兰式、 四元式、三元式 1.5 代码优化 任务:对前面产生的中间代码进行加工变换,以期在最后阶段能产生更为高效的目标代码。 原则:等价变换 主要方面:公共子表达式的提取、合并已知量、删除无用语句、循环优化等。 例. 1.6 目标代码生成 任务:把经过优化的中间代码转化成特定 机器上的低级语言代码 目标代码的形式 绝对指令代码:可立即执行的目标代码。 汇编指令代码:汇编语言程序,需要通过汇编程序汇编后才能运行。 可重定位指令代码:先将各目标模块连接起来,确定变量、常数在主存中的位置,装入主存后才能成为可以运行的绝对指令代码。 1.7 符号表管理 表格作用:用来记录源程序的各种信息以及编译过程中的各种状况。 与编译前四阶段有关的表格有: 符号表、常数表、标号表、分程序入口表、中间代码表等。 符号表:用来登记源程序中的常量名、变量名、数组名、过程名等,记录它们的性质、定义和
您可能关注的文档
- 第一章必要收益率和风险的分析及度量.ppt
- 第一章心理现象的基本意义 (2).ppt
- 第一章房屋建筑识图-1.ppt
- 第一章我们远古祖先的起源.ppt
- 第一章护理心理学.ppt
- 第一章摄影简史.ppt
- 第一章故障理论概述.ppt
- 第一章数据分布的统计表与统计图.ppt
- 第一章数据类型与表达式.ppt
- 第一章文学的缘起第一讲上古神话.ppt
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
文档评论(0)