高级程序计设语言.pptxVIP

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第一章引论第一章引论主要内容:介绍编译程序的概念,编译过程概述,编译程序的结构,编译程序与程序设计环境,编译程序的生成等内容基本要求:理解编译程序的作用,从宏观上理解组成、功能划分及开发步骤。重点与难点:编译程序的组成、功能划分。1.1什么叫编译程序回顾:程序设计语言及程序设计语言的处理方式(编译和解释)翻译程序:编译程序:是指这样的程序,它能够把某种“高级语言”的程序转换成另一种“低级语言”的程序,而后者与前者在逻辑上是等价的。如果源语言是诸如FORTRAN、Pascal、C、Smalltalk或Java这样的“高级语言”,而目标语言如汇编语言之类的“低级语言”这样的翻译程序则称之为编译程序。

编译程序的分类第一章引论根据不同的用途和侧重点:诊断编译器:用于程序的开发和调试优化编译器:具有优化能力,提高目标代码的效率交叉编译器:该编译器产生不同于其宿主机的机器代码宿主机:运行编译程序的计算机目标机:运行目标代码的计算机 编译与解释解释程序:它以该语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身。 编译与解释的区别:是否产生目标程序 解释程序的特点:结构简单,占用内存少,规模较小的语言采用,如BASIC;但效率低

英译与编译的比较英译1.识别出句子中的一个个单词2.分析句子的语法结构3.初步翻译句子的含意4.译文修饰5.写出最后译文编译1.词法分析2.语法分析3.语义分析中间代码生成4.优化5.目标代码生成分析过程综合过程汇编程序汇编程序:是指这样的程序,它能够把汇编语言的源程序转换成机器语言的目标程序。源程序:用汇编语言编写的程序目标程序:用机器语言编写的程序1.2编译过程概述主要工作:把高级语言写的程序翻译成等价的目标程序。

1.2.1词法分析第一章引论主要工作:读入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词(也称单词符号,或简称符号)源程序的格式化处理:删除无用的符号(空格、回车符等),删除注释语句进行词法检查,报告发现的词法错误(拼写错误)在词法分析阶段工作所依循的是语言的词法规则。描述词法规则的有效工具是正规式和有限自动机。例:fori:=1to30do/*循环语句*/1.2.2语法分析语法:定义了语言各语法成分的形式或结构语法分析的任务:在词法分析的基础上,根据语言的语法规则,把单词符号划分成各类语法单位(语法范畴),如“短语”、“句子”、“子句”、“程序段”等,确定整个输入串是否构成语法上正确的程序。语法规则通常用上下文无关文法描述。

1.2.3语义分析与中间代码的产生语义:定义了各语法成分的功能和含义,即规定了他们的属性或在执行时应进行的运算。这一阶段通常包括两方面的工作:首先对各种语法范畴进行静态语义检查,如果正确则进行另一方面的工作,即进行中间代码的翻译。通常使用属性文法描述语义规则所谓“中间代码”是一种含义明确,便于处理的记号系统。中间代码除四元式外,还有三元式、间接三元式、逆波兰记号、树形表示等。1.2.4优化优化的目的:生成高质量的代码优化的任务:在于对前段产生的中间代码进行加工,以期在最后阶段产生更为高效(省时间和空间)的目标代码优化所依循的原则:是程序的等价变换规则其方法有:公共子表达式的提取、循环优化、删除无用代码等。

代码优化示例第一章引论Fork:=1to100do begin m:=i+10*k; n:=j+10*k; endM=i;n=j;k=1Fork:=1to100do beginm:=m+10; n:=n+10; endFork:=1to100do begin m:=i+10*k; n:=j+10*k; endFork:=1to100do begin t=10*k; m:=m+t; n:=n+t; end

1.2.5目标代码生成这一阶段的任务:把中间代码(或经优化处理后)变换成特定机器上的低级语言代码。生成的目标代码的形式依赖于硬件系统结构和机器指令含义。主要工作:存储空间的分配,寄存器的调度,机器指令的选择等等目标代码的形式:绝对指令代码;可重定位的指令代码;汇编指令代码词法分析语法分析语义分析与中间代码产生优化目标代码生成编译过程总结

1.3编译程序的结构第一章引论表格管理词法分析器语法分析器语义分析与中间代码产生优化器目标代码生成器源程序单词符号语法单位中间代码中间代码目标代码出错处理

1.3.2表格与表格管理第一章引论在编译程序

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档