1、西交15年编译原理在线作业考查课试题最新西安交通大学15年7月编译原理在线作业考查课试题一、单选题(共 40 道试题,共 80 分。)V 1.把一个高级语言程序翻译成机器可执行的目标程序的工作由下列程序之一完成( )。A. 汇编程序B. 解释程序C. 编译程序D. 预处理程序 满分:2分2.Pascal的if语句满足( )。A. 最远匹配原则B. 动态作用域规则C. 静态作用域规则D. 最近匹配原则 满分:2分3.2型文法也称为( )。A. 短语文法B. 上下文无关文法C. 右线性文法D. 左性性文法 满分:2分4.下面哪个文法是左递归的( )。A. EET|TB. TF*TC. E(E)D.
2、 Ea 满分:2分5.在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。A. 句柄B. 前缀C. 活前缀D. LR(0)项目 满分:2分6.编译程序必须完成的工作有( ) 。 (1) 词法分析 (2) 语法分析 (3) 语义分析 (4) 目标代码生成 (5) 中间代码生成 (6) 代码优化A. (1)(2)(3)(4)B. (1)(2)(3)(4)(5)C. (1)(2)(3)(4)(5)(6)D. (1)(2)(3)(4)(6) 满分:2分7.( )是描述语言的语法结构的形式规则。A. 文法B. 语义C. 词法D. 语法 满分:2分8.优化所依循的原则是( )。A. 正规式
3、B. 上下文无关文法C. 语言的语义规则D. 程序的等价变换规则 满分:2分9.语法分析器的输出是( )。A. 源程序B. 单词符号C. 语法单位D. 中间代码 满分:2分10.赋值语句X:=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是( )。A. Xab+cd-/-bc*a+-:=B. Xab+/cd-bc*a+-:=C. Xab+-cd-/abc*+-:=D. Xab+cd-/abc*+-:= 满分:2分11.高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。A. 自左至右B. 自上而下C. 自下而上D. 自右向左 满分:2分12.文法 E(E)产生的语言
4、是( )。A. 空集B. ()C. (E)D. (E) 满分:2分13.最适合动态建立数据实体的内存分配方式是( )。A. 栈式分配B. 堆式分配C. 编译时预先分配D. 以上三种均可 满分:2分14.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括( )。A. 模拟执行器B. 解释器C. 表格处理和出错处理D. 符号执行器 满分:2分15.编译程序中语法分析器接收以( )为单位的输入。A. 单词B. 表达式C. 产生式D. 句子 满分:2分16.最常用的中间代码形式是( )。A. 二元式B. 三元式C. 四元式D. 树形表示 满分:2分
5、17.下述方法中,( )不是自下而上分析方法。A. 规范归约B. 算符优先分析法C. 递归下降分析法D. LR分析法 满分:2分18.已知文法:SaAa|aBb|bAb|bBaAx Bx ,则( )A. LR(1)文法B. LALR(1)文法C. 都不是D. A和B 满分:2分19.若一个文法是递归的,则它所产生的句子个数( )。A. 必定是无穷的B. 是有限个的C. 根据具体情况而定D. 不确定 满分:2分20.文法G的一棵语法树叶结点的自左至右排列是G的一个( )。A. 句子B. 句型C. 句柄D. 素短语 满分:2分21.LR(1)文法都是( )。A. 无二义性且无左递归B. 可能有二义
6、性但无左递归C. 无二义性但可能是左递归D. 可以既有二义性又有左递归 满分:2分22.表达式(a+b)*(c+d)的后缀式表示为( )。A. a+b*c+dB. +ab*+cdC. ab+cd+*D. 无法表示 满分:2分23.规范归约(最左归约最右推导的逆过程)的关键问题是( )。A. 确定符号表B. 寻找单词C. 寻找句柄D. 定位错误 满分:2分24.下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是( )。A. 等价原则B. 有效原则C. 最佳原则D. 合算原则 满分:2分25.=0,1上的正规式(0|1)* 表示( )。A. 0开头的串B. 1开头的串C. 有一
7、个0和一个1的串D. 由0、1组成的任意串 满分:2分26.( )是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。A. 语义错误B. 语法错误C. 短语错误D. 短句错误 满分:2分27.正则文法( )二义性的。A. 可以是B. 一定不是C. 一定是D. 可以不是 满分:2分28.编译程序诸阶段的工作往往是( )。A. 顺序B. 并行C. 成批D. 穿插 满分:2分29.类型转换时,整数到实数的转换称为( )。A. 截断B. 舍入C. 拓展D. 收缩 满分:2分30.由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。A. 过程B
8、. 程序C. 批量D. 遍 满分:2分31.语义分析与中间代码产生所依循的是( )。A. 正规式B. 上下文无关文法C. 语言的语义规则D. 有限自动机 满分:2分32.如果r、s是正规式,则下面( )不一定是正规式。A. rsB. r|sC. r*D. r+s 满分:2分33.在编译时安排所有数据对象的存储单元的分配策略属于( )。A. 静态分配策略B. 动态分配策略C. 栈式分配策略D. 堆分配策略 满分:2分34.描述一个语言的文法是( )。A. 唯一的B. 不唯一的C. 可能唯一D. 可能不唯一 满分:2分35.( )是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来
9、。A. 语义错误B. 语法错误C. 短语错误D. 短句错误 满分:2分36.有限自动机可以有( )个初始状态。A. 一个B. 两个C. 三个D. 多个 满分:2分37.( )的任务是把中间代码(或经过优化处理之后)变换成特定机器上的低级语言代码。A. 词法分析B. 语法分析C. 优化D. 目标代码生成 满分:2分38.( )是为每个标识符保存一个记录的数据结构,记录的域是标识符的属性。A. 符号表B. 代码表C. 源程序D. 出错表 满分:2分39.在自下而上的语法分析方法中,分析的关键是( )。A. 寻找句柄B. 寻找句型C. 消除递归D. 选择候选式 满分:2分40.下面关于解释程序的描述
10、正确的是( )。 (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的A. (1)(2)B. (1)C. (1)(2)(3)D. (2)(3) 满分:2分二、多选题(共 10 道试题,共 20 分。)V 1.一个上下文无关文法G包括四个组成部分( )。A. 终结符号B. 非终结符号C. 开始符号D. 一组产生式 满分:2分2.在如下上下文无关文法G中: stmt-sequence stmt; stmt-sequence | stmt stmt s 哪些是终结符号?( )A. stmt-s
11、equenceB. stmtC. sD. ; 满分:2分3.在如下上下文无关文法G中: stmt-sequence stmt; stmt-sequence | stmt stmt s 下面哪些是可以由该文法推导出的句型?( )A. stmt; stmt-sequenceB. sC. s;sD. s;s;stmt 满分:2分4.程序设计工具包括( )。A. 编译程序B. 编辑程序C. 连接程序D. 调试工具 满分:2分5.描述词法分析的有效工具是( )。A. 正规式B. 上下文无关文法C. 语言的语义规则D. 有限自动机 满分:2分6.常用的中间代码表示形式有( )。A. 三元式B. 四元式C.
12、 间接三元式D. 逆波兰记号 满分:2分7.按照语法分析树的建立方法,可以粗略地把语法分析办法分成两类( )。A. 自左向右分析法B. 自右向左分析法C. 自顶而下分析法D. 自下而上分析法 满分:2分8.根据不同的用途和侧重,编译程序可分为( )。A. 诊断编译程序B. 优化编译程序C. 交叉编译程序D. 可变目标编译程序 满分:2分9.编译器中常用的文法分析有( )。A. 自上而下分析算法B. 自下而上分析算法C. Earley算法D. CockeYoungerKassimi算法 满分:2分10.常见的初等数据类型包括( )。A. 数值数据B. 逻辑数据C. 字符数据D. 指针数据 满分:2分