编译原理期末试题8套含答案+大题集.doc

编译原理期末试题8套含答案+大题集.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》期末试题(一) 二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分) 1.词法分析器的输出结果是_____。  A.( ) 单词的种别编码       B.( ) 单词在符号表中的位置  C.( ) 单词的种别编码和自身值   D.( ) 单词自身值 2. 正规式 M 1 和 M 2 等价是指_____。?  A.( ) M1和M2的状态数相等 ?    ?????? B.( ) M1和M2的有向边条数相等  C.( ) M1和M2所识别的语言集相等   D.( ) M1和M2状态数和有向边条数相等 3. 文法G:S→xSx|y所识别的语言是_____。  A.( ) xyx?   B.( ) (xyx)* C.( ) xnyxn(n≥0) ??? D.( ) x*yx* 4.如果文法G是无二义的,则它的任何句子α_____。  A.( )最左推导和最右推导对应的语法树必定相同     B.( ) 最左推导和最右推导对应的语法树可能不同     C.( ) 最左推导和最右推导必定相同 ?     D.( )可能存在两个不同的最左推导,但它们对应的语法树相同 5.构造编译程序应掌握______。  A.( )源程序???   B.( ) 目标语言 ??? ??C.( ) 编译方法 ???? D.( ) 以上三项都是 6.四元式之间的联系是通过_____实现的。  A.( ) 指示器 ???????   B.( ) 临时变量  C.( ) 符号表 ??????????? D.( ) 程序变量 三、填空题(每空1分,共10分) 1.计算机执行用高级语言编写的程序主要有两种途径:_____和_____。 2.扫描器是_____,它接受输入的_____,对源程序进行_____并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 3.自而分析法采用_____、归约、错误处理、_____等四种操作。 4.一个LR分析器包括两部分:一个总控程序和_____。 四、简答题(20分) 1. 简要说明语义分析的基本功能。 答:语义分析的基本功能包括: 确定类型、类型检查、语义处理和某些静态语义检 查。2. 考虑文法 G[S]: S → (T) | a+S | a T → T,S | S 消除文法的左递归及提取公共左因子。 解:消除文法G[S]的左递归: S→(T) | a+S | a T→ST′ T′→,ST′| ε 提取公共左因子: S→(T) | aS′ S′→+S | ε T→ST′ T′→,ST′| ε4. 按照三种基本控制结构文法将下面的语句翻译成四元式序列: while (AC BD) { if (A ≥ 1) C=C+1; else while (A ≤ D) A=A+2; }。 解:该语句的四元式序列如下(其中E1、E2和E3分别对应A<CB<D、A≥1和A≤D,并且关系运算符优先级高): 100 (j,A,C,102) 101 (j,_,_,113) 102 (j,B,D,104) 103 (j,_,_,113) 104 (j=,A,1,106) 105 (j,_,_,108) 106 (+, C, 1, C) 107 (j,_,_,112) 108 (j≤,A,D,110) 109 (j,_,_,112) 110 (+, A, 2, A) 111 (j,_,_,108) 112 (j,_,_,100) 113 5. 已知文法 G[S] 为 S → aSb|Sb|b ,试证明文法 G[S] 为二义文法。证明:       由文法G[S]:S→aSb|Sb|b,对句子aabbbb对应的两棵语法树为:    因此,文法G[S]为二义文法。   五.计算题(10分) 已知文法 A-aAd|aAb| ε 判断该文法是否是 SLR(1) 文法,若是构造相应分析表,并对输入串 ab# 给出分析过程。 解:增加一个非终结符S/后,产生原文法的增广文法有: S-A A-aAd|aAb|ε 下面构造它的LR(0)项目集规范族为: 从上表可看出,状态I0和I2存在移进-归约冲突,该文法不是LR(0)文法。对于I0来说有:FOLLOW(A)∩{a}={b,d,#}∩{a}=Φ,所以在I0状态下面临输入符号为a时移进,为b,d,#时归约,为其他时报错。对于I2来说有也有与I0完全相同的结论。这就是说,以上的移进-归约冲突是可以解决的,因此该文法是SLR(1)文法。 其SLR(1)分析表为: 对输入串ab#给出分析过程为: 一、是非题: 1.一个上下文无关文法的开始符,可以是终结符或非终结符。

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档