编译a卷-答案

编译a卷-答案

ID:34414905

大小:235.89 KB

页数:6页

时间:2019-03-05

编译a卷-答案_第1页
编译a卷-答案_第2页
编译a卷-答案_第3页
编译a卷-答案_第4页
编译a卷-答案_第5页
资源描述:

《编译a卷-答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学院姓名学号任课老师考场教室__________选课号/座位号………密………封………线………以………内………答………题………无………效……电子科技大学2010-2011学年第2学期期末考试A卷答案及评分细则课程名称:__编译原理_考试形式:闭卷考试日期:2011年6月21日考试时长:120分钟一、选择题(共10分,共10题,每题1分)1.编译程序是将高级语言程序翻译成(D)程序的翻译程序。A.机器语言B.汇编语言C.中间语言D.低级语言2.强制式语言的理论基础是(A)A.冯.诺依曼体系结构B.数学函数C.数理逻辑谓词演算D.抽象数据类型3.C语言的以下哪种

2、数据类型属于用户定义类型(C)A.整型B.实型C.数组型D.字符型4.以下哪种数据类型是抽象数据类型(D)A.Pascal的变体记录B.C语言的结构C.Java的数组D.C++的类5.从文法开始符推导出的任意符号串是该文法的(C)A.短语B.句子C.句型D.句柄6.一个句型对应的语法树中,有且仅有2层的子树的边缘,称为该句型的(A)A.直接短语B.短语C.素短语D.活前缀7.在自上而下的分析过程中,下列哪种情况不会产生回溯(C)A.公共左因子B.左递归C.右递归D.ε产生式8.下列哪种语法分析法适用于分析LL(1)文法(A)A.预测分析法B.LR分析法C.

3、算符优先分析法D.递归下降分析法9.项目Aα·Bβ称为(C),其中B∈VN。A.移进项目B.归约项目C.待约项目D.接受项目10.代码生成时,节省一条指令MOVRi,x,节省的执行代价为(C)。A.0B.1C.2D.3第1页共页学院姓名学号任课老师考场教室__________选课号/座位号………密………封………线………以………内………答………题………无………效……二、简答题(共30分,共6题,每题5分)1.什么是绑定,静态绑定和动态绑定有什么区别?绑定:一个对象(或事物)与其各种属性建立起某种联系的过程。(3分)静态绑定:凡是在编译时(运行前)能确定的属

4、性称为静态属性。实体与静态属性之间的绑定在编译时(运行前)完成,运行时不改变,称为静态绑定。(1分)动态绑定:凡是在运行时才能确定的属性称为动态属性。实体与动态属性之间的绑定在运行时完成,称为动态绑定。(1分)评分标准:答出关键词属性、编译时、运行时即可得分。2.举例说明用户定义类型的6种聚合方法。笛卡尔积:PASCAL的记录;C的结构。有限映像:数组。序列:串、顺序文件。递归:指针。判定或:PASCAL的变体记录;C的联合。幂集:PASCAL的集合。评分标准:答出6种方式可得4分;举例酌情给分。3.简述编译的5大步骤的功能,以及各步骤的输入与输出。1)词

5、法分析:根据词法规则,进行合法性检查;从构成源程序的字符串中识别出单词符号。字符串→单词符号串(单词串、符号串)2)语法分析:根据语法规则,进行合法性检查;将单词符号串组合成各类语法单位,构造语法树。单词符号串→语法树3)语义分析与中间代码生成:根据语义规则,进行合法性检查;进行初步的翻译,生成中间代码。语法树→中间代码4)优化:对中间代码进行等价变换,使代码的效率更高。中间代码→优化后的中间代码5)目标代码生成:将中间代码翻译成目标代码(目标程序)。中间代码→目标程序评分标准:每个阶段各1分。4.若算符文法G的任何两个终结符a和b没有优先关系,或者至多只

6、有=、<和>中的一个优先关系,则称G为算符优先文法。评分标准:算符文法、至多、=、<、>各1分。5.简述循环优化的3种方法,各举一个例子。1)代码外提:对x:=opy或x:=yopz,如果y、z均为循环不变量(常数或定值点在L之外),则该运算为循环不变运算,优化时将该运算提到循环入口结点之前所增设的结点中去。(2分)2)强度削弱:基本归纳变量i每循环一次增加或减少c,与i同族的归纳变量j相应增加或减少c1*c。计算j的乘法可由加法来代替:j:=j+c1*c(c1*c为常数)。(2分)3)删除归纳变量:用同族归纳变量作为判断条件,如基本归纳变量别无它用,则可

7、将其删除。(1分)例如:j=10*i+5,判断条件为i>10,则将i>10改为j>105,同时删除i相关的语句。第2页共页学院姓名学号任课老师考场教室__________选课号/座位号………密………封………线………以………内………答………题………无………效……6.简述存储分配的3种方式,各举一个例子。1)静态分配:变量与存储区域的绑定关系在编译时便可建立,并完成存储分配。例如:静态变量的分配。(2分)2)栈式分配:当一个程序单元被激活时,在栈顶分配其活动记录;当程序单元退出时,在栈顶将其活动记录撤销。例如:半静态变量的分配。(2分)3)堆分配:由于动态变量

8、的首地址、长度、类型等在编译时无法确定,在执行过程中也可能改变,对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。