北京交通大学《编译原理》期末考试题集汇总
奥鹏北京交通大学期末考试题集参考
北京交通大学《编译原理》奥鹏期末考试题库合集
单选题:
(1)若文法G定义的语言是无限集,则文法必然是( )。
A.上下文无关文法
B.正规文法
C.二义性文法
D.递归文法
正确答案问询微信:424329
(2)在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是( )。
A.非终结符集
B.终结符集
C.字母集
D.状态集
正确答案问询微信:424329
(3)在编译程序使用的表格中,最重要的是( )。
A.数据表
B.信息表
C.变量表
D.符号表
正确答案问询微信:424329
(4)已知文法:S→aAa|aBb|bAb|bBaA→x B→x ,则( )
A.LR(1)文法
B.LALR(1)文法
C.都不是
D.A和B
正确答案问询微信:424329
(5)高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。
A.自左至右
B.自上而下
C.自下而上
D.自右向左
正确答案问询微信:424329
(6)1型文法也称为( )。
A.短语文法
B.上下文有关文法
C.右线性文法
D.左性性文法
正确答案问询微信:424329
(7)在编译的各阶段中,和目标机器关系最为密切的是( )。
A.词法分析
B.语法分析
C.语义分析
D.目标代码生成
正确答案问询微信:424329
(8)规范归约(最左归约-最右推导的逆过程)的关键问题是( )。
A.确定符号表
B.寻找单词
C.寻找句柄
D.定位错误
正确答案问询微信:424329
(9)下列说法中错误的是( )。
A.当一遍中包含若干阶段时,各阶段的工作是穿插进行的
B.遍数越多越好
C.遍数越多,输入/输出所消耗的时间越多
D.并非每种语言都可以用单遍编译来实现
正确答案问询微信:424329
(10)( )是描述语言的语法结构的形式规则。
A.文法
B.语义
C.词法
D.语法
正确答案问询微信:424329
(11)编译程序必须完成的工作有( ) 。 (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)
正确答案问询微信:424329
(12)词法分析器的输出是( )。
A.单词符号
B.二元式
C.三元式
D.四元式
正确答案问询微信:424329
(13)文法 E→(E)产生的语言是( )。
A.空集
B.()
C.(E)
D.((((E))))
正确答案问询微信:424329
(14)( )是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
正确答案问询微信:424329
(15)表达式(a+b)*(c+d)的后缀式表示为( )。
A.a+b*c+d
B.+ab*+cd
C.ab+cd+*
D.无法表示
正确答案问询微信:424329
(16)语义分析与中间代码产生所依循的是( )。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.有限自动机
正确答案问询微信:424329
(17)={0,1}上的正规式(0|1)* 表示( )。
A.0开头的串
B.1开头的串
C.有一个0和一个1的串
D.由0、1组成的任意串
正确答案问询微信:424329
(18)通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括( )。
A.模拟执行器
B.解释器
C.表格处理和出错处理
D.符号执行器
正确答案问询微信:424329
(19)语法分析器的输出是( )。
A.源程序
B.单词符号
C.语法单位
D.中间代码
正确答案问询微信:424329
(20)类型转换时,整数到实数的转换称为( )。
A.截断
B.舍入
C.拓展
D.收缩
正确答案问询微信:424329
(21)下列关于语法树的描述中,错误的是( )。
A.语法树的根结由开始符号所标记
B.一棵语法树表示了一个句型所有的不同推导过程
C.一棵语法树是不同推导过程的共性抽象,是它们的代表
D.一个句型不是只有唯一的一棵语法树
正确答案问询微信:424329
(22)最适合动态建立数据实体的内存分
A.栈式分配
B.堆式分配
C.编译时预先分配
D.以上三种均可
正确答案问询微信:424329
(23)LR(1)文法都是( )。
A.无二义性且无左递归
B.可能有二义性但无左递归
C.无二义性但可能是左递归
D.可以既有二义性又有左递归
正确答案问询微信:424329
(24)最常用的中间代码形式是( )
A.二元式
B.三元式
C.四元式
D.树型
正确答案问询微信:424329
(25)Pascal的if语句满足( )。
A.最远匹配原则
B.动态作用域规则
C.静态作用域规则
D.最近匹配原则
正确答案问询微信:424329
(26)有限自动机可以有( )个初始状态。
A.一个
B.两个
C.三个
D.多个
正确答案问询微信:424329
(27)2型文法也称为( )。
A.短语文法
B.上下文无关文法
C.右线性文法
D.左性性文法
正确答案问询微信:424329
(28)若一个文法是递归的,则它所产生的句子个数( )。
A.必定是无穷的
B.是有限个的
C.根据具体情况而定
D.不确定
正确答案问询微信:424329
(29)下面哪个文法是左递归的( )。
A.E→E+T|T
B.T→F*T
C.E→(E)
D.E→a
正确答案问询微信:424329
(30)在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。
A.句柄
B.前缀
C.活前缀
D.LR(0)项目
正确答案问询微信:424329
(31)下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是( )。
A.等价原则
B.有效原则
C.最佳原则
D.合算原则
正确答案问询微信:424329
(32)( )的任务是把中间代码(或经过优化处理之后)变换成特定机器上的低级语言代码。
A.词法分析
B.语法分析
C.优化
D.目标代码生成
正确答案问询微信:424329
(33)由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。
A.过程
B.程序
C.批量
D.遍
正确答案问询微信:424329
(34)编译程序中语法分析器接收以( )为单位的输入。
A.单词
B.表达式
C.产生式
D.句子
正确答案问询微信:424329
(35)把一个高级语言程序翻译成机器可执行的目标程序的工作由下列程序之一完成( )。
A.汇编程序
B.解释程序
C.编译程序
D.预处理程序
正确答案问询微信:424329
(36)( )是为每个标识符保存一个记录的数据结构,记录的域是标识符的属性。
A.符号表
B.代码表
C.源程序
D.出错表
正确答案问询微信:424329
(37)( )是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
正确答案问询微信:424329
(38)文法G的一棵语法树叶结点的自左至右排列是G的一个( )。
A.句子
B.句型
C.句柄
D.素短语
正确答案问询微信:424329
(39)有限自动机( )个接受状态。
A.只能有一个
B.只能有两个
C.只能有三个
D.可以有0个、一个或多个
正确答案问询微信:424329
(40)正则文法( )二义性的。
A.可以是
B.一定不是
C.一定是
D.可以不是
正确答案问询微信:424329
(41)一个结点相应的文法符号属性值是由该结点兄弟结点和/或父节点的相应的文法符号的属性值来计算,按这种情况计算的属性值叫做( )。
A.综合属性
B.继承属性
C.自然属性
D.赋值属性
正确答案问询微信:424329
(42)如果r、s是正规式,则下面( )不一定是正规式。
A.rs
B.r|s
C.r*
D.r+s
正确答案问询微信:424329
(43)下面关于解释程序的描述正确的是( )。 (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的
A.(1)(2)
B.(1)
C.(1)(2)(3)
D.(2)(3)
正确答案问询微信:424329
(44)编译程序诸阶段的工作往往是( )。
A.顺序
B.并行
C.成批
D.穿插
正确答案问询微信:424329
(45)下述方法中,( )不是自下而上分析方法。
A.规范归约
B.算符优先分析法
C.递归下降分析法
D.LR分析法
正确答案问询微信:424329
(46)在使用高级语言编程时,首先可通过编译程序发现源程序的全部( )错误。
A.语法
B.语义
C.语用
D.运行
正确答案问询微信:424329
(47)算符优先分析法每次都是对( )进行归约。
A.最左短语
B.简单短语
C.句柄
D.最左素短语
正确答案问询微信:424329
(48)LR(K)方法是( )。
A.从左到右分析,每次走K步的一种编译方法
B.从左到右分析,共经过K步的一种编译方法
C.从左到右分析,每次向前预测K步的一种编译方法
D.从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法
正确答案问询微信:424329
(49)文法分为四种类型,即0型、1型、2型、3型。其中2型文法是( )。
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
正确答案问询微信:424329
(50)下面关于解释程序的描述正确的是( )。 (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于 COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的
A.(1)(2)
B.(1)
C.(1)(2)(3)
D.(2)(3)
正确答案问询微信:424329
(51)设 G 是一个给定的文法, S 是文法的开始符号,如果 S->x( 其中 x∈V*奥鹏北京交通大学期末考试题集参考), 则称 x 是文法 G 的一个( )。
A.候选式
B.句型
C.单词
D.产生式
正确答案问询微信:424329
(52)表达式“a*(b – (c+d))”的后缀式为( ) 。
A.cd+ab-*
B.ab*c-d+
C.abcd+-*
D.abcd*-+
正确答案问询微信:424329
(53)文法G[A]:A→ A→aB B→Ab B→a是:( )
A.正规文法
B.2型文法
C.上下无关文法
D.不确定
正确答案问询微信:424329
(54)编写一个计算机高级语言的源程序后 , 到正式上机运行之前,一般要经过( )这几步: (1) 编辑 ? (2) 编译 ? (3) 连接 ? (4) 运行
A.(1)(2)(3)(4)
B.(1)(2)(3)
C.(1)(3)
D.(1)(4)
正确答案问询微信:424329
(55)简单优先分析法每次都是对( )进行归约。
A.最左短语
B.简单短语
C.句柄
D.最左素短语
正确答案问询微信:424329
(56)编译程序绝大多数时间花在( )上。
A.出错处理
B.词法分析
C.目标代码生成
D.管理表格
正确答案问询微信:424329
(57)正规式MI和M2等价是指(
A.MI和M2的状态数相等
B.Ml和M2的有向弧条数相等。
C.M1和M2所识别的语言集相等
D.Ml和M2状态数和有向弧条数相等
正确答案问询微信:424329
(58)中间代码生成时所依据的是( )。
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
正确答案问询微信:424329
(59)后缀式ab+cd+/可用表达式( )来表示。
A.a+b/c+d
B.(a+b)/(c+d)
C.a+b/(c+d)
D.a+b+c/d
正确答案问询微信:424329
(60)文法分为四种类型,即0型、1型、2型、3型。其中3型文法是( )。
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
正确答案问询微信:424329
(61)优化可生成( )的目标代码。
A.运行时间较短
B.占用存储空间较小
C.运行时间短但占用内存空间大
D.运行时间短且占用存储空间小
正确答案问询微信:424329
(62)编译程序使用( )区别标识符的作用域。
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
正确答案问询微信:424329
(63)编译程序是对( )。
A.汇编程序的翻译
B.高级语言程序的解释执行
C.机器语言的执行
D.高级语言的翻译
正确答案问询微信:424329
多选题:
(1)面向对象语言的主要特征是( )。
A.封装性
B.集成性
C.继承性
D.多态性
正确答案问询微信:424329
(2)常见的代码优化包括( )。
A.常量合并
B.公共子表达式删除
C.复写传播
D.死代码删除
正确答案问询微信:424329
(3)编译器中常用的文法分析有( )。
A.自上而下分析算法
B.自下而上分析算法
C.Earley算法
D.Cocke-Younger-Kassimi算法
正确答案问询微信:424329
(4)常见的初等数据类型包括( )。
A.数值数据
B.逻辑数据
C.字符数据
D.指针数据
正确答案问询微信:424329
(5)常用的中间代码表示形式有( )。
A.三元式
B.四元式
C.间接三元式
D.逆波兰记号
正确答案问询微信:424329
(6)在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt stmt → s 哪些是终结符号?( )
A.stmt-sequence
B.stmt
C.s
D.;
正确答案问询微信:424329
(7)静态语义检查通常包括( )。
A.类型检查
B.控制流检查
C.一致性检查
D.相关名字检查
正确答案问询微信:424329
(8)在编译时安排所有数据对象的存储单元的分配策略属于( )。
A.静态分配策略
B.栈式分配策略
C.堆分配策略
D.动态分配策略
正确答案问询微信:424329
(9)在下述的编译方法中,自上而下的分析方法有( )。 ①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR(K)分析 ⑥ SLR(K)分析 ⑦ LL(K)分析 ⑧LALR(K)分析
A.③④⑦
B.③④⑧
C.①②⑧
D.③④⑤⑥⑦
正确答案问询微信:424329
(10)一个上下文无关文法G包括四个组成部分( )。
A.终结符号
B.非终结符号
C.开始符号
D.一组产生式
正确答案问询微信:424329
(11)根据不同的用途和侧重,编译程序可分为( )。
A.诊断编译程序
B.优化编译程序
C.交叉编译程序
D.可变目标编译程序
正确答案问询微信:424329
(12)从语言范型分类,当今的大多数程序设计语言可划分为( )。
A.强制式语言
B.应用式语言
C.基于规则的语言
D.面向对象语言
正确答案问询微信:424329
(13)按照语法分析树的建立方法,可以粗略地把语法分析办法分成两类( )。
A.自左向右分析法
B.自右向左分析法
C.自顶而下分析法
D.自下而上分析法
正确答案问询微信:424329
(14)描述词法分析的有效工具是( )。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.有限自动机
正确答案问询微信:424329
(15)一个上下文无关文法G包括四个组成部分( )。
A.终结符号
B.非终结符号
C.开始符号
D.一组产生式
正确答案问询微信:424329
(16)在编译时安排所有数据对象的存储单元的分配策略属于( )。
A.静态分配策略
B.栈式分配策略
C.堆分配策略
D.动态分配策略
正确答案问询微信:424329
(17)编译器中常用的文法分析有( )。
A.自上而下分析算法
B.自下而上分析算法
C.Earley算法
D.Cocke-Younger-Kassimi算法
正确答案问询微信:424329
(18)描述词法分析的有效工具是( )。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.有限自动机
正确答案问询微信:424329
(19)静态语义检查通常包括( )。
A.类型检查
B.控制流检查
C.一致性检查
D.相关名字检查
正确答案问询微信:424329
(20)以下不属于词法分析器的输出结果是( )
A.单词自身值
B.单词在符号表中的位置
C.单词的种别编码
D.单词的种别编码和自身值
正确答案问询微信:424329
判断题:
(1)编译器通常包括许多代码改进或优化步骤。
正确答案问询微信:424329
(2)文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。
正确答案问询微信:424329
(3)符号表管理和出错管理是编译过程中的两项重要工作。
正确答案问询微信:424329
(4)上下文无关文法也叫正规文法。
正确答案问询微信:424329
(5)文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号)。
正确答案问询微信:424329
(6)每个文法都能改写为LL(1)文法。
正确答案问询微信:424329
(7)注释在扫描过程一般是被忽略的。
正确答案问询微信:424329
(8)解释程序是在翻译完成之后生成目标代码,然后执行目标代码。
正确答案问询微信:424329
(9)把汇编语言程序翻译成机器可执行的目标程序的工作是由编译器完成的。
正确答案问询微信:424329
(10)在规范规约中用最左素短语来刻划可归约串。
正确答案问询微信:424329
(11)算符优先分析法只能识别由算符优先文法描述的句子。
正确答案问询微信:424329
(12)算符优先分析法采用"移近-归约"技术,其归约过程是规范的。
正确答案问询微信:424329
(13)目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
正确答案问询微信:424329
(14)文法G的一个句子对应于多个推导,则G是二义的。
正确答案问询微信:424329
(15)如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。
正确答案问询微信:424329
(16)在语法制导定义中,终结符可能具有综合属性,也可能具有继承属性。
正确答案问询微信:424329
(17)优先关系表对应的优先函数,如果存在,一定唯一。
正确答案问询微信:424329
(18)语义分析的任务包括两方面,一个是静态语义检查,一个是动态语义的解释执行并生成中间代码。
正确答案问询微信:424329
(19)LL(1)分析必须对原有文法提取左因子和消除左递归。
正确答案问询微信:424329
(20)仅考虑一个基本块,不能确定一个赋值是否真是无用的。
正确答案问询微信:424329
(21)解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码
正确答案问询微信:424329
(22)有限自动机能够识别上下文无关语言。
正确答案问询微信:424329
(23)对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。
正确答案问询微信:424329
(24)每个文法的综合符合集和集成属性集的交应该为空。
正确答案问询微信:424329
(25)算符优先关系表不一定存在对应的优先函数。
正确答案问询微信:424329
(26)编译器是将一种语言翻译为另一种语言的计算机程序。
正确答案问询微信:424329
(27)一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
正确答案问询微信:424329
(28)我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。
正确答案问询微信:424329
(29)正规式描述的每种结构都可以用上下文无关文法来描述。
正确答案问询微信:424329
(30)正则文法其产生式为 A->a , A->Bb, A,B∈VN , a 、 b∈VT 。
正确答案问询微信:424329
(31)一个上下文无关文法的开始符,可以是终结符或非终结符。
正确答案问询微信:424329
(32)一个句型的直接短语是唯一的。
正确答案问询微信:424329
(33)每个基本块只有一个入口和一个出口。
正确答案问询微信:424329
(34)逆波兰法表示的表达试亦称前缀式。
正确答案问询微信:424329
(35)3型文法一定是2型文法。
正确答案问询微信:424329
填空题:
(1)编译器的分析阶段可分为__________ ____、____ _________、____ _______等。
1、
正确答案问询微信:424329
2、
正确答案问询微信:424329
3、
正确答案问询微信:424329
(2)文法 E→(E)产生的语言是_____ _________。
1、
正确答案问询微信:424329
(3)文法类型有_____ _____、_____ ______、____ _______、___ ________四种 。
1、
正确答案问询微信:424329
2、
正确答案问询微信:424329
3、
正确答案问询微信:424329
4、
正确答案问询微信:424329
(4)语法分析把__________ ____ 依照语言的语法结构按层次分组,以形成________ ______ 。因此语法分析也称为____ __________ 。
1、
正确答案问询微信:424329
2、
正确答案问询微信:424329
3、
正确答案问询微信:424329
(5)后缀式abc-/所代表的表达式是_____ __________
1、
正确答案问询微信:424329
(6)程序语言一般分为______ ________和________ ______高级语言 两大类
1、
正确答案问询微信:424329
2、
正确答案问询微信:424329
论述题:
(1)写出表达式(a+b)/(a-b-(a+b*c)的三元序列及四元序列。
正确答案问询微信:424329
(2)文法 S->a|^|(T) T->T,S|S 对 (a,(a,a) 和 (((a,a),^,(a)),a) 的最左推导。
正确答案问询微信:424329
(3)写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。
正确答案问询微信:424329
(4)构造正规式相应的 DFA : 1(1010 * | 1(010) * 1) * 0。
正确答案问询微信:424329
简答题:
(1)什么是文法的四元组表示?试写出具体的形式。
正确答案问询微信:424329
(2)何谓文法的二义性?
正确答案问询微信:424329
(3)什么是语法制导翻译?中间代码通常有哪几种主要形式?
正确答案问询微信:424329
(4)现有文法G[Z]:Z→aZd|aAd A→bAc|bc|试求文法G[Z]的语言。
正确答案问询微信:424329