《编译原理》模拟试题一 一、是非题(请在括号内,正确的划√,错误的划×)(每个 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.综合属性是用于“自上而下”传递信息。 ( ) 1、× 2、× 3、√ 4、× 5、× 6、√ 7、× 8、× 9、× 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. 编译程序是一种_____...