编译原理新.pdfVIP

  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文档。上传文档
查看更多
编译原理新

教材材资料 授课顺序:::111 教学目的:::正确理解什么是编译程序;了解编译程序工作的基本本过程及其各阶段的基本本任务务;熟悉编译程 序总框;了解编译程序的生成过程和和构构造工具。 教学重点与难点: 编译程序工作的基本本过程及其各阶段的基本本任务务,编译程序总框。 授授授课课课学学学时时时:::222学学学时时时 教教教学学学方方方式式式:::多多多媒媒媒体体体讲讲讲授授授 教教教学学学内内内容容容::: 第第第一一一章章章 引引引论论论 1.1 什什什么么么是是是编编编译译译程程程序序序 一一一、、、基基基本本本本本本概概概念念念 1、、、翻翻翻译译译程程程序序序:::是指这样的一种程序,它能够把一种语言程序(源语言程序)转换成另一种功功能等价的语 言程序(目标标语言程序)。。。 2、、、编编编译译译程程程序序序是一种翻译程序,其源程序是高级语言,目标标语言程序是低级语言。通常是一次性翻译方 式。如TC等高级语言编译程序。 3、、、解解解释释释程程程序序序也是一种翻译程序,它与编译程序的区别:立即执行源程序,通常是逐句翻译执行。 如BASIC、SQL、JAVA的BYTECODE解释程序等。 二二二、、、高高高级级级语语语言言言程程程序序序的的的处处处理理理过过过程程程 高级程序设计语言程序的典型处理过程如下图所示: 1.2编编编译译译过过过程程程和和和和和和编编编译译译程程程序序序结结结构构构构构构 一、编编编译译译过过过程程程的的的阶阶阶段段段划划划分分分 一般编译程序的工作过程按阶段进行,每个阶段将源程序从一种表示形式转换成另一种表示形式。典 型的阶段划分方法是将整个编译过程分为如下六个阶段: 1、词法分析析: 任务务:对构构成源程序的字符串进行扫描和和分解,识别出单词(如标标识符等)符号。 输入:源程序 输出:单词符号序列 例子:有待分析析源程序: main() { int x=10,y; } 词法分析析后的输出: 1)保留字: main 2)界符:左圆括号 ( 3)界符:右圆括号) 4)界符:左大括号{ 5) 保留字:int 6) 标标识符:x 7) 运算符:= 8) 常数:10 9) 标标识符:y 10) 界符:; 11)界符:右大括号 } 2、语法分析析 任务务:根据语言的语法规则对单词符号串(符号序列)进行语法分析析,识别出各类语法短语(可表示成语 法树树的语法单位),判断输入串在语法上是否正确。 输入:单词序列 输出:语法分析析后的单词序列 3、语义分析析 任务务:按语义规则对语法分析析器归约出的语法单位进行语义分析析,审查查有无语义错误,为代码生成阶 段收集类型信息,并进行类型审查查和和违背语言规范的报错处理。。。 输入:语法分析析后的单词序列 输出:语义分析析后带语义信息的单词序列 4、中间代码生成(并非所有的编译程序都包包含此阶段) 任务务:将语义分析析得到到的源程序变成一种结构构简单、含义明确、易生成、易翻译成目标标代码的内在代 码形式。常用的中间代码形式是四元式(算符,运算对象1,运算对象2,结果果)。 输入:语义分析析后的单词序列 输出:中间代码 5、代码优化化(可放到到目标标代码生成阶段后) 任务务:对中间代码或目标标代码进行变换改造等优化化处理,使生成的代码更高效。 输入:中间代码或目标标代码 输出:优化化后的中间代码或目标标代码 6、目标标代码生成 任务务:将中间代码生成特定机机器上的绝对或可重定位的指令代码或汇编指令代码。 输入:语义分析析后的单词序列或优化化后的中间代码 输出:目标标代码 二、编编编译译译程程程序序序结结结构构构构

文档评论(0)

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

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

1亿VIP精品文档

相关文档