《编译原理复习题-给学生(2014)》由会员分享,可在线阅读,更多相关《编译原理复习题-给学生(2014)(26页珍藏版)》请在金锄头文库上搜索。
1、编译原理复习题1一、单项选择题一、单项选择题概述部分1构造编译程序应掌握 。D A. 源程序 B. 目标语言 C. 编译方法 D. 以上三项都是 2编译程序绝大多数时间花在 上。D A. 出错处理 B. 词法分析 C. 目标代码生成 D. 表格管理 3编译程序是对 。D A. 汇编程序的翻译 B. 高级语言程序的解释执行 C. 机器语言的执行 D. 高级语言的翻译 4. 将编译程序分成若干“遍” ,是为了 。B A. 提高程序的执行效率 B. 使程序的结构更为清晰 C 利用有限的机器内存并提高机器的执行效率 D. 利用有限的机器内存但降低了机器的执行效率词法分析部分1DFA M(见图 1-1)
2、接受的字集为 。D A. 以 0 开头的二进制数组成的集合 B. 以 0 结尾的二进制数组成的集合 C. 含奇数个 0 的二进制数组成的集合 D. 含偶数个 0 的二进制数组成的集合 2词法分析器的输出结果是 。C A. 单词的种别编码 B. 单词在符号表中的位置 C. 单词的种别编码和自身值 D. 单词自身值 3正规式 M1 和 M2 等价是指 。C A. M1 和 M2 的状态数相等 B. M1 和 M2 的有向边条数相等 C. M1 和 M2 所识别的语言集相等 D. M1 和 M2 状态数和有向边条数相等 4词法分析器的加工对象是 。 C A中间代码 B单词 C源程序 D元程序 5同正
3、规式(a|b)*等价的正规式为 。D A(a|b)+ Ba*|b* C(ab)* D(a*|b*)+ 6. 两个 DFA 等价是指: 。 D A. 这两个 DFA 的状态数相同 B. 这两个 DFA 的状态数和有向弧条数都相等 C. 这两个 DFA 的有向弧条数相等 D. 这两个 DFA 接受的语言相同 7. 下列符号串不可以由符号集 Sa,b上的正闭包运算产生的是:(A )A. B. a C. aa D. ab 8称有限自动机 A1 和 A2 等价是指_。D AA1 和 A2 都是定义在一个字母表上的有限自动机 BA1 和 A2 状态数和有向边数相等图 1-1XY0011编译原理复习题2CA
4、1 和 A2 状态数或有向边数相等 DA1 和 A2 所能识别的字符串集合相等 9同正规式(a|b)+等价的正规式是_。B A (a|b)* B (a|b) (a|b)* C (ab)*(ab) D (a|b)|(a|b)*语法分析1在规范归约中,用 来刻画可归约串。 B A. 直接短语 B. 句柄 C. 最左素短语 D. 素短语 2若 B 为非终结符,则 AB 为 项目。D A. 归约 B. 移进 C. 接受 D. 待约 3如果文法 G 是无二义的,则它的任何句子 。 A A. 最左推导和最右推导对应的语法树必定相同 B. 最左推导和最右推导对应的语法树可能不同 C. 最左推导和最右推导必定
5、相同 D. 可能存在两个不同的最左推导,但它们对应的语法树相同 4下列动作中,不是自下而上分析动作的是: 。B A. 移进 B. 展开 C. 接受 D. 报错 6若 a 为终结符,则 Aa 为 项目。B A. 归约 B. 移进 C. 接受 D. 待约 7语法分析时所依据的是 。A A. 语法规则 B. 词法规则 C. 语义规则 D. 等价变换规则 8文法 G:SxSx|y 所识别的语言是 。C A. xyx B. (xyx)* C. xnyxn (n0) D. x*yx* 9下列动作中,不是自上而下分析动作的是: 。C A. 匹配 B. 展开 C. 移进 D. 报错 10若 A 为非终结符,则
6、 A 为 项目。A A. 归约 B. 移进 C. 接受 D. 待约 11文法 G:SxSx| xS|y 所识别的语言是 。 A A. xmyxn(mn0) B. (xyx)* C. xnyxn(n0) D. x*yx* 13由文法的开始符号出发经过若干步(包括 0 步)推导产生的文法符号序列称为_。B A语言 B句型 C句子 D句柄 14在自上而下的语法分析中,应从 开始分析。C A句型 B句子 C文法开始符号D句柄 15一个文法 G,若_,则称它是 LL(1)文法。C AG 中不含左递归 BG 无二义性 CG 的 LL(1)分析表中不含多重定义的条目 DG 中产生式不含左公因子 16项目 S
7、S. 为 。D编译原理复习题3A.归约项目 B.移进项目 C.待约项目 D.接受项目 17. 语法分析器的输入是: 。A A. Token 序列 B. 源程序 C. 目标程序 D. 符号表 18. 在 LR(0)的 Action 表中,如果某行中存在标记为“rj”的栏,则: 。 A A. 该行必定填满“rj” B. 该行未必填满“rj” C. 其他行可能也有“rj” D. goto 表中也可能有“rj” 19. LR 分析过程中栈内存储的是 。 A A. 活前缀 B. 前缀 C. 归约活前缀 D. 项目 20.文法 G:S x xS | y 所识别的语言是 。 D Axxyn B(xxy) n
8、 Cxxnyx D(xx)ny 21.若状态 k 含有项目“A.” ,对任意非终结符 a,都用规则“A ”归约的语法分析方法是 。B ALALR 分析法 BLR(0)分析法 CLR(1)分析法 DSLR(1)分析法 22. 在 SLR(1)的 Action 表中,如果某行中存在标记为“rj”的栏,则: 。B A. 该行必定填满“rj” B. 该行未必填满“rj” C. 其他行可能也有“rj” D. goto 表中也可能有“rj” 23. 一个 指明了在 LR 分析过程中的某个时刻所能看到产生式多大一部分。D A. 活前缀 B. 前缀 C. 归约活前缀 D. 项目 24.若状态 k 含有项目“A
9、.” ,且仅当输入符号 aFOLLOW(A)时,才用规则“A ”归约的语法 分析方法是 。D ALALR 分析法 BLR(0)分析法 CLR(1)分析法 DSLR(1)分析法 25设有文法 GT:TT*F|F FFP|P P(T)|a 该文法句型 T*P(T*F)的句柄是下列符号串 。C A.(T*F) B. T*F C. P D. P(T*F) 26LR 分析表中的转移表(goto)是以 作为列标题的。B A终结符 B非终结符 C终结符或非终结符 D表示状态的整形数 27编译程序的语法分析器必须输出的信息是 。 A A语法错误信息 B语法规则信息 C语法分析过程 D语句序列 28下列项目中为
10、可移进项目的是 。C AEE . BL. CL.-L DFL*F. 29LR 分析表中的动作表(action)是以 作为列标题的。D A终结符 B非终结符 C终结符或非终结符 D终结符和结束符# 30下列项目中为可归约项目的是 。B AE.E BL. CL-.L DFL*.F 33LR 分析器的核心部分是一张分析表,该表由_组成。D编译原理复习题4AACTION 表 BGOTO 表 C预测分析表 DACTION 表和 GOTO 表 34在递归下降子程序方法中,若文法存在左递归,则会使分析过程产生_ _。D A回溯 B非法调用 C有限次调用 D无限循环 35最左简单子树的叶结点,自左至右排列组成句型的_。C A短语 B句型 C句柄 D间接短语 36由文法的开始符号出发经过若干步(包括 0 步)推导产生的文法符号序列中,如果只含有终结符, 则文法符号序列称为_。C A语言 B句型 C句子 D句柄 37LL(1)分析法中“1”的含义是在输入串中查看一个输入符号,其目的是_。C A确定最左推导 B确定句柄 C确定使用哪一个产生式进行展开