四川大学编译原理期末复习总结(17 页)Good is good, but better carries it
精益求精,善益求善
一、简答题1
什么是编译程序
答:编译程序是一种将高级语言程序(源程序)翻译成低级语言(目标程序)的程序
将高级程序设计语言程序翻译成逻辑上等价的低级语言(汇编语言,机器语言)程序的翻译程序
请写出文法的形式定义
答:一个文法 G 抽象地表示为四元组 G=(Vn,Vt,P,S) –其中 Vn 表示非终结符号–Vt 表示终结符号,Vn∪Vt=V(字母表),Vn∩Vt=φ–S 是开始符号,–P 是产生式,形如:α→β(α∈V+且至少含有一个非终结符号,β∈V*) 3
语法分析阶段的功能是什么
答:在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语(例:程序、语句、表达式)
确定整个输入串是否构成语法上正确的程序
局部优化有哪些常用的技术
答:优化技术 1—删除公共子表达式优化技术 2—复写传播优化技术 3—删除无用代码优化技术 4—对程序进行代数恒等变换(降低运算强度)优化技术 5—代码外提优化技术 6—强度削弱优化技术 7—删除归纳变量优化技术简介——对程序进行代数恒等变换(代数简化)优化技术简介——对程序进行代数恒等变换(合并已知量)5.编译过程分哪几个阶段
答:逻辑上分五个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成
每个阶段把源程序从一种表示变换成另一种表示
答:文法是描述语言的语法结构的形式规则
是一种工具,它可用于严格定义句子的结构;用有穷的规则刻划无穷的集合;文法是被用来精确而无歧义地描述语言的句子的构成方式;文法描述语言的时候不考虑语言的含义
语义分析阶段的功能是什么
答:对语法分析所识别出的各类语法范畴分析其含义,进行初步的翻译(翻译成中间代码);并