编译原理复习练习题讲解.docxVIP

  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文档。上传文档
查看更多
文法 S-a|^|(T) T-T,S|S 对 (a,(a,a))) 和 (((a,a),^,(a)),a) 的最左推导。解:略。何谓优化?简述优化的原则是什么?按所涉及的程序范围可分为哪几级优化?解:(1)优化:对程序进行各种等价变换,使得从变换后的程序出发,能产生更有效的目标代码。        (2) 三种级别:局部优化、循环优化、全局优化。3.构造正规式 1(0|1)*101 相应的DFA。4.已知文法 G[S] 为 S → aSb|Sb|b ,试证明文法 G[S] 为二义文法。(以句子aabbbb为例)解:由文法G[S]:S→aSb|Sb|b,对句子aabbbb对应的两棵语法树为:?因此,文法G[S]为二义文法5.考虑文法 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′|?ε6. 文法 G[S] 为: S-Ac|aB A-ab B-bc 写出 L(G[S]) 的全部元素。解:S=Ac=abc??或S=aB=abc??所以L(G[S])={abc}7、已知 NFA= ( {x,y,z},{0,1},M,{x},{z} ),其中:M(x,0)={z},M(y,0)={x,y},M(z,0)={x,z},M(x,1)={x}, M(y,1)= φ ,M(z,1)={y}, 构造相应的DFA并最小化。最小化:8、对下面的文法 G :    E-TE   E-+E| ε   T-FT   T -T| ε   F- PF   F- *F| ε   P-(E)|a|b|^    (1)计算这个文法的每个非终结符的 FIRST 集和 FOLLOW 集。   (2) 证明这个方法是 LL(1) 的。  (3) 构造它的预测分析表。解:9. 什么是非活跃变量?什么是活跃变量?答:对程序中的某变量A和某点p而言,如果存在一条从p开始的通路,其中引用了A在点p的值,则称A在点p是活跃的,则A为活跃变量;否则称A在点p是不活跃的,A为不活跃变量。10. 试为表达式w+(a+b)*(c+d/(e-10)+8)写出相应的逆波兰表示。解:w?a?b?+?c?d?e?10?-?/?8?+?+?*?+11.对文法G[S]Sa|∧|(T)TT,S|S给出(a,(a,a))的最左推导。改写文法,消除左递归。解:(a,(a,a))的最左推导:略。消除左递归后文法:S→a|∧|(T)??T→ST′??T′→,ST′|?ε??12. 简要说明语义分析的基本功能。答:按照语法分析器识别的语法范畴进行语义检查和处理,产生相应的中间代码或目标代码。13、编译过程概述和编译程序的结构答:编译过程概述:一般一个编译过程划分成词法分析、语法分析、语义分析、中间代码生成,代码优化和目标代码生成六个阶段。另外两个重要的工作:表格管理和出错处理与上述六个阶段都有联系。编译程序的结构:词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、表格管理程序和出错处理程序。14. 已知文法为: ??S-a|^|(T) ??T-T,S|S ??构造它的 LR(0)分析表。(这样的文法是否要先消除左递归?) 不需要解:扩展文法G’为:S’-SS-aS-∧S-(T)T-T,ST-SLR(0)项目集族及识别活前缀的DFA 如下图所示:LR(0)分析表: ActionGotoState a ∧ ( ) , # S T 0 S2 S3 S4 11acc 2 R1 R1R1R1R1R1 3 R2 R2R2R2R2R2 4 S2 S3 S4 6 55 S7 S8 6 R5 R5R5R5R5R5 7 R3 R3R3R3R3R3 8 S2 S3 S4 99 R4 R4R4R4R4R4 15. 写出表达式(a+b)/(a-b)-(a+b*c)的三地址码TAC及四元式。解:三地址码四元式(+,a,b,)(-,a,b,)(,b,c,)(+,a,,)(+,,,)(-,,,)16、构造下列正规式相应的DFA:a((a|b)*|ab*a)* b解:首先构造NFA然后确定化,用矩阵图表示:{0} A{1,2,3}B0{1,2,3}B{2,3,4,5}C{2,3}D0{2,3,4,5}C{1,2,3,4,5,6}E{2,3,5}F0{2,3}D{2,3,4,5}C{2,3}D0{1,2,3,4,5,6}E{1

文档评论(0)

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

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

1亿VIP精品文档

相关文档