第九章 编译原理期末试卷(含答案).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理试题 计算机学院2001级 班 学号 姓名 题号 一 二 三 四 五 六 七 八 九 十 十一 十二 总分 满分 12 6 8 7 8 8 12 12 7 6 6 8 100 得分 一 选择题(12分) 【 】1.词法分析器的输入是 。 A.符号串 B.源程序 C.语法单位 D.目标程序 【 】2.两个有穷自动机等价是指它们的 。 A.状态数相等 B.有向弧数相等 C.所识别的语言相等 D.状态数和有向弧数相等 【 】3.文法G:S → xSx | y 所识别的语言是 。 A.xy*x B.(xyx)* C.xx*yxx* D.x*yx* 【 】4.设a,b,c为文法的终结符,且有优先关系a(b和b(c,则 。 A.必有a(c B.必有c(a C.必有b(a D.选项A、B和C都不一定成立 【 】5.若状态k含有项目“A→α.”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A →α”归约的语法分析方法是 。 A.ALR分析法 B.LR(0)分析法 C.LR(1)分析法 D.SLR(1)分析法 【 】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.有多个入口语句和多个出口语句 二 判断题6分认为正确的“T”,错的“F”) 【T 】1.同心集的合并有可能产生“归约/归约”冲突。 【T 】2.一个文法所有句子的集合构成该文法定义的语言。 【 】3.非终结符可以有综合属性,但不能有继承属性。 【T 】4.逆波兰表示法表示表达式时无需使用括号。 【 】5.一个有穷自动机有且只有一个终态。 【】6.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元素。 三 填空题8分最常用的两类语法分析方法是     和   分析法。→T|E+T T→F|T*F F→P↑F|P P→(E)|i,句型T+T*F+i的直接短语为      β(V*且a(则称“A ((.”为   β”为         四分8分分写一个文法,使其语言是| a B → Bb | d (1)构造与G[A]等价的LL(1)文法; (2)构造G’[A]的预测分析表。 八(12分)考虑文法 G[S]: S → AS | b A → SA | a (1)构造文法的可归前缀图(活前缀的DFA); (2)判断文法是否是LR(0)文法,并说明理由。 九(7分翻译成四元式序列。hile C∧BD do    6分程序参数传递方式分别执行程序后的输出值传名传”1”) } A →(B { print(”2”) } A → a { print(”3”) } B → Aa) { print(”4”) } 若对输入序列b(((aa)a)a)b 进行自底向上分析,请写出输出序列十二(8分)对PL/0语言扩充ELSE子句: 条件语句 ::= IF 条件 THEN 语句 [ ELSE 语句 ] 请在空缺处填空,完成条件语句的编译算法: switch (SYM) { …… case IFSYM: GetSym() ; CONDITION(SymSetUnion(SymSetNew(THENSYM),FSYS),LEV,TX); if (SYM==THENSYM) GetSym(); else Error(16); CX1=CX; GEN(JPC,0,0); STATEMENT(SymSetUnion(SymSetNew(ELSESYM),FSYS),LEV,TX); if ( SYM!=ELSESYM ) CODE[CX1].A=CX; else { CX2=CX; GEN(JMP,0,0); CODE[C

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档