编译原理复习题一(含答案).docVIP

编译原理复习题一(含答案).doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 6 一、 单选题(每题2分,共20分) 1. 编译器的( )阶段可将源程序的字符流收集到若干记号中。 A. 语法分析 B. 语义分析 C. 代码生成 D. 词法分析 2. 文法A?aA | b属于正则文法,正则文法在乔姆斯基层次中对应于( )文法。 A. 1型 B. 2型 C. 3型 D. 0型 3. 某C语言源代码文件包含#include stdio.h,( )将对源代码进行处理,把文件stdio.h包含进去。 A.编译器 B.解释器 C.汇编器 D.预处理器 4. LL(1)文法的充要条件是( )。 A.对于文法中的每条产生式U?α1|α2|…|αn,要求FIRST(αi)∩FIRST(αj)=Φ(i≠j) B.该文法对应的LL(1)分析表中每个项目最多只有一条产生式。 C.A和B D.都不是 5. 以下说法中正确的是( )。 A.任何语言都可以描述为一个正则表达式。 B.对于任何一个NFA M,都存在一个DFA M’,满足L(M)= L(M’)。 C.任何一个DFA只有一个终态。 D.NFA的弧上标记只含输入字母表中的元素。 6.合成属性的计算可以通过对语法树进行( )遍历进行。 A. 前序 B.中序 C.后序 D.任意 7.乔姆斯基的2型文法是这样一种语言,其产生式限制为( )。 A. α-β B. P-β C. P-a或P-aβ D. αPγ-αβγ 8. 正则式的“*”读作( )。 A. 并且 B.连接 C.正则闭包 D.闭包 9. 编译程序中的语义分析器接受以( )为单位的输入,并产生信息供以后各阶段使用。 A. 语法树 B.子程序 C.单词 D.语句 10.文法A-aAb|ab生成的语言是( )。 A. {ab} B.{aAb} C. {anbn|n≥1} D.{anbn|n≥0} 二、 判断题(每题2分,共10分,对的打√,错的打×) 1. 一个LR(0)文法一定是SLR(1)文法。 ( ) 2. 在类型声明文法中,类型属性type是继承属性。 ( ) 3. 在构造递归下降伪代码时,将非终结符A翻译为一个匹配过程match(A)。 ( ) 4. 三元式和四元式都是三地址码的实现形式。 ( ) 5. 存在这样的语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。 ( ) 三、 填空题(每空2分,共10分) 1. 若文法G的某个句子存在两棵以上的语法树,则称该文法是 文法。 2. 自上而下语法分析方法的基本思想是:从文法的 出发,不断进行 ,最终得到输入串。 3. 程序设计语言中名字的作用域一般遵循 的原则,即若有多个同名定义,该名字的引用应对应于与其引用最近的那个声明。 4. 表达式a-b*(c+d)对应的逆波兰式是 。 四、 简答题(每题6分,共30分) 1. 简述前端和后端,并说明为什么要区分前端和后端。 2. 设标识符为以一个字母(letter)开头、后跟任意字母或者数字(digit)的串,请画出识别标识符的DFA。 3. 对下图NFA M构造其DFA。 a a a b b b X Y 4.令文法G为: N?D| ND D?0|1|…|9 (1) 该文法的语言是什么? (2) 给出句子456的最左推导。 5. 试将布尔表达式ab or cd 翻译成四元式(设起始四元式标号为100)。 属性文法如下: E?id1 relop id2 { E.place:=newtemp; emit(‘if’id1.place relop. op id2. place ‘goto’ nextstat+3); emit(E.place‘:=’‘0’); emit(‘goto’nextstat+2); emit(E.place‘:=’‘1’) } E→id { E.place:=id.place } E→E1 or E2 { E.place:=newtemp; emit(E.place‘:=’ E 1.place ‘or’ E2.place)} E→E1 and E2 { E.place:=newtemp; emit(E.place ‘:=’ E 1.place ‘and’ E2.place) } 五、 综合题(30分

文档评论(0)

小小文档 + 关注
实名认证
文档贡献者

小小文档小小文档小小文档小小文档

1亿VIP精品文档

相关文档