版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章概述从功能上说编译程序是一个翻译程序,将高级语言的程序翻译成低级语言的程序。以源程序在编译过程中的不同表示形式初步理解编译各阶段的工作。不会有很多人会从事设计和编写编译程序的工作的,但编译技术会应用在很多领域。有关术语:源语言,源程序,目标语言,目标程序,语言转换系统,编译程序的T型图表示。第3章文法和语言本章出现的概念较多,应重点理解文法,推导,句型句子及语言的定义等概念.文法作为程序语言的语法的描述工具,它用规则只能陈述的是:语言的所有句子以什麽样的符号串能出现.请记住文法和语言的形式定义中的“形式”的含义-只涉及语言的语法不涉及语言的语义.本章内容是形式语言理论的一部分.形式语言理论是对符号串集合的表示法、结构及其特性的研究。是程序设计语言语法分析研究的基础。已知文法G[A],写出它定义的语言描述
G[A]:A→0B|1C
B→1|1A|0BB
C→0|0A|1CC答案:G[A]定义的语言由0、1符号串组成,串中0和1的个数相同.构造一文法,其定义的语言是由算符+,*,(,)和运算对象a构成的算术表达式的集合.答案1:G[E]:
E→E+T|T
T→T*F|F
F→(E)|a
答案2:G[E]:E→E+E|E*E|(E)|a第4章词法分析词法分析程序是编译第一阶段的工作,它读入字符流的源程序,按照词法规则识别单词,交由语法分析程序接下去。本章讲述了词法分析程序设计原则,并介绍了正规式和有穷动机分别作为正规集描述和识别机制。词法分析程序的设计技术可应用于其它领域,比如查询语言以及信息检索系统等。词法分析程序的自动构造工具也广泛应用于许多方面,如用以生成一个程序,可识别印刷电路板中的缺陷,又如开关线路设计和文本编辑的自动生成等。第5章自顶向下语法分析方法确定的自顶向下分析方法虽对文法有一定的限制,但由于实现方法简单、直观,便于手工构造或自动生成语法分析器,因而仍是目前常用的方法之一。要求能够对一个给定的文法判断是否是LL(1)文法;能构造预测分析表;能用预测分析方法判断给定的输入符号串是否是该文法的句子;对某些非LL(1)文法做等价变换后可能变成LL(1)文法。
第6章算符优先分析语法分析是编译程序的核心部分。语法分析的作用是识别由词法分析给出的单词符号序列是否是给定文法的正确句子(程序),目前语法分析常用的方法有自顶向下(自上而下)分析(见第5章)和自底向上(自下而上)分析两大类。而自底向上分析又可分为算符优先分析和LR分析(见第7章),它们的分析都是移进-归约过程,是自顶向下最右推导的逆过程,但LR分析是规范归约,算符优先分析不是规范归约。它们的区别在于识别可归约串的原则不同。LR分析是按规范句型的句柄为可归约串,算符优先分析是以句型的最左素短语为可归约串,这样算符优先分析去掉了单非终结符的归约(即一个非终结符到另一个非终结符的归约),因此,算符优先分析法比LR分析(规范归约)法的归约速度快。算符优先分析的缺点是对文法有一定的限制,在实际应用中往往只用于算数表达式的归约。由于算符优先分析不是规范归约,所以可能把不是文法的句子错误的归约成功。
算符优先分析是移进-归约过程,移进就是将一个终结符推进栈,归约就是将0个或多个符号(某个产生式的右部)从栈中弹出,将相应产生式左部的非终结符压入栈中。对一个输入符号串,不断地进行移进-归约过程,若能归约到文法的开始符号则为归约成功。在归约工作的每一步,都是从当前栈顶符号串中寻找一个子串,看它是否能归约到文法的某个非终结符号,该子串称为“可归约串”。因此,如何识别"可归约串"是算符优先分析的关键问题。要求:对一个给定的算符文法能构造算符优先关系分析表,并能判别所给文法是否为算符优先文法。对一个给定的输入串能应用算符优先关系分析表给出分析(归约)步骤,并最终判断所给输入串是否为该文法的句子。分清规范句型的句柄和最左素短语的区别,进而分清算符优先归约和规范归约的区别。第7章LR分析法LR分析的特征是:约过程是规范的:符号栈中的符号是规范句型的前缀,且不含句柄以后的任何符号(活前缀)。分析决策依据栈顶状态和现行输入符号是什么来决定的。为构造LR分析表,可先构造识别活前缀和句柄的DFA。LR分析器的关键部分是分析表的构造,对一个文法能判断是否是LR类文法,能构造相应的LR分析表,并能对给定的输入串进行分析以决定该输入串是否为所给文法的句子四种LR类型:LR(0)SLR(1)LALR(1)LR(1)功能逐个增强
四种LR类型的文法是真包含关系
四种LR类分析器的作用LR类型文法是无二义的某些二义性文法,人为地给出优先性和结合性的规定,可能构造出比相应非二义性文法更优越的LR分析器。第8章语法制导翻译与中间代码生成中间代码是复杂性介于源程序语言和机器语言的一种表式形式。编译程序中所使用的中间代码有多种形式,常见的有逆波兰记号、三元式和四元式等等。源程序翻译成中间表示,要在保证源语言语句语义的条件下进行源语句到目标语句结构上的变换。学习了本章应能掌握一般语法成分,如条件语句,循环语句和简单说明语句等结构的翻译。
语法制导翻译指的是编译实现的方法,分析过程和分析树用于制导语义分析和源程序的翻译,常用的办法是扩充惯用的文法,加上控制语义分析和翻译的信息,这样的文法称为属性文法。第11章代码优化代码优化是对程序实施各种等价变换,使得变换后的程序利于生成更有效的目标代码。编译程序可以在中间代码一级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新入职员工三级教育培训规范
- 固废分类收集与贮存制度
- 中医四诊合参诊断规范
- 专项作业安全风险辨识指南
- 农产品电商销售质量控制
- 脉诊诊断技术操作执行规范
- 肉鸭大棚饲养环境调控管理方案
- 气体泄漏应急抢修实施办法
- 中医拔罐临床应用规范
- 农药包装废弃物回收处置方案
- 现代政治学原理(第四版)课件汇 石永义 第6-10章 政治权力 - 政治发展
- 保安员资格考试复习题库及答案(800题)
- 有限空间作业安全协议书
- 2024年安全生产标准化管理体系自评报告
- 2024年6月浙江省温州市普通高中学业水平模拟测试生物试题
- 律师合同审查工作方案
- 《人工智能技术基础》课件 第5章 注意力机制
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 卫生院临床诊疗指南
- 中外美术评析与欣赏智慧树知到期末考试答案章节答案2024年湖南大学
- 计算机日常保养与维护
评论
0/150
提交评论