编译原理期末试题(8套含答案大题集)

上传人:tia****nde 文档编号:36881880 上传时间:2018-04-03 格式:DOC 页数:19 大小:142.50KB
返回 下载 相关 举报
编译原理期末试题(8套含答案大题集)_第1页
第1页 / 共19页
编译原理期末试题(8套含答案大题集)_第2页
第2页 / 共19页
编译原理期末试题(8套含答案大题集)_第3页
第3页 / 共19页
编译原理期末试题(8套含答案大题集)_第4页
第4页 / 共19页
编译原理期末试题(8套含答案大题集)_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《编译原理期末试题(8套含答案大题集)》由会员分享,可在线阅读,更多相关《编译原理期末试题(8套含答案大题集)(19页珍藏版)》请在金锄头文库上搜索。

1、编译原理期末试题(一)一、是非题(请在括号内,正确的划,错误的划)(每个 2 分,共 20 分)1编译程序是对高级语言程序的解释执行。( )2一个有限状态自动机中,有且仅有一个唯一的终态。()3一个算符优先文法可能不存在算符优先函数与之对应。 ( )4语法分析时必须先消除文法中的左递归 。 ()5LR 分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。 ()6逆波兰表示法表示表达式时无须使用括号。 ( )7静态数组的存储空间可以在编译时确定。 ()8进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。 ()9两个正规集相等的必要条件是他们对应的正规式等

2、价。 ( )10一个语义子程序描述了一个文法所对应的翻译工作。 ()二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个 4 分,共 40 分)1词法分析器的输出结果是_。A( ) 单词的种别编码 B( ) 单词在符号表中的位置 C( ) 单词的种别编码和自身值 D( ) 单词自身值2 正规式 M 1 和 M 2 等价是指_。 A( ) M1 和 M2 的状态数相等 B( ) M1 和 M2 的有向边条数相等C( ) M1 和 M2 所识别的语言集相等 D( ) M1 和 M2 状态数和有向边条数相等 3 文法 G:SxSx|y 所识别的语言是_。A( ) xyx B(

3、 ) (xyx)* C( ) xnyxn(n0) D( ) x*yx* 4如果文法 G 是无二义的,则它的任何句子 _。A( )最左推导和最右推导对应的语法树必定相同 B( ) 最左推导和最右推导对应的语法树可能不同 C( ) 最左推导和最右推导必定相同 D( )可能存在两个不同的最左推导,但它们对应的语法树相同 5构造编译程序应掌握_。A( )源程序 B( ) 目标语言 C( ) 编译方法 D( ) 以上三项都是 6四元式之间的联系是通过_实现的。 A( ) 指示器 B( ) 临时变量 C( ) 符号表 D( ) 程序变量 7表达式(AB)(CD)的逆波兰表示为_。A. ( ) ABCD B

4、( ) ABCD C( ) ABCD D( ) ABCD 8. 优化可生成_的目标代码。A( ) 运行时间较短 B( ) 占用存储空间较小C( ) 运行时间短但占用内存空间大 D( ) 运行时间短且占用存储空间小9下列_优化方法不是针对循环优化进行的。A. ( ) 强度削弱 B( ) 删除归纳变量 C( ) 删除多余运算 D( ) 代码外提10编译程序使用_区别标识符的作用域。 A. ( ) 说明标识符的过程或函数名B( ) 说明标识符的过程或函数的静态层次C( ) 说明标识符的过程或函数的动态层次 D. ( ) 标识符的行号三、填空题(每空 1 分,共 10 分)1计算机执行用高级语言编写的

5、程序主要有两种途径:_解释_和_编译_。 2扫描器是_词法分析器_,它接受输入的_源程序_,对源程序进行_词法分析_并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。3自上而下分析法采用_移进_、归约、错误处理、_接受_等四种操作。4一个 LR 分析器包括两部分:一个总控程序和_一张分析表_。5后缀式 abc-/所代表的表达式是_a/(b-c)_。 6局部优化是在_基本块_范围内进行的一种优化。3. 试为表达式 w+(a+b)*(c+d/(e-10)+8) 写出相应的逆波兰表示。解: w a b + c d e 10 - / + 8 + * +4. 按照三种基本控制结构文法将下面

6、的语句翻译成四元式序列:while (A=0, m=1, n=2 14. 写一个文法 G, 使其语言为 L(G)=abncn| n0 16.写出表达式 ab*(c-d)/e 的逆波兰式和三元序列。 17.证明文法 G(A)AAA | (A)| 是二义性的。 答案: 6.证明: 因为文法 GS存在句子 aa 有两个不同的最左推导,所以文法 GS是是二义性的。 S=SaS=SaSaS=aSaS=aaS=aaS=SaS=aS=aSaS=aaS=aa 8.所求文法是 GS: SABAaAc | DDbD | b BaBb | aabb 14.文法 GS: SaB | aBbc |bBc 16.逆波兰式

7、: abcd-*e/+ 三元序列: op arg1 arg2(1) - c d(2) * b (1)(3) / (2) e(4) + a (3) 17.证明: 因为文法 GS存在句子 () 有两个不同的最左推导,所以文法 GS是是二义性的。 A=AA=(A)A=()A=()A=AA=A=(A)=() 五、计算题:五、计算题: 3.设文法 G(S): S(T) | a TT+S | S (1)计算 FIRSTVT 和 LASTVT; (2)构造优先关系表。 5.把语句while a0 then a:=a+1 else a:=a*3-1; 翻译成四元式序列。 7.已知文法 G(S) Sa | |

8、(T) TT,S | S (1) 给出句子(a,(a,a)的最左推导; (2) 给出句型(T,S),a)的短语, 直接短语,句柄。 11.把语句if X0 Y0 do X:=A*3else Y:=B+3; 翻译成四元式序列。 12.已知文法 G(S)EE+T | TTT*F| FF(E)| i(1) 给出句型 (i+i)*i+i 的最左推导及画出语法树;(2) 给出句型 (E+T)*i+F 的短语,素短语和最左素短语。 13.设文法 G(S): ST | ST TU |TU Ui |-U (1)计算 FIRSTVT 和 LASTVT; (2)构造优先关系表。 答案:答案: 3. (1) FIR

9、STVT(S)=a, ( FIRSTVT(T)=+, aa, (LASTVT(S)=a, ) LASTVT(T)=+, a, )(2)a + ( )a . . + ( . . 5. (1) (j, c, 0, (5) (4) (j, _, _, (8) (5) (+, a, 1, T1) (6) (:=, T1, _, a) (7) (j, _, _, (1) (8) (*, a, 13, T2) (9) (-, T2, 1, T3) (10) (:=, T3, _, a) (11) (j, _, _, (1) 7. 最左推导S=(T)=(T,S)=(S,S)=(a,S)=(a,(T)=(a,

10、(T,S)=(a,(S,S)=(a,(a,S)=(a,(a,a) 短语(T,S),a)(T,S),a(T,S)T,Sa 直接短语T,Sa 句柄T,S 11.(1) (j, X, 0, (5) (2) (j, _, _, (3) (3) (j0, X, 0, (7) (6) (j, _, _, (7) (7) (*, A, 3, T1) (8) (:=, T1, _, N) (9) (j, _, _, (5) (10) (j, _, _, (13) (11) (+, B, 3, T2) (12) (:=, T2, _, Y) 12.(1) E=E+T=T+T=T*F+T=F*F+T=(E)*F+

11、T=(E+T)*F+T=(T+T)*F+T=(F+T)*F+T=(i+T)*F+T=(i+F)*F+T=(i+i)*F+T=(i+i)*i+T=(i+i)*i+F=(i+i)*i+i (2) 短语 i, F, E+T, (E+T), (E+T)*i, (E+T)*i+F素短语 i, E+T 最左素短语 E+T 13.(1) FIRSTVT(S)=, , i, - FIRSTVT(T)=, i, - FIRSTVT(U)=i, -LASTVT(S)=, , i, - LASTVT(T)=, i, -LASTVT(U)=i, - (2)i -S . . . . =编译原理期末试题(五)一、单项选择

12、题(共 10 小题,每小题 2 分,共 20 分)1语言是A句子的集合 B产生式的集合 C符号串的集合 D句型的集合2编译程序前三个阶段完成的工作是A词法分析、语法分析和代码优化 B代码生成、代码优化和词法分析C词法分析、语法分析、语义分析和中间代码生成 D词法分析、语法分析和代码优化3一个句型中称为句柄的是该句型的最左A非终结符号 B短语 C句子 D直接短语4下推自动机识别的语言是A0 型语言 B1 型语言 C2 型语言 D3 型语言5扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A 字符 B单词 C句子 D句型6对应 Chomsky 四种文法的四种语言之

13、间的关系是AL0 L1 L2 L3 BL3 L2 L1 L0CL3=L2 L1 L0 DL0 L1 L2=L37词法分析的任务是A识别单词 B分析句子的含义C识别句子 D生成目标代码8常用的中间代码形式不含A三元式 B四元式 C逆波兰式 D语法树9 代码优化的目的是A节省时间 B节省空间 C节省时间和空间 D把编译程序进行等价交换10代码生成阶段的主要任务是A把高级语言翻译成汇编语言B把高级语言翻译成机器语言C把中间代码变换成依赖具体机器的目标代码D把汇编语言翻译成机器语言二、填空题(本大题共 5 小题,每小题 2 分,共 10 分)1编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。 2编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。3通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综

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

当前位置:首页 > 中学教育 > 试题/考题

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