编译原理 期末复习

编译原理

一、单选题

1、将编译程序分为若干个“遍”是为了()。B

A.提高程序的执行效率

B.使程序的结构更加清晰

C.利用有限的机器内存并提高机器的执行效率 D.利用有限的机器内存但降低了机器的执行效率

2、构造编译程序应掌握()。D

A.源程序 B.目标语言 C.编译方法 D.以上三项都是

3、变量应当()。C

A.持有左值 B.持有右值

C.既持有左值又持有右值 D.既不持有左值也不持有右值

4、编译程序绝大多数时间花在()上。D

A.出错处理 B.词法分析 C.目标代码生成 D.管理表格 5、()不可能是目标代码。D

A.汇编指令代码 B.可重定位指令代码 C.绝对指令代码 D.中间代码

6、编译程序是对()。D

A.汇编程序的翻译 B.高级语言程序的解释执行 C.机器语言的执行 D.高级语言的翻译

7、正规式M1和M2等价是指()。C

A.M1和M2的状态数相等 B.M1和M2的有象弧条数相等

C.M1和M2所识别的语言集相等 D.M1和M2状态数和有象弧条数相等

8、如果文法G是无二义的,则它的任何句子()。A

A.最左推导和最右推导对应的语法树必定相同。 B.最左推导和最右推导对应的语法树可能相同。 C.最左推导和最右推导必定相同。

D.可能存在两个不同的最左推导,但它们对应的语法树相同。

9、文法G:S→S+T|T

T→T*P|P P→(S)|i

句型P+T+i的短语有()B

A. i,P+T B. P,P+T,i,P+T +i B.P+T + i D. P,P+T,i

10、产生正规语言的文法为()。D

A.0型 B.1型 C.2型 D.3型

11、文法G:S→b|?|(T)

T→T?S|S

则FIRSTVT(T)=() C

A.{b,?,(} B.{b,?,)} C.{b,?,(,?} D.{b,?,),?}

12、给定文法:A→bA | cc,下面的符号串中,为该文法句子的是()。 A

?cc ?bcbc ?bcbcc ④bccbcc ⑤bbbcc 可选项有:

A.? B.??④⑤ C.?④ D.?④⑤

13、采用自上而下分析,必须()。C

A.消除左递归 B.消除右递归 C.消除回溯 D.提取公共左因子

14、由文法的开始符经0步或多步推导产生的文法符号序列是()。C A.短语 B.句柄 C.句型 D.句子

15、后缀式ab+cd+/可用表达式()来表示。 B

A.a+b/c+d B.(a+b)/(c+d) C.a+b/(c+d) D.a+b+c/d

16、语法分析器则可以发现源程序中的()。D

A.语义错误 B.语法和语义错误 C.错误并矫正 D.语法错误

17、在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是()。B

A.非终极符集 B.终极符集 D.字母表 D.状态集

18、四种形式语言文法中,1型文法又称为()。C

A.短语结构文法 B.前后文无关文法 C.前后文有关文法 D.正规文法

19、优化可生成()的目标代码。D

A.运行时间较短 B.占用存储空间较小

C.运行时间短但占用内存空间大 D.运行时间短且占用内存空间小

20、四元式之间的联系是通过()实现的。B

A.指示器 B.临时变量 C.符号表 D.程序变量

二、多选题

1、如果在文法G中存在一个句子,当其满足下列条件( BCD )之一时,则称该文法是二义文法。

A.其最左推导和最右推导相同 B.该句子有两个不同的最左推导 C.该句子有两个不同的最右推导 D.该句子有两棵不同的语法树 E.该句子对应的语法树唯一

2、下面(BCD)语法制导翻译中,采用拉链—回填技术。 A、赋值语句 B、布尔表达式的计算 C、条件语句 D、循环语句

3、一般程序设计语言的定义都涉及到( ABC)3个方面。 A、

语法 B、语义 C、语用 D、程序基本符号的确定

4、程序语言一般分为( A )和( B )。

A高级语言 B低级语言 C专用程序语言 D通用程序语言 5、编译程序工作时,通常有(ABCD )阶段。

A、词法分析B、语法分析 C、中间代码生成 D、语义检查 E、目标代码生成 6、编译过程中,语法分析的任务是( BCD )。

A、分析单词是怎样构成的 B、分析单词是如何构成语句和说明的 C、分析语句和说明是如何构成程序的 D、分析程序的结构 7、语法分析的常用方法有 ( AB )。

A、自顶向下 B、自底向上 C、自左向右 D、自右向左 8、程序设计语言常见的数据类型有:(ABCD) A、数值型数据 B、逻辑数据 C、字符数据 D、指针类型

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4