《编译原理》模拟试题一
一、是非题(请在括号内,正确的划√,错误的划×)(每个 2 分,共 20 分)
1.计算机高级语言翻译成低级语言只有解释一种方式。(×)
2.在编译中进行语法检查的目的是为了发现程序中所有错误。(×)
3.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系
统功能完全相同。 (√ )
4.正则文法其产生式为 A->a , A->Bb, A,B∈VN , a 、 b∈VT 。 (×)
5.每个文法都能改写为 LL(1) 文法。 (√)
6.递归下降法允许任一非终极符是直接左递归的。 (√)
7.算符优先关系表不一定存在对应的优先函数。 (×)
8.自底而上语法分析方法的主要问题是候选式的选择。 (×)
9.LR 法是自顶向下语法分析方法。 (×)
10.简单优先文法允许任意两个产生式具有相同右部。 (×)
二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每
个 4 分,共 40 分)
1. 一个编译程序中,不仅包含词法分析,_____,中间代码生成,代码优化,
目标代码生成等五个部分。
A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析
2. 词法分析器用于识别_____。
A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符
3. 语法分析器则可以发现源程序中的_____。
A.( ) 语义错误 B.( ) 语法和语义错误
C.( ) 错误并校正 D.( ) 语法错误
4. 下面关于解释程序的描述正确的是_____。
(1) 解释程序的特点是处理程序时不产生目标代码
(2) 解释程序适用于 COBOL 和 FORTRAN 语言
(3) 解释程序是为打开编译程序技术的僵局而开发的
A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3)
5. 解释程序处理语言时 , 大多数采用的是_____方法。
A.( ) 源程序命令被逐个直接解释执行
B.( ) 先将源程序转化为中间代码 , 再解释执行
C.( ) 先将源程序解释转化为目标程序 , 再执行
D.( ) 以上方法都可以
6. 编译过程中 , 语法分析器的任务就是_____。
(1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的
(3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构
A.( ) (2)(3) B.( ) (2)(3)(4)C.( ) (1)(2)(3) D.( ) (1)(2)(3)(4)
7. 编译程序是一种_____。
A. ( ) 汇编程序 B.( ) 翻译程序 C.( ) 解释程序 D.( ) 目标程序
8. 文法 G 所描述的语言是_____的集合。
A. ( ) 文法 G 的字母表 V 中所有符号组成的符号串
B.( ) 文法 G 的字母表 V 的闭包 V* 中的所有符号串