编译原理-期末选择题【太原理工大学】

1.一个编译程序中,不仅包含词法分析 中间代码生成,代码优化,目标代码生成等五个部分
A.()语法分析  B.()文法分析  C.()语言分析  D.()解释分析
2.词法分析器用于识别_C。
A.()字符串  B. ()语句
C. ()单词  D.()标识符
3.语法分析器则可以发现源程序中的_D。
A.()语义错误  B.()语法和语义错误
C.()错误并校正  D.()语法错误
4.下面关于解释程序的描述正确的是_ B。
(1)解释程序的特点是处理程序时不产生目标代码
(2) 解释程序适用于 COBOL 和 FORTRAN 语言
(3)解释程序是为打开编译程序技术的僵局而开发的
A. ()(1)(2)  B. ()(1)  C. ()(1)(2)(3)  D. ()(2)(3)
5.解释程序处理语言时 ,大多数采用的是_B方法。
A.()源程序命令被逐个直接解释执行
B.()先将源程序转化为中间代码 ,再解释执行
C.()先将源程序解释转化为目标程序 ,再执行
D.()以上方法都可以
6.编译过程中 ,语法分析器的任务就是_B。
(1)分析单词是怎样构成的  (2)分析单词串是如何构成语句和说明的
(3)分析语句和说明是如何构成程序的 (4)分析程序的结构

A. ( ) (2)(3)
C. () (1)(2)(3)
B. ( ) (2)(3)(4)
D. ( ) (1)(2)(3)(4)
7.编译程序是一种 B
A. ()汇编程序
B.()翻译程序
C.()解释程序
D.()目标程序
8. 文法 G 所描述的语言是的集合。C

A. ()文法 G 的字母表V 中所有符号组成的符号串
B.()文法 G的字母表V 的闭包V*中的所有符号串
C.()由文法的开始符号推出的所有终极符串
D.()由文法的开始符号推出的所有符号串
9. 文法分为四种类型,即0型、1型、2型、3型。其中3型文法是 B
A.()短语文法
C.()上下文有关文法
B.()正则文法
D.()上下文无关文法
10.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 D(易错题:句型和产生式的概念容易混淆
A.()句子
C.()单词
B.()句型
D.()产生式

1. 通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_C
A.()模拟执行器B.()解释器C.()表格处理和出错处理 D.()符号执行器
2. 文法G[N]=({b},{N,B},N,{N -> b|bB,B -> bN}),该文法所描述的语言是 C
A. () L(G[N])=(bi| i≥0}
B. () L(G[N])=(b2i|i≥0}
C. () L(G[N])=(b2i+1 | i≥0}
D. ( )L(G[N])={b2i+1| i≥1}
3. 一个句型中的最左 B 称为该句型的句柄。
A.()短语
B.()简单短语
C.()素短语
D.()终结符号

4. 设G 是一个给定的文法,S是文法的开始符号,如果S->x(其中XEV*),则称 × 是文法G的一个 B 
A.()候选式
B.()句型
C.()单词
D. ()产生式
5.文法 G[E]:
E→T|E +T
T→F|T * F
F a|(E)
该文法句型 E+F*(E+T)的简单短语是下列符号串中的 B
①(E+ T)②E + T③F④F* (E+T)
A.()① 和 ③
B.()② 和③
C.()③和④
D. () ③
6. 若一个文法是递归的,则它所产生的语言的句子_A 
A.()是无穷多个B.()是有穷多个C.()是可枚举的 D.()个数是常量

7.词法分析器用于识别 C (易错题:此处的单词要与我们平时说的单词区分,此处单词包含多种)

A.()句子
B.()句型
C.()单词
D.()产生式
8.在语法分析处理中,FIRST 集合、FOLLOW 集合、SELECT 集合均 B

A.()非终极符集
B()终极符集
C.()字母表
D.()状态
9. 在自底向上的语法分析方法中,分析的关键是 D
A. ()寻找句柄
B.()寻找句型
C.()消除递归
D.()选择候选式
10. 在LR 分析法中,分析栈中存放的状态是识别规范句型 C
A.()句柄
B.()前缀
C.()活前缀
D.()LR(0)项目


1.文法G产生的 D 的全体是该文法描述的语言。
A.()句型 B.()终结符集 C.()非终结符集 D.句子

2.若文法G定义的语言是无限集,则文法必然是 A

A.()递归的C.()二义性的
B.()前后文无关的D.()无二义性的
3.四种形式语言文法中,1型文法又称为 C 文法
A.()短语结构文法
B.()前后文无关文法
C.()前后文有关文法D.()正规文法

4.一个文法所描述的语言是 A (易错题:不要觉得语言包含了文法产生的所有句子就不唯一,产生的句子再多也是唯一的
A.()唯一的
C.()可能唯一,好可能不唯一
B.()不唯一的D.()都不对
5._B 和代码优化部分不是每个编译程序都必需的。

A.()语法分析
C.()词法分析
B.()中间代码生成
D.()目标代码生成
6.是两类程序语言处理程序。B

A. ()高级语言程序和低级语言程序
B.()解释程序和编译程序
C.()编译程序和操作系统
D.()系统程序和应用程序
7. 数组的内情向量中肯定不含有数组的_A_的信息。
A.()维数
B.()类型
C.()维上下界
D. ()各维的界差
8. 一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 D
A.()句于
C.()单词
B.()句型
D.()产生式

9. 文法分为四种类型,即0型、1型、2型、3型。其中2型文法是 D (注意文法类型从0开始
A. ()短语文法
C.()上下文有关文法
B.()正则文法
D.()上下文无关文法
10.文法G所描述的语言是 C 的集合。
A.()文法G的字母表V中所有符号组成的符号串
B.()文法G 的字母表V的闭包V*中的所有符号串
C.()由文法的开始符号推出的所有终极符串
D.()由文法的开始符号推出的所有符号串

1.词法分析器的输出结果是 C

A 单词的种别编码  B 单词在符号表中的位置 C.单词的种别编码和自身值 D 单词自身值
2.正规式 M1和M2等价是指 C
A.()M1 和M2的状态数相等
B.()M1 和M2的有向边条数相等
C.()M1 和M2所识别的语言集相等

D. ()M1和 M2状态数和有向边条数相等


3. 文法 G: S → xSx | y 所识别的语言是_C (易错题:看似CD都可以,但C能保证两个y数量相等)
A. () хух В. () (xyx)* C. ( ) х^nух^n(n>=0) D. () х*ух*

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

8. 优化可生成 D 的目标代码。
A.()运行时间较短
C.()运行时间短但占用内存空间大
B.()占用存储空间较小
D.()运行时间短且占用存储空间小
9. 下列 C 优化方法不是针对循环优化进行的。
A. ()强度削弱
B.()删除归纳变量
C.()删除多余运算D. ()代码外提
10. 编译程序使用  B_区别标识符的作用域。

A.()说明标识符的过程或函数名
B.()说明标识符的过程或函数的静态层次
C.()说明标识符的过程或函数的动态层次
D.()标识符的行号

1. 编译程序绝大多数时间花在  D
A.()出错处理B.()词法分析C.()目标代码生成D.()表格管理
2.编译程序是对 D
A.()汇编程序的翻译B.()高级语言程序的解释执行C.()机器语言的执行
D.()高级语言的翻译
3.采用自上而下分析,必须 C

A.()消除左递归B.()消除右递归C.()消除回溯D.()提取公共左因子
4. 在规范归约中,用_B_来刻画可归线串。
A.()直接短语B.()句柄
C.()最左素短语D.()素短语

答案:5B 6A 7B 8D 9D 10D

1. 规范推导是(B)

 A.最左推导 B.最左归约的逆过程 C.最右推导的逆过程 D.最右归约的逆过程

2. 可归前缀是指(A)

 A.含有句柄的活前缀 B.活前缀C.规范句型的前缀D.句柄

3. 算符优先分析法每次都是对(B)进行归约。

A.短语B.最左素短语C.素短语D.句柄

4. LR 分析法每次都是对(D)进行归约。

A.短语B.最左素短语C.简单短语D.句柄

5. DFA 与 NFA 的不同之处在于(B)

A.DFA 只能含有一个终止状态,而 NFA 可以含有多个终止状态

B.DFA 只能含有一个初始状态,而 NFA 可以含有多个初始状态

C.DFA 与 NFA 所描述的字符串集合不同

D.DFA 与 NFA 使用的构造技术和对象不同

6. 以下不属于自底向上语法分析方法的是(A)

A.LL (1)  B.LR (1)  C.SLR (1)  D.算符优先分析法

7. 由文法的开始符号出发通过若干步推导产生的符号串是(B)

 A.语言 B.句型 C.句子 D.句柄

8. SLR(1) 的项目集中可能会出现(B)冲突。  

A.移进-移进 B.移进-归约 C.待约-归约 D.待约-待约

9. 最左简单子树的叶节点,自左至右排列组成句型的(C)

A.短语 B.简单短语 C.句柄 D.间接短语

10. 下列哪种方法不属于编译程序的开发技术(B)

A 自编译  B 分步编译  C 自展  D 交叉编译

11. 简单优先分析法每次都是对(D)进行归约。

A.短语 B.最左素短语 C.素短语 D.句柄

12. 词法分析后一般将单词分为(D)

A.标识符、常数、关键字

B.标识符、常数、特殊符号、变量

C.标识符、关键字

D.标识符、常数、关键字、特殊符号

  • 14
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
编译原理期末试题CSND包括以下几个方面的内容: 首先,试题可能会涉及到编译原理的基础知识,如编译器的基本原理、编译器的工作流程、编译器前端和后端的任务等。学生需要了解编译器的整体架构和各个组成部分之间的关系。 其次,试题可能会涉及到词法分析和语法分析的知识。学生需要了解有限自动机和正则表达式的基本概念,并能够使用它们来设计和实现一个简单的词法分析器。同时,学生还需要了解语法分析的方法,如LL(1)文法和LR(1)文法,并能够使用自顶向下或自底向上的方法来进行语法分析。 再次,试题可能会涉及到语义分析和中间代码生成的知识。学生需要了解语义分析的任务和方法,如变量的声明和作用域、类型检查和类型转换等,并能够设计和实现一个简单的语义分析器。同时,学生还需要了解中间代码的表示和生成方法,如四元式和三地址码,并能够将源代码转化为中间代码。 最后,试题可能会涉及到优化和目标代码生成的知识。学生需要了解常见的优化技术,如常量传播、死代码消除和循环展开等,并能够应用这些技术对中间代码进行优化。同时,学生还需要了解目标代码的表示和生成方法,如基本块和流图,并能够将中间代码转化为目标代码。 总之,编译原理期末试题CSND的考察范围相对广泛,涉及到了编译器的各个方面的知识和技术。学生需要充分理解并掌握这些知识,通过理论和实践的结合来解答试题。同时,学生还需要具备分析和解决问题的能力,能够灵活运用所学知识解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值