资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
编译原理模拟题编译原理模拟题(补)一 单项选择题1. ( )是两类程序语言处理程序。A. 高级语言程序和低级语言程序 B. 解释 程序和编译程序C. 编译程序和操作系统 D. 系统程序 和应用程序2. 编译程序前三个阶段完成的工作是( )。A. 词法分析、语法分析和代码优化B. 代码生成、代码优化和词法分析C. 词法分析、语法分析、语义分析和中间代 码生成D. 词法分析、语法分析和代码优化3. 一个上下文无关文法 G 包括四个组成部分: 一组终结符,一组非终结符,一个开始符号,以及一组( )。A. 字符串 B. 产生式C. 非开始符号 D. 文法4. 词法分析器的输出结果是()。A. 单词的种别编码B. 单词在符号表中的位置C. 单词的种别编码和自身值D. 单词自身值5. 一个句型中称为句柄的是该句型的最左()oA.非终结符号B.短语 C.句子D.直接短语6. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。A.自左向右 B.自顶向下C.自底向上 D.自右向左7. 在通常的语法分析方法中,()特别适用于 表达式的分析。A.算符优先分析法B. LR分析法C.递归下降分析法D.LL (1)分析法&优化可生成的目标代码。A.运行时间较短B.占用存储空间较小C.运行时间短但占用内存空间大 运行时间短且占用存储空间小 9()是两类程序语言处理程序。B.编译程序和A.系统程序和应用程序 操作系统D.高级语言程C.解释程序和编译程序 序和低级语言程序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为Sf aSb|Sb|b试证明文法GS为二义文法。3. 文法 G(S)SfdABAfaA|a Bf Bb|e描述的语言是什么?4. 写一个文法使其语言为偶数集,且每个偶数 不以 0 开头。5. 证明文法 G(S) Sf SaS| 是二义性的。五、程序设计题1. 已知文法 G(S):Sf a|A |(T)TfT,S|S写出句子(a, a), a)的规范归约过程及每一步的 句柄。2. 已知文法 GE: EfETE|(E)|i Tf*|+1)将文法G改造成LL (1)文法;2)构造文法G中每个非终结符的FIRST 集合及FOLLOW集合;3)构造LL( 1)分析表。参考答案:二单项选择题12345678BCBCDBAD910111213141516CDDBDCDC二填空题I. 类型2.终态3.左4.单词符号串5.语法树6. 一张分析表7.语义8.是否生成目标代码9.语法分析10.单词符号II. 正则12.语法树13.自上而下14.最左素短语二判断题12345678XXVVXVVX910111213141516XVVXXXXX四.简答题1. 文法 G(N):N f AB|BA f AC|DBf 1|3|5|7|9D f B|2|4|6|8C f 0|D2. 证明:由文法 GS: Sf aSb|Sb|b 对句子 aabbbb对应的两棵语法树为:因此,文法GS为二义文法。SzTsAa S bS b/T/Na S ba S bA/1S ba S bIb1b3. L(G)=dan. m .亠亠、b |n 0, m 04.文法 G(S):Sf AB|B|A0A f AD|CBf 2|4|6|8C f 1|3|5|7|9|BD f 0|C5. 证明:因为文法GS存在句子aa有两个不同的最左推 导 , 所 以 文 法 GS 是 是 二 义 性 的 。S=SaS=SaSaS=aSaS=aaS=aaS=SaS=aS=aSaS=aaS=aa五. 程序设计题1.句型 归约规则 句柄(a,a),a) Sf aa(S,a),a) T f SS(T,a),a) Sfaa(T,S),a) TfT,ST,(T) , a)Sf(T)(T)(S,a)TfSS(T,a)Sf aa(T,S)TfT,ST,S(T)Sf(T)(T)S2.1) 文法存在左递归,消除左递归后的文法 为:E-(E)E |iE E JTEE “| Tf *|+2) FIRST(E)=(,i FIRST(E )=*,+, FIRST(T)=*,+ FOLLOW(E)=),*,+,# FOWLLOW(B= ),*,+,# FOLLOW(T)=(,i3)() i*+#EE f(E)EcE f iE E E fEf TEE EfE f TEE E fE fTTf *Tf +
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号