编译原理第1章_概论.pptVIP

  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文档。上传文档
查看更多

程序设计语言

编译原理软件学院易萍雯Pewee@Pwyee@163.com教材《程序设计语言编译原理》第三版陈火旺、刘春林等,国防工业出版社,2000主要参考资料学时情况总学时:64学时学分:3.5讲课:48学时上机:16学时考核平时作业:10%上机:10%期末考试:80%后续课程编译原理课程设计专题实验32学时,1.5学分第1章编译程序概论§1.1什么是编译程序§1.1.1什么是程序设计语言程序设计语言(ProgrammingLanguage)通常泛指一切用于编写计算机程序的语言。它是人与计算机之间进行信息交流的工具。包括机器语言:采用二进制来表示(低级语言)汇编语言:采用机器语言的助记符来表示(低级语言)高级语言:采用完全符号形式化的方式来表示,它独立于具体的计算机硬件。程序设计语言特性程序语言需要的支持环境§1.1.2高级程序设计语言的发展FORTRAN(FORmulaTRANslation)LISP(LIStProcessor)PASCALCC++JAVA§1.1.3编译程序定义§1.1.4解释程序定义§1.1.5编译程序分类§1.2编译过程概述§1.2.1词法分析工作§1.2.2语法分析工作分析出句子的语法结构。一般用语法树表示;不合乎语法规则的输入流,报:语法错误。§1.2.3语义分析工作

(中间代码生成)§1.2.4优化工作§1.2.5目标代码生成解释程序的工作§1.3编译程序的结构§1.3.1编译程序的总框§1.3.2编译的“前端”,“后端”§1.3.3遍(趟,pass)典型的四遍编译过程§1.4编译程序的生成学习要点§1.5课程特征为什么学编译原理1.涉及计算机学科中,许多抽象问题、解决问题的思路和方法;2.掌握程序语言的内部实现机理,对程序语言的理解更加深入全面;3.课程中包含了很多软件技术,是专业经验积累的一种途径。作业由于C++提出了把数据和在数据之上的操作封装在一起的类、对象和方法的机制,并通过派生、继承、重载和多态性等特征,实现了人们期待已久的软件复用和自动生成。这使得软件,特别是大型复杂软件的构造和维护变得更加有效和容易,并使软件开发能更自然地反映事物的本质,从而大大提高了软件的开发效率和质量。ifM+3Nthenz:=x+10*yelsez:=x*20G[S]:S→A:=E|ifEthenS1elseS2E→E+E|E-E|E*E|E/E|EopE|iop→=||||=|=语法树对语法树进行分析处理,生成中间代码序列(四元式)识别的标准:语言的语义规则。但目前仍未解决语义信息的形式化问题。语义规则一般采用自然语言进行描述。例:ifM+3Nthenz:=x+10*yelsez:=x*20100?(+,M,3,T1)101?(j,T1,N,103)102??(j,_,_,107)103??(*,10,y,T2)104??(+,x,T2,T3)105??(:=,T3,_,z)106??(j,_,_,109)107??(*,x,20,T4)108??(:=,T4,_,z)109????..….对中间代码加工,以产生高效的中间代码(时间,空间)优化的依据——等价变换规则T1:=2*3.14T2:=T1*rl:=T22*3.14的值在编译时就可以确定T2:=6.28*rl:=T2例:l=2*3.14*r任务:把中间代码变换成特定机器上的绝对指令代码、或可重定位的指令代码、或汇编指令代码。特点:与硬件系统结构和指令含义有关,涉及到硬件系统功能部件的运用、机器指令的选择、各种数据类型变量的存储空间分配、寄存器和后缓寄存器的调度等。例:ifM+3Nthenz:=x+10*yelsez:=x*20词法分析:识别出单词符号;语法分析:得到语法树;计算,求出结果;设:m=10,n=4,x=5,y=6结果为:Z:=65

文档评论(0)

翰林大当家 + 关注
实名认证
服务提供商

文案个性定制,计划书、方案、策划书专业撰写。

1亿VIP精品文档

相关文档