编译原理模拟题.doc_第1页
编译原理模拟题.doc_第2页
编译原理模拟题.doc_第3页
编译原理模拟题.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国地质大学(北京)继续教育学院 2016年05课程考试编译原理模拟题(补)一 单项选择题1.( )是两类程序语言处理程序。 A. 高级语言程序和低级语言程序B. 解释程序和编译程序 C. 编译程序和操作系统D. 系统程序和应用程序2. 编译程序前三个阶段完成的工作是( )。 A. 词法分析、语法分析和代码优化 B. 代码生成、代码优化和词法分析 C. 词法分析、语法分析、语义分析和中间代码生成 D. 词法分析、语法分析和代码优化3. 一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个开始符号,以及一组( )。 A. 字符串B. 产生式C. 非开始符号D. 文法4. 词法分析器的输出结果是( )。 A. 单词的种别编码B. 单词在符号表中的位置 C. 单词的种别编码和自身值D. 单词自身值5. 一个句型中称为句柄的是该句型的最左( )。 A. 非终结符号B. 短语C. 句子D. 直接短语6. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。 A. 自左向右B. 自顶向下C. 自底向上D. 自右向左7. 在通常的语法分析方法中,( )特别适用于表达式的分析。 A. 算符优先分析法B. LR分析法 C. 递归下降分析法D. LL(1)分析法8. 优化可生成_的目标代码。 A. 运行时间较短B. 占用存储空间较小 C. 运行时间短但占用内存空间大 D. 运行时间短且占用存储空间小9.( )是两类程序语言处理程序。 A. 系统程序和应用程序B.编译程序和操作系统 C. 解释程序和编译程序D.高级语言程序和低级语言程序10. 经过编译所得到的目标程序是( )。 A. 四元式序列B. 间接三元式序列 C. 二元式序列D. 机器语言程序或汇编语言程序11. 程序的基本块是指( )。 A. 一个子程序 B. 一个仅有一个入口和一个出口的语句 C. 一个没有嵌套的程序段 D. 一组顺序执行的程序段,仅有一个入口和一个出口12. 一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个开始符号,以及一组( )。 A. 字符串 B. 产生式C. 非开始符号D. 文法13. 文法G产生的( )的全体是该文法描述的语言。 A. 句型 B. 终结符集C. 非终结符集D. 句子14. 词法分析器用于识别( )。 A. 字符串 B. 语句C. 单词D. 标识符15. 常用的中间代码形式不含( )。 A. 三元式 B. 四元式C. 逆波兰式D. 语法树16. 下列_优化方法不是针对循环优化进行的。 A. 强度削弱 B. 删除归纳变量C. 删除多余运算D. 代码外提二 填空题1. 一个名字的属性包括 和作用域。2. 一张转换图只包含有限个状态,其中有一个被认为是初态,而且实际上至少要有一个 。3. 规范规约是最 规约。4. 语法分析器的输入是 ,其输出是语法单位。5. 语法分析的有效工具是 。6. 一个LR分析器包括两部分:一个总控程序和 。7. 中间代码产生是依据语言的 规则进行的。8. 编译方式与解释方式的根本区别在于 。9. 编译程序的工作过程一般划分为5个阶段:词法分析、 、语义分析与中间代码生成,代码优化及目标代码生成。10. 扫描器的任务是从源程序中识别出一个个 。11. 词法分析基于 文法进行,即识别的单词是该类文法的句子。12. 语法分析的有效工具是 。13. 语法分析最常用的两类方法是 和自下而上分析法。14. 分析句型时,应用算符优先分析技术时,每步被直接归约的是 。三 判断题1. 一个有限状态自动机中,有且仅有一个唯一的终态。 ( )2. 正规文法产生的语言都可以用上下文无关文法来描述。 ( )3. 确定的自动机以及不确定的自动机都能正确地识别正规集。 ( )4. 如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。( )5. 综合属性是用于“自上而下”传递信息。 ( )6. 递归下降分析法是自顶向上分析方法。 ( )7. 一个算符优先文法可能不存在算符优先函数与之对应。 ( )8. LR法是自顶向下语法分析方法。 ( )9. 产生式是用于定义词法成分的一种书写规则。 ( )10. 一个句型的句柄一定是文法某产生式的右部。 ( )11. 每个文法都能改写为LL(1)文法。 ( )12. 语法分析时必须先消除文法中的左递归 。 ( )13. 规范归约和规范推导是互逆的两个过程。 ( )14. 算符优先关系表不一定存在对应的优先函数。 ( )15. LR法是自顶向下语法分析方法。 ( )16. 对中间代码的优化依赖于具体的计算机。 ( )四 简答题1. 写一个文法,使其语言是奇数集,且每个奇数不以0开头。2. 已知文法GS为SaSb|Sb|b,试证明文法GS为二义文法。3. 文法G(S)SdABAaA|aBBb|描述的语言是什么?4. 写一个文法使其语言为偶数集,且每个偶数不以0开头。5. 证明文法G(S)SSaS|是二义性的。五、程序设计题1. 已知文法G(S):Sa|(T)TT,S|S写出句子(a,a),a)的规范归约过程及每一步的句柄。2. 已知文法GE:EETE|(E)|iT*|+1) 将文法G改造成LL(1)文法;2) 构造文法G中每个非终结符的FIRST集合及FOLLOW集合;3) 构造LL(1)分析表。参考答案:1 单项选择题12345678BCBCDBAD910111213141516CDDBDCDC二填空题1. 类型2. 终态3. 左4. 单词符号串5. 语法树6. 一张分析表7. 语义8. 是否生成目标代码9. 语法分析10. 单词符号11. 正则12. 语法树13. 自上而下14. 最左素短语三判断题12345678910111213141516四. 简答题1. 文法G(N):NAB|BAAC|DB1|3|5|7|9DB|2|4|6|8C0|D2. 证明:由文法GS:SaSb|Sb|b,对句子aabbbb对应的两棵语法树为: 因此,文法GS为二义文法。3. L(G)=danbm |n0, m04. 文法G(S):SAB|B|A0AAD|CB2|4|6|8C1|3|5|7|9|BD0|C5. 证明:因为文法GS存在句子aa有两个不同的最左推导,所以文法GS是是二义性的。 S=SaS=SaSaS=aSaS=aaS=aaS=SaS=aS=aSaS=aaS=aa五. 程序设计题1. 句型归约规则句柄(a,a),a)Saa(S,a),a)TSS(T,a),a)Saa(T,S),a)TT,ST,S(T),a)S(T)(T)(S,a)TSS(T,a)Saa(T,S)TT,ST,S(T)S(T)(T)S2. 1) 文法存在左递归,消除左递归后的文法为:E(E)E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论