一、简答题
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. 什么是文法?
答:文法是描述语言的语法结构
原创力文档

文档评论(0)