讲稿第01章 编译程序概论研讨.pptVIP

  1. 1、本文档共60页,可阅读全部内容。
  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文档。上传文档
查看更多
讲稿第01章 编译程序概论研讨

以Java语言为例 .java java源程序文件 .class 二进制字节码文件 Java虚拟机(JVM) 操作系统 编译 2、计算机软件相关概念 计算机系统中的程序及其文档 软件 居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。它和具体的应用领域无关,如编译系统和操作系统等 系统软件 把软件语言书写的各种程序处理成可在计算机上执行的程序 语言处理系统 用于书写软件的语言。它主要包括需求定义语言、功能性语言、设计性语言、程序设计语言以及文档语言 软件语言 3、语言处理过程 预处理器 编译器 汇编器 装配连接编辑 需预处理的源程序 源程序 目标汇编程序 可重定位机器代码 绝对机器码 可重定位目标文件库 1.2 编译过程概述 所谓编译过程是指将高级语言程序翻译为等价的目标程序的过程。 以翻译外文资料为例,对比翻译过程: 1、能识别出句子中的一个单词 2、分析句子的语法结构 3、根据句子的含义进行初步翻译 4、对译文进行修饰 5、写出最后的译文 1.2 编译过程概述 翻译和编译工作的比较 翻译外文 编译程序 分析 识别单词 分析句子 根据语义进行初步翻译 词法分析 语法分析 语义分析 生成中间代码 综合 修辞加工 写出译文 代码优化 目标代码生成 编译过程划分 习惯上将编译过程划分为6个基本阶段: 目标代码生成 代码优化 中间代码生成 语义分析 语法分析 词法分析 (1)词法分析 词法分析是编译过程的第一个阶段,主要任务是从左至右读字符流的源程序、识别(拼)单词。 扫描源程序的ASCII码序列,拼出每一个单词,并把每个单词的ASCII码序列替换为所谓的机内表示TOKEN形式,这时还检查词法错误。但词法分析阶段不依靠语法关系。 词法分析举例 例如一个C源程序片断 a = b + c * 60; 单词类型 单词值 标识符1(id1) a 算符(赋值) = 标识符2(id2) b 算符(加) + 标识符3(id3) c 算符(乘) * 整数 60 界符 ; 词法分析举例 又如一个C源程序片断: int a; a = a + 2; 单词类型 单词值 保留字 int 标识符(变量名) a 界符 ; 标识符(变量名) a 算符(赋值) = 标识符(变量名) a 算符(加) + 整数 2 界符 ; 有关术语 词法分析(lexical analysis or scanning) The stream of characters making up a source program is read from left to right and grouped into tokens, which are sequences of characters that have a collective meaning. 单词--token 保留字--reserved word 标识符--identifier(user-defined name) (2)语法分析-编译程序核心 语法分析的任务是依据源程序的语法规则把源程序的单词序列组成语法短语(表示成语法树),并进行语法正确性检查。 扫描对象可能是源程序的ASCII码序列,也可能是词法分析后的TOKEN序列。 这里的语法规则即语言的文法,如 赋值语句::=标识符“=”表达式 表达式::=表达式“+”表达式 | 表达式“*”表达式 表达式::=“(”表达式“)” | 标识符 | 整数 | 实数 语法分析举例 a = b + c * 60; 赋值语句 + 表达式 表达式 表达式 表达式 * 标识符 表达式 = a 标识符 b 标识符 c 整数 60 单词类型 单词值 标识符1(id1) a 算符(赋值) = 标识符2(id2) b 算符(加) + 标识符3(id3) c 算符(乘) * 整数 60 界符 ; 有关术语 语法分析(syntax analysis or parsing) The purpose of syntax analysis is to determine the source program’s phrase structure. This process is also called parsing. The source program is parsed to check whether it conforms to the source language’s syntax, and to construct a suitable representation of its phrase structure. (3)语义分析 分析语法成份的含义,进行语义上的正确性检查,为代码生成阶段收集类型信息。 语义检

文档评论(0)

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

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

1亿VIP精品文档

相关文档