《编译原理》期末考试复习重点划分_20120314 幻灯片.pptVIP

《编译原理》期末考试复习重点划分_20120314 幻灯片.ppt

  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文档。上传文档
查看更多
《编译原理》期末考试复习重点划分_20120314 幻灯片

* 选择、填空 * 计算机执行高级语言的方式有编译和解释方式。 对于编译程序而言,输入数据是源程序,输出结果是目标程序。 程序语言主要由语法和语义两方面定义。 * 上下文无关文法G是一个四元式(VT,VN,S,P),其中VN 代表非终结符号集。 词法分析阶段的主要任务是扫描源程序,识别出一个个的单词符号 自上而下分析方法会遇到的主要问题有左递归和回溯 。 设G是一个给定的文法,S是文法的开始符号,如果S x,则称x是文法G的一个句型。 * 已知文法G:E?i | EAE,A?+|* ,其中的终结符号集包括{i,+,*} 编译程序是将高级语言程序翻译成汇编语言或机器语言程序。 文法G所产生的句子的全体是该文法所描述的语言。 * 乔姆斯基定义的四种文法分别为0,1,2,3四种类型或者(短语文法、上下文有关文法、上下文无关文法、正规文法)。 自上而下语法分析方法的基本思想是:从开始符号(根节点)出发,自上而下的为输入串建立一棵语法树。 常见的中间语言形式有后缀式和三地址代码、DAG图等。 五元式不属于常用的中间语言形式。 * 只含有综合属性的属性文法称S-属性文法。 算符优先分析方法每次都是对最左素短语进行规约。 LL(1)文法中第一个L的含义是从左到右扫描输入串。 用高级语言书写的程序经编译后产生的程序叫目标程序. 上下文无关文法G是一个四元式(VT,VN,S,P),其中S 代表开始符号 。 * 汇编程序是将汇编语言翻译成机器语言。 DMA 的五元式定义中S的含义是状态的集合。 文法G所产生的句子的全体是该文法所描述的语言 。 优化阶段的主要任务是对于前段产生的中间代码进行加工变换,以期在最后产生高效的目标代码。 * 算符优先分析方法每次都是对最左素短语进行规约。 LL(1)文法中第二个L的含义是最左推导。 * 简答题 * 编译程序的工作过程主要包括5个阶段,分别为词法分析、语法分析、语义分析与中间代码产生、优化和目标代码生成等。 * 有限自动机中DFA的定义:DFA M是一个五元式 M=(S,∑,δ ,S0,F), 1. S——有限集,其中的每个元素称为一个状态 2. ∑——有穷字母表,其中的每个元素称为一个输入字符 3. δ:S×∑?S(即?状态 s∈S,a∈∑,δ(S,a)唯一的确定下一状态) 4. s0∈S,唯一的初态 5. F?S,是一个终态集(可空) * LL(1)文法满足的基本条件: (1)文法不含左递归; (2)对于文法中每一个非终结符号A的各个产生式的候选首符集两两不相交。 * 属性文法以及属性的两个类别: 在上下文无关文法的基础上为每个文法符号引入一组属性并配备属性的计算规则,这样的文法就是属性文法。属性分综合和继承属性。 * 高级语言执行有解释方式和编译方式,本质区别是编译方式会产生目标代码。 自上而下语法分析方法的基本思想是对于任何输入串,试图用一切可能的办法从文法的开始符号出发,自上而下的为输入串建立一棵语法树 一个上下文无关文法的定义包含4部分即VT,代表终结符号集;VN非终结符号集;S文法的开始符号;P一组产生式。 * 设计题 * 构造正规式 1(0|1)*101 相应的DFA。 解析: (1)构造NFA: * (2)确定化: * 令文法G[S]为: S?T|S+T|S-T T?F|T*F|T/F F?(S)|k 给出k*(k+k)的最左推导和最右推导。 解析:(1)最左推导 S=T=T*F=F*F=k*F=k*(S)=k*(S+T)=k*(T+T)=k*(F+T)=k*(k+T)=k*(k+F)=k*(k+k) * 最右推导: S=T=T*F=T*(S)=T*(S+T)=T*(S+F)=T*(S+k)=T*(T+k)=T*(F+k)=T*(k+k)=F*(k+k)=k*(k+k) * 试写出表达式a*(b+c)的逆波兰式(要求写出详细分析过程)。 解析: 先考虑b+c的后缀式为bc+ 然后将a加入,最终的后缀式为abc+* * 一个简单台式计算器的属性文法如下表所示,请按照该属性文法,构造表达式(3*7+2)*5的附注语法树。 * 解析: * 试写出表达式(A+B)*(C+D)的逆波兰式(要求写出详细分析过程)。 解析: (A+B)*(C+D)的逆波兰式 先分析A+B的后缀式:AB+ C+D的后缀式为:C D + 然后综合:AB+ C D +*

文档评论(0)

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

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

1亿VIP精品文档

相关文档