河南科技大学 课程:编译原理(高起专) 1. ( 单选题 ) 语法分析器可以发现源程序中的( )。(本题2.5分) A、 语义错误 B、 语法和语义错误 C、 错误并校正 D、 语法错误 2. ( 单选题 ) 编译过程中,语法分析器的任务就是( )。 (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构(本题2.5分) A、 (2)(3) B、 (2)(3)(4) C、 (1)(2)(3) D、 (1)(2)(3)(4) 3. ( 单选题 ) 产生式是用于定义语法成分的一种书写规则。( )(本题2.5分) A、 正确 B、 错误 4. ( 单选题 ) 任何具有左递归性的前后文无关文法均非LL(1)文法。( )(本题2.5分) A、 正确 B、 错误 5. ( 单选题 ) 在自下而上的语法分析方法中,分析的关键是( )。(本题2.5分) A、 寻找句柄 B、 寻找句型 C、 消除递归 D、 选择候选式 6. ( 单选题 ) 处理冲突的方法不包括以下哪种方法( )。(本题2.5分) A、 开放定址法 B、 再哈希法 C、 链地址法 D、 建立一个私有溢出区 7. ( 单选题 ) 线性表的构造时,应该按照关键字( )顺序填写各个项。(本题2.5分) A、 后来者先填,先来者最后填 B、 按照关键字的多少 C、 先来者先填 D、 随机 8. ( 单选题 ) 一张符号表的每一项都包含两大栏,即名字栏和信息栏。( )(本题2.5分) A、 正确 B、 错误 9. ( 单选题 ) 符号表的组织方式只能采用直接填写式,在符号表主栏放一个指示器和整数。( )(本题2.5分) A、 正确 B、 错误 10. ( 单选题 ) 关于解释程序的特点的描述,下列哪一项是正确的()。(本题2.5分) A、 先将高级语言程序全部翻译成机器代码 B、 边解释边执行,翻译所得的指令序列并不保存 C、 边解释边执行,翻译所得的指令序列全部保存 D、 先解释完所有程序,然后执行 11. ( 单选题 ) 下列关于标识符与名字的区别的描述中,正确的是( )。(本题2.5分) A、 标识符和名字都是抽象的字符序列,没有确切的意义 B、 标识符只是抽象的字符序列,无确切的意义;名字则是由标识符表示,且具有语义属性 C、 名字是抽象的字符序列,无确切的意义;名标识符具有语义属性 D、 标识符和名字都具有语义属性 12. ( 单选题 ) 将高级语言程序翻译为计算机可执行的目标程序有哪些途径( )。(本题2.5分) A、 解释与编译 B、 解释与翻译 C、 解释 D、 编译 13. ( 单选题 ) 下列( )不属于程序设计语言中的低级语言?(本题2.5分) A、 机器语言 B、 汇编语言 C、 C语言 D、 面向机器的程序设计语言 14. ( 单选题 ) 为了提高线性表的查找效率,在自适应线性表中,给每项附设一个指示器,这些指示器把所有的项按照( )访问原则连接成一条链。(本题2.5分) A、 最后最近 B、 最优先最近 C、 最新最近 D、 随机 15. ( 单选题 ) 源程序指以某种程序设计语言编写并供加工处理的程序。( )(本题2.5分) A、 正确 B、 错误 16. ( 单选题 ) 编译程序与解释程序的根本区别在于是否生成目标代码。( )(本题2.5分) A、 正确 B、 错误 17. ( 单选题 ) 优化可生成( )的目标代码。(本题2.5分) A、 运行时间较短 B、 占用存储空间较小 C、 运行时间短但占用内存空间大 D、 运行时间短且占用存储空间小 18. ( 单选题 ) 下列( )优化方法不是针对循环优化进行的。(本题2.5分) A、 强度削弱 B、 删除归纳变量 C、 删除多余运算 D、 代码外提 19. ( 单选题 ) 下列哪一项不是与机器有关的代码优化( )。(本题2.5分) A、 寄存器优化 B、 多处理优化 C、 特殊的指令优化 D、 有用的指令消除 20. ( 单选题 ) 一个优先表一定存在相应的优先函数。( )(本题2.5分) A、 正确 B、 错误 21. ( 单选题 ) 局部优化是在基本块范围内进行的一种优化。( )(本题2.5分) A、 正确 B、 错误 22. ( 单选题 ) 采用三元式实现三地址代码时,不利于对中间代码进行优化。( )(本题2.5分) A、 正确 B、 错误 23. ( 单选题 ) 四元式之间的联系是通过( )实现的。(本题2.5分) A、 指示器 B、 临时变量 C、 符号表 D、 程序变量 24. ( 单选题 ) 3型文法一定是2型文法。( )(本题2.5分) A、 正确 B、 错误 25. ( 单选题 ) 如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。 ( )(本题2.5分) A、 正确 B、 错误 26. ( 单选题 ) 表达式-(a+b)*(c+d)-(a+b+c)表示成三元式为100 (+,a,b),101 (+,c,d),102 (*,(1),(2))。(当前序号为100)。( )(本题2.5分) A、 正确 B、 错误 27. ( 单选题 ) 逆波兰表示法表示表达式时无须使用括号。( )(本题2.5分) A、 正确 B、 错误 28. ( 单选题 ) 一个语义子程序描述了一个文法所对应的翻译工作。( )(本题2.5分) A、 正确 B、 错误 29. ( 单选题 ) 表达式a*(-b+c)的逆波兰表示(后缀式)是ab-c+*。( )(本题2.5分) A、 正确 B、 错误 30. ( 单选题 ) 目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。( )(本题2.5分) A、 正确 B、 错误 31. ( 问答题 ) 编译程序的工作分为那几个阶段?(本题12.0分) 答: 32. ( 问答题 ) 简述自下而上的分析方法。(本题13.0分) 答: |