当前位置:文档之家› 编译原理复习题-ans

编译原理复习题-ans

新建试卷20181220104955一、单选题(共65题,65分)1、语言是A、句子的集合B、产生式的集合C、符号串的集合D、句型的集合2、编译程序前三个阶段完成的工作是A、词法分析、语法分析和代码优化B、代码生成、代码优化和词法分析C、词法分析、语法分析、语义分析和中间代码生成D、词法分析、语法分析和代码优化3、一个句型中称为句柄的是该句型的最左A、非终结符号B、短语C、句子D、直接短语4、下推自动机识别的语言是A、 0型语言B、 1型语言C、 2型语言D、 3型语言5、扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A、字符B、单词C、句子D、句型6、词法分析的任务是B、分析句子的含义C、识别句子D、生成目标代码7、常用的中间代码形式不含A、三元式B、四元式C、逆波兰式D、语法树8、代码优化的目的是A、节省时间B、节省空间C、节省时间和空间D、把编译程序进行等价交换9、代码生成阶段的主要任务是A、把高级语言翻译成汇编语言B、把高级语言翻译成机器语言C、把中间代码变换成依赖具体机器的目标代码D、把汇编语言翻译成机器语言10、将编译程序分成若干个“遍”是为了( )A、 . 提高程序的执行效率B、使程序的结构更加清晰C、利用有限的机器内存并提高机器的执行效率D、利用有限的机器内存但降低了机器的执行效率11、11.正规式MI 和M等价是指()。

A、 . MI 和M2 的状态数相等B、 Ml 和M2 的有向弧条数相等。

C、 .M1 和M2 所识别的语言集相等D、 Ml 和M2 状态数和有向弧条数相等12、中间代码生成时所依据的是()。

A、语法规则C、语义规则D、等价变换规则13、后缀式ab+cd+/可用表达式()来表示。

A、 a+b/c+dB、 (a+b)/(c+d)C、 a+b/(c+d)D、 a+b+c/d14、一个编译程序中,不仅包含词法分析,(),中间代码生成,代码优化,目标代码生成等五个部分。

A、语法分析B、文法分析C、语言分析D、解释分析15、词法分析器用于识别()A、字符串B、语句C、单词D、标识符16、语法分析器则可以发现源程序中的()。

A、语义错误B、语法和语义错误C、错误并校正D、语法错误17、解释程序处理语言时, 大多数采用的是()方法。

A、源程序命令被逐个直接解释执行B、先将源程序转化为中间代码, 再解释执行C、先将源程序解释转化为目标程序, 再执行D、以上方法都可以18、编译程序是一种()A、汇编程序C、解释程序D、目标程序19、文法分为四种类型,即0 型、1 型、2 型、3 型。

其中 3 型文法是()。

A、短语文法B、正则文法C、上下文有关文法D、上下文无关文法20、一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。

A、句子B、句型C、单词D、产生式21、将编译程序分成若干个“遍”是为了()。

A、 . 提高程序的执行效率B、使程序的结构更加清晰C、利用有限的机器内存并提高机器的执行效率D、利用有限的机器内存但降低了机器的执行效率22、22.正规式MI 和M等价是指_()A、 . MI 和M2 的状态数相等B、 Ml 和M2 的有向弧条数相等。

C、 .M1 和M2 所识别的语言集相等D、 Ml 和M2 状态数和有向弧条数相等23、中间代码生成时所依据的是()。

A、语法规则B、词法规则C、语义规则D、等价变换规则24、词法分析器用于识别()。

A、字符串C、单词D、标识符25、若文法G 定义的语言是无限集,则文法必然是()A、递归的B、.前后文无关的C、.二义性的D、无二义性的26、语法分析器则可以发现源程序中的()。

A、 ( ) 语义错误B、 ( ) 语法和语义错误C、 ( ) 错误并校正D、 ( ) 语法错误27、编译程序是一种()。

A、汇编程序B、翻译程序C、解释程序D、目标程序28、文法G 所描述的语言是()的集合。

A、文法G 的字母表V 中所有符号组成的符号串B、文法G 的字母表V 的闭包V* 中的所有符号串C、文法的开始符号推出的所有终极符串D、由文法的开始符号推出的所有符号串29、一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。

A、句子B、句型C、单词D、产生式30、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括()。

A、模拟执行器C、表格处理和出错处理D、符号执行器31、若一个文法是递归的,则它所产生的语言的句子()。

A、是无穷多个B、是有穷多个C、是可枚举的D、个数是常量32、词法分析器用于识别()。

A、句子B、 .句型C、单词D、产生式33、在语法分析处理中,FIRST 集合、FOLLOW 集合、SELECT 集合均是()。

A、 .非终极符集B、.终极符集C、字母表D、 . 状态集34、在自底向上的语法分析方法中,分析的关键是()。

A、 .寻找句柄B、 .寻找句型C、 .消除递归D、 .选择候选式35、在LR 分析法中,分析栈中存放的状态是识别规范句型()的DFA 状态。

A、 .句柄B、 . 前缀C、 .活前缀D、 . LR(0) 项目36、文法G 产生的()的全体是该文法描述的语言。

A、句型B、终结符集C、非终结符集D、句子37、若文法G 定义的语言是无限集,则文法必然是()A、递归的B、.前后文无关的C、.二义性的D、无二义性的38、四种形式语言文法中,1 型文法又称为()文法。

A、短语结构文法B、.前后文无关文法C、前后文有关文法D、正规文法39、一个文法所描述的语言是()。

A、唯一的B、不唯一的C、可能唯一,好可能不唯一D、都不对40、()和代码优化部分不是每个编译程序都必需的。

A、语法分析B、 . 中间代码生成C、词法分析D、目标代码生成41、()是两类程序语言处理程序。

A、高级语言程序和低级语言程序B、.解释程序和编译程序C、编译程序和操作系统D、系统程序和应用程序42、数组的内情向量中肯定不含有数组的()的信息。

A、 .维数B、类型C、维上下界43、一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。

A、句子B、句型C、单词D、产生式44、文法分为四种类型,即0 型、1 型、2 型、3 型。

其中 2 型文法是()。

A、 . 短语文法B、.正则文法C、上下文有关文法D、上下文无关文法45、()是一种典型的解释型语言。

A、 BASICB、 CC、 FORTRAND、 PASCAL46、与编译系统相比,解释系统()。

A、比较简单, 可移植性好, 执行速度快B、比较复杂, 可移植性好, 执行速度快C、.比较简单, 可移植性差, 执行速度慢D、比较简单, 可移植性好, 执行速度慢47、用高级语言编写的程序经编译后产生的程序叫()。

A、源程序B、.目标程序C、连接程序D、解释程序48、把汇编语言程序翻译成机器可执行的目标程序的工作是由()完成的。

A、编译器B、汇编器C、解释器49、词法分析器的输出结果是()。

A、单词的种别编码B、单词在符号表中的位置C、单词的种别编码和自身值D、单词自身值50、如果文法G 是无二义的,则它的任何句子α()。

A、最左推导和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法树相同51、构造编译程序应掌握()。

A、源程序B、目标语言C、编译方法D、以上三项都是52、四元式之间的联系是通过()实现的。

A、指示器B、 .临时变量C、符号表D、程序变量53、优化可生成()的目标代码。

A、运行时间较短B、占用存储空间较小C、运行时间短但占用内存空间大D、运行时间短且占用存储空间小54、下列()优化方法不是针对循环优化进行的。

A、 . 强度削弱B、.删除归纳变量C、删除多余运算D、代码外提55、编译程序使用()区别标识符的作用域。

A、 .说明标识符的过程或函数名B、说明标识符的过程或函数的静态层次C、说明标识符的过程或函数的动态层次D、 . 标识符的行号56、编译程序绝大多数时间花在()上。

A、出错处理B、词法分析C、目标代码生成D、表格管理57、编译程序是对()。

A、汇编程序的翻译B、.高级语言程序的解释执行C、机器语言的执行D、高级语言的翻译58、采用自上而下分析,必须()。

A、消除左递归B、.消除右递归C、消除回溯D、提取公共左因子59、在规范归约中,用()来刻画可归约串。

A、直接短语B、句柄C、最左素短语D、素短语60、若 a 为终结符,则 A ->α•aβ为()项目。

A、归约B、 .移进C、接受D、待约61、间接三元式表示法的优点为()。

A、采用间接码表,便于优化处理B、节省存储空间,不便于表的修改C、便于优化处理,节省存储空间D、节省存储空间,不便于优化处理62、基本块内的优化为()。

A、 .代码外提,删除归纳变量B、删除多余运算,删除无用赋值C、强度削弱,代码外提D、循环展开,循环合并63、在目标代码生成阶段,符号表用()A、目标代码生成B、语义检查C、语法检查D、地址分配64、若项目集Ik 含有 A ->α•,则在状态k 时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A->α•”动作的一定是()。

A、 . LALR 文法B、 LR(0)文法C、 LR(1)文法D、 SLR(1)文法65、堆式动态分配申请和释放存储空间遵守()原则。

A、 . 先请先放B、先请后放C、后请先放D、 .任意二、多选题(共25题,25分)1、计算机执行用高级语言编写的程序主要途径有()A、解释B、编译C、链接D、生成2、自上而下分析法采用()等操作A、移进B、归约C、、错误处理D、接受3、一个LR分析器包括两部分( )A、、总控程序B、一张分析表C、、生成表D、控制器4、表达式的存储表现形式有()A、前缀表达式B、中缀表达式C、后缀表达式D、、下缀表达式5、.编译过程可分为下列等阶段()A、、词法分析B、语法分析C、优化D、目标代码生成6、.从功能上说,程序语言的语句大体可分为()两类。

A、、执行性语句B、说明性语句C、、输入语句D、判断语句7、符号表中的信息栏中登记了每个名字的有关的性质,如()A、类型B、种属C、所占单元大小D、地址8、一个过程相应的DISPLAY表的内容为()A、、现行活动记录地址B、所有外层最新活动记录的地址C、内存地址D、、常量地址9、常用的两种动态存贮分配办法是()A、栈式动态分配B、堆式动态分配C、随机地址D、编制地址10、一个名字的属性包括()A、、类型B、作用域C、数值D、、相对空间11、常用的参数传递方式有()A、、传地址B、传值C、、类型D、范围12、优化的原则有()A、等价原则B、有效原则C、合算原则D、事后原则13、根据优化所涉及的程序范围,可将优化分成为()A、局部优化B、、循环优化C、全局优化D、控制优化14、语法分析的方法大致可分为两类()A、、自上而下B、、自下而上C、、逐步求精D、、分步求解15、预测分析程序是使用( )进行联合控制的。

相关主题