《编译原理》期末试题(一)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。(×)2.一个有限状态自动机中,有且仅有一个唯一的终态。(×)3.一个算符优先文法可能不存在算符优先函数与之对应。(√)4.语法分析时必须先消除文法中的左递归。(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。(√)6.逆波兰表示法表示表达式时无须使用括号。(√)7.静态数组的存储空间可以在编译时确定。(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。(×)9.两个正规集相等的必要条件是他们对应的正规式等价。(×)10.一个语义子程序描述了一个文法所对应的翻译工作。(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)1.词法分析器的输出结果是_____。A.()单词的种别编码B.()单词在符号表中的位置C.()单词的种别编码和自身值D.()单词自身值2.正规式M1和M2等价是指_____。A.()M1和M2的状态数相等B.()M1和M2的有向边条数相等C.()M1和M2所识别的语言集相等D.()M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____。A.()xyxB.()(xyx)*C.()xnyxn(n≥0)D.()x*yx*4.如果文法G是无二义的,则它的任何句子α_____。A.()最左推导和最右推导对应的语法树必定相同第1页共6页B.()最左推导和最右推导对应的语法树可能不同C.()最左推导和最右推导必定相同D.()可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。A.()源程序B.()目标语言C.()编译方法D.()以上三项都是6.四元式之间的联系是通过_____实现的。A.()指示器B.()临时变量C.()符号表D.()程序变量7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。A.()┐AB∨∧CD∨B.()A┐B∨CD∨∧C.()AB∨┐CD∨∧D.()A┐B∨∧CD∨8.优化可生成_____的目标代码。A.()运行时间较短B.()占用存储空间较小C.()运行时间短但占用内存空间大D.()运行时间短且占用存储空间小9.下列______优化方法不是针对循环优化进行的。A.()强度削弱B.()删除归纳变量C.()删除多余运算D.()代码外提10.编译程序使用_____区别标识符的作用域。A.()说明标识符的过程或函数名B.()说明标识符的过程或函数的静态层次C.()说明标识符的过程或函数的动态层次D.()标识符的行号三、填空题(每空1分,共101.优化可生成运行时间短且占用存储空间小的目标代码2.LR分析法解决“移进-规约”冲突时,右结合意味着建立联系实行移进3.若B为非终结符,则A→a.Bb为待约项目4.在目标代码生成阶段,符号表用于数据存储分配的依据5.四元式之间的联系是通过临时变量实现的1.计算机执行用高级语言编写的程序主要有两种途径:___解释__和__编译___。第2页共6页2.扫描器是__词法分析器___,它接受输入的__源程序___,对源程序进行___词法分析__并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。3.自上而下分析法采用___移进__、归约、错误处理、___接受__等四种操作。4.一个LR分析器包括两部分:一个总控程序和___一张分析表__。5.后缀式abc-/所代表的表达式是___a/(b-c)__。6.局部优化是在__基本块___范围内进行的一种优化。三、对于文法G(E):(8分)ET|E+TTF|T*FF(E)|i1.写出句型T*F+i1*i2的最右推导并画出语法树。2.写出上述句型的短语,直接短语、句柄、素短语和最左素短语答:1.E=>E+T=>E+T*F=>E+T*i2=>E+F*i2=>E+i1*i2=>T*F+i1*i22.短语:T*F+i1*i2,T*F,i1*i2,i1,i2直接短语:T*F,i1,i2句柄:T*F素短语:T*F,i1,i2最左素短语:T*F3.试为表达式w+(a+b)*(c+d/(e-10)+8)写出相应的逆波兰表示。解:wab+cde10-/+8+*+第3页共6页《编译原理》期末试题(二)一、是非题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。()2.一个句型的直接短语是唯一的。()3.已经证明文法的二义性是可判定的。()4.每个基本块可用一个DAG表示。()5.每个过程的活动记录的体积在编译时可静态确定。()6.2型文法一定是3型文法。...