- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
四川师范大学 Compiler 四川师范大学 第1章编译系统概述 * 四川师范大学 第1页,共25页,编辑于2022年,星期五 * 四川师范大学 内 容 1.1.编译的起源:程序设计语言的发展 1.2. 基本概念 1.3. 编译过程和编译程序构造 1.4. 编译技术的其他应用 第2页,共25页,编辑于2022年,星期五 * 四川师范大学 1.1 基本概念 低级语言(Low level Language) 字位码、机器语言、汇编语言 特点:与特定的机器有关,功效高,但使用复杂、繁 琐、费时、易出错 高级语言 -- Fortran、Pascal、C 语言等 特点:不依赖具体机器,移植性好、对用户要求低、易使用、易维护等。 第3页,共25页,编辑于2022年,星期五 * 四川师范大学 源程序 用汇编语言或高级语言编写的程序称为源程序 目标程序 用目标语言所表示的程序 目标语言:可以是介于源语言和机器语言之间的“中间语言”,可以是某种机器的机器语言,也可以是某机器的汇编语言。 翻译程序 将源程序转换为目标程序的程序称为翻译程序。它是指各种语言的翻译器,包括汇编程序和编译程序,是汇编程序、编译程序以及各种变换程序的总称。 第4页,共25页,编辑于2022年,星期五 * 四川师范大学 源程序、翻译程序、目标程序 三者关系: 源程序 翻译程序 目标程序 SOURCE PROGRAM TRANSLATER OBJECT PROGRAM 即源程序是翻译程序的输入,目标程序是翻译程序的输出 第5页,共25页,编辑于2022年,星期五 * 四川师范大学 汇编程序 若源程序用汇编语言书写,经过翻译程序得到用机器语言表示的程序,这时的翻译程序就称之为汇编程序,这种翻译过程称为“汇编”(Assemble) 编译程序 若源程序是用高级语言书写,经加工后得到目标程序,上述翻译过程称“编译”(Compile) 汇编程序与编译程序都是翻译程序,主要区别是加工对象的 不同。由于汇编语言格式简单,常与机器语言之间有一一对 应的关系。汇编程序所要做的翻译工作比编译程序简单的多。 第6页,共25页,编辑于2022年,星期五 * 四川师范大学 源程序的编译和运行 编译或汇编阶段 运行阶段 源程序 目标程序 编译程序 或汇编程序 输出数据 目标程序 + 运行子程序 输入数据 第7页,共25页,编辑于2022年,星期五 * 四川师范大学 工作过程 解释程序(Interpreter) 对源程序进行解释执行的程序。 输出数据 解释程序 输入数据 源程序 特点、与编译程序比较 第8页,共25页,编辑于2022年,星期五 * 四川师范大学 “编译-解释执行”系统 源程序 编译程序 源程序的中间形式 输出数据 解释程序 输入数据 第9页,共25页,编辑于2022年,星期五 * 四川师范大学 所谓编译过程是指将高级语言程序翻译为等价的目标程 序的过程。 1.2 编译过程 词法分析 语法分析 语义分析、生成中间代码 代码优化 生成目标程序 习惯上是将编译过程划分为5个基本阶段: 第10页,共25页,编辑于2022年,星期五 * 四川师范大学 单词:是语言的基本语法单位,一般语言有四大类单词 1语言定义的关键字或保留字(如BEGIN、END、IF) 2标识符 3常数 4分界符(运算符) (如+、-、*、/、;、(、) ……) 对于如下的字符串,词法分析程序将分析和识别出9个单词: X1 := ( 2.0 + 0.8 ) * C1 1 2 3 4 5 6 7 8 9 源程序是由字符序列构成的,词法分析扫描源程序(字符串),根据语言的词法规则分析并识别单词,并以某种编码形式输出。 任务:分析和识
文档评论(0)