编译技术考试试题及答案

上传人:人*** 文档编号:477606766 上传时间:2023-01-09 格式:DOC 页数:17 大小:59.50KB
返回 下载 相关 举报
编译技术考试试题及答案_第1页
第1页 / 共17页
编译技术考试试题及答案_第2页
第2页 / 共17页
编译技术考试试题及答案_第3页
第3页 / 共17页
编译技术考试试题及答案_第4页
第4页 / 共17页
编译技术考试试题及答案_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《编译技术考试试题及答案》由会员分享,可在线阅读,更多相关《编译技术考试试题及答案(17页珍藏版)》请在金锄头文库上搜索。

1、编译技术考试试题及答案一、 填空题(每空1分,共20分)1编译过程一般分为 、 、中间代码生成、 和目标代码生成五个阶段。2语法分析最常用的两类方法是 和 分析法。3确定的有穷自动机是一个 ,通常表示为 。4所谓最右推导是指 。5语法分析器的任务是 。6如果一个文法的任何产生式的右部都不含有 的非终结符,则这种文法称为 文法。7进行确定的自上而下语法分析要求语言的文法是无 和 的。8LR分析法是一种 的语法分析方法。9根据优化对象所涉及的程序范围,代码优化分为 、 和 等。10常用的优化技术包括: 、 、强度削弱、复写传播、 等。二、 是非题(下列各题,你认为正确的,请在题后的括号内打“ ”,

2、错的打“”。每题2分,共20分)1正规文法产生的语言都可以用上下文无关文法来描述。 ( )2仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ( )3如果一个文法是递归的,则其产生的语言的句子是无穷个。 ( )4四元式之间的联系是通过符号表实现的。 ( )5文法的二义性和语言的二义性是两个不同的概念。 ( )6一个LL( l)文法一定是无二义的。 ( )7在规范规约中用最左素短语来刻划可归约串。 ( )8目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( )9编译程序是对汇编程序的翻译。 ( )10逆波兰法表示的表达式亦称前缀式。 ( ) 三、 简答题(每题5分,共15分)1、简述

3、栈式存储管理策略; 2、何谓DAG; 3、何谓文法的二义性;四、 给出下述文法对应的正规式 (7分)S 0A| 1BA1S | 1B0S | 0五、 已知文法G(E):ET | E+T | E-TTF | T*F | T/FF(E) | i证明E+T*F是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。(8分)六、 设有文法GS:S aBc|bABA aAb|bB b|构造其LL(1)分析表,并分析符号串baabbb是否是该文法的句子. (10分)七、 设有文法GE:E (E) | 试判断该文法是否为SLR(1)文法,若不是,请说明理由;若是请构造SLR(1)分析表。(10 分)八、

4、 假设可用寄存器为R0和R1,试写出下列四元式序列对应的目标代码。(10分)T1=B-CT2=A*T1 T3=D+1 T4=E-F T5=T3*T4 参考答案 一、填空题(1X20=20分)1 词法分析、语法分析、代码优化2 自上而下、自下而上3 五元组、DFA=(K , , M, S, Z)4 任何一步都是对中最右非终结符进行替换5 分析一个文法的句子结构6 相邻、算符7 左递归、公共左因子8 自下而上9 局部优化、循环优化、局部优化10 删除公共子表达式、代码外提、变换循环控制条件、合并已知量、删除无用赋值(任选3个) 二、是非题(2X10=20分)1、 2、 3、 4、 5、 6、 7、

5、 8、 9、 10、三、简答题(见书中相应部分)(5X3=15 分)四、解:首先得正规式方程组: S=0A+1B A=1S+1 B=0S+0 求解该方程组得:S=(01|10)(01|10)* (8分)五、解 (2分) 是文法GS的句型。 短语:E+T*F, T*F (2分) 直接短语:T*F (2分) 句柄:T*F (2分)六、解:、因为FOLLOW(B)=FIRST(c)FOLLOW(S)=c,#(2分), 所以构造文法GS的LL(1)分析表(5)如下:aBc#SaBcbABAaAbbBb符号串baabbb是该文法的句子(3分)(分析过程略)。七 (2 分) 所以该文法为SLR(1)文法。

6、其分析表如下:(8分)状态ACTIONGOTO()#E0S2r2r211acc2S2r2r233S44r1r1八、 目标代码为: (10分) LD R0,B SUB R0,C LD R1,A MUL R1,R0 LD R0,D ADD R0,1 ST R1,M LD R1,E SUB R0,F MUL R0,R1 LD R1,M DIV R1,R0 ST R1,W习题一、单项选择题1、将编译程序分成若干个“遍”是为了 。 a提高程序的执行效率 b使程序的结构更加清晰 c利用有限的机器内存并提高机器的执行效率 d利用有限的机器内存但降低了机器的执行效率2、构造编译程序应掌握 。 a源程序b目标语

7、言 c编译方法d以上三项都是3、变量应当 。 a持有左值b持有右值 c既持有左值又持有右值d既不持有左值也不持有右值 4、编译程序绝大多数时间花在 上。 a出错处理b词法分析 c目标代码生成d管理表格5、 不可能是目标代码。 a汇编指令代码b可重定位指令代码 c绝对指令代码d中间代码6、使用 可以定义一个程序的意义。 a语义规则b词法规则 c产生规则d词法规则7、词法分析器的输入是 。 a单词符号串b源程序 c语法单位d目标程序8、中间代码生成时所遵循的是- 。 a语法规则b词法规则 c语义规则d等价变换规则9、编译程序是对 。 a汇编程序的翻译b高级语言程序的解释执行 c机器语言的执行d高级

8、语言的翻译10、语法分析应遵循 。 a语义规则b语法规则 c构词规则d等价变换规则解答1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。3、对编译而言,变量既持有左值又持有右值,故选c。4、编译程序打交道最多的就是各种表格,因此选d。5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义。因此选a。 7、b 8、c 9、d 10、c二、多项选择题

9、1、编译程序各阶段的工作都涉及到 。 a语法分析b表格管理c出错处理 d语义分析e词法分析2、编译程序工作时,通常有 阶段。 a词法分析b语法分析c中间代码生成 d语义检查e目标代码生成解答1b、c 2. a、b、c、e三、填空题 1、解释程序和编译程序的区别在于 。2、编译过程通常可分为5个阶段,分别是 、语法分析 、代码优化和目标代码生成。3、编译程序工作过程中,第一段输入是 ,最后阶段的输出为 程序。4、编译程序是指将 程序翻译成 程序的程序。解答 是否生成目标程序 2、词法分析 中间代码生成 3、源程序目标代码生成4、源程序 目标语言一、单项选择题1、文法G:SxSx|y所识别的语言是 。a. xyxb. (xyx)*c. xnyxn(n0)d. x*yx*2、文法G描述的语言L(G)是指 。a. L(G)=|S+ , VT*b. L(G)=|S*, VT*c. L(G)=|S*,(VTVN*)d. L(G)=|S+ , (VTVN*)3、有限状态自动机能识别 。a. 上下文无关文法b. 上下文有关文法c.正规文法d. 短语文法4、设G为算符优先文法,G的任意终结符对a、b有以下关系成立 。a. 若f(a)g(b),则abb.若f(a)g(b),则abc. ab都不一定成立d. a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号