四川大学编译原理期末复习总结材料.pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档 一、简答题 1.什么是编译程序? 答: 编译程序是一种将高级语言程序 (源程序 )翻译成低级语言 ( 目标程序)的程序 。 将高级程序设计语言程序翻译成逻辑上等价的低级语言 (汇编语言 ,机器语言 )程序的 翻译程序。 2.请写出文法的形式定义? 答: 一个文法 G 抽象地表示为四元组 G= (Vn,Vt,P,S) – 其中 Vn 表示非终结符号 – Vt 表示终结符号, Vn ∪Vt= V(字母表 ) ,Vn ∩Vt= φ – S 是开始符号, – P 是产生式,形如:α→β ( α∈V+ 且至少含有一个非终结符号,β∈ V*) 3.语法分析阶段的功能是什么? 答: 在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语 (例: 程序、语句、表达式 )。确定整个输入串是否构成语法上正确的程序。 4.局部优化有哪些常用的技术? 答: 优化技术 1—删除公共子表达式 优化技术 2—复写传播 优化技术 3—删除无用代码 优化技术 4—对程序进行代数恒等变换(降低运算强度) 优化技术 5—代码外提 优化技术 6—强度削弱 优化技术 7—删除归纳变量 优化技术简介 —— 对程序进行代数恒等变换(代数简化) 优化技术简介 —— 对程序进行代数恒等变换(合并已知量) 5.编译过程分哪几个阶段? 答:逻辑上分五个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目 标代码生成。每个阶段把源程序从一种表示变换成另一种表示。 6. 什么是文法? 答:文法是描述语言的语法结构的形式规则。 是一种工具, 它可用于严格定义句子的结构; 用有穷的规则刻划无穷的集合; 文法是被用来精确而无歧义地描述语言的句子的构成 方式;文法描述语言的时候不考虑语言的含义。 7. 语义分析阶段的功能是什么? 答: 对语法分析所识别出的各类语法畴分析其含义,进行初步的翻译 (翻译成中间代码 ) ; 并对静态语义进行审查。 8.代码优化须遵循哪些原则? 答: 等价原则:不改变运行结果 有效原则:优化后时间更短,占用空间更少 合算原则:应用较低的代价取得较好的优化效果 9.词法分析阶段的功能是什么? 答: 文档 逐个读入源程序字符并按照构词规则切分成一系列单词 任务: 读入源程序,输出单词符号 — 滤掉空格,跳过注释、换行符 — 追踪换行标志,指出源程序出错的行列位置 — 宏展开, …… 10.什么是符号表? 答: 符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号 的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。如常数表、变 量名表、数组名表、过程名表、标号表等等,统称为符号表。对于符号表组织、构 造和管理方法的好坏会直接影响编译系统的运行效率。 11.什么是属性文法? 答:是在上下文无关文法的基础上, 为每个文法符号 (含终结符和非终结符 )配备若干个属 性值,对文法的每个产生式都配备了一组属性计算规则 (称为语义规则 )。在语法分析 过程中,完成语义规则所描述的动作,从而实现语义处理。 12.什么是基本块 ? 答: 是指程序中一顺序执行的语句序列,其中只有一个入口语句和一个出口语句,入口 是其第一个语句,出口是其最后一个语句。 13

文档评论(0)

zhaojf9409 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档