《编译原理1.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言的发展 ?机器语言 ?汇编语言 ?高级语言 ?查询语言、标注语言 第1章 编译程序概论 1.1 什么是编译程序 1.2 编译过程概述 1.3 编译程序的结构 1.4 编译阶段的组合 1.5 编译技术和软件工具 参考书 1.1什么是编译程序 1.1.1 语言处理程序 (0)语言的执行方式 解释方式(Basic) 口译 编译方式(C,pascal) 笔译 (1)汇编程序 (2)解释程序 高级语言解释系统(interpreter) 功能 让计算机执行高级语言(basic,lisp,prolog) 与编译程序的不同 1)不生成目标代码 2)能支持交互环境 (同增量式编译系统) 源 程 序 初始数据 解释系统 直接对源程序中的语句进行分析,执行其隐含的操作。 如:… … b := 2 ; a := b+2 ; 编译程序 write a ; … … 解释程序直接将4的值输出(显示) (3)编译程序 编译程序:把用高级语言编写的源程序翻译成等价的低级语言(称作目标语言)程序。 编译系统是编译程序和运行系统的合称。 编译程序(续) 一个编译程序把一个高级语言源程序翻译成目标程序的工作可分为前后衔接的六个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化及目标代码生成。 大多数高级语言是采用编译的方法实现的。如 PASCAL、FORTRAN、ADA、C、C++、PL/1、 ALGOL 60、 ALGOL 68,等等。 1.1.2 什么是编译程序(compiler) 编译程序是现代计算机系统的基本组成部分. 从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序. 编译程序的功能 软件:计算机系统中的程序及其文档 系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。他和具体的应用领域无关,如编译系统和操作系统等。 语言处理系统:把软件语言书写的各种程序处理成可在计算机上执行的程序。 软件语言:用于书写软件的语言。它主要包括需求定义语言,功能性语言,设计性语言,程序设计语言以及文档语言 语言转(变)换系统 术语 编译程序(compiler) 编译程序的源语言(源程序) (source language)(source program) 编译程序的目标语言(目标程序) (object or target language)(object or target program) 编译程序的实现语言(implementation language) 语言处理程序(language processor) 语言转(变)换(language transformation) 1.2 编译过程概述 编译逻辑过程 词法分析 语法分析 语义分析 中间代码生成 代码优化 目标代码生成 1.2.1 词法分析 这个阶段的任务是从左至右、从上到下一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。 var sum,first,count:real; sum :=first + count * 10 又如一个C源程序片断: int a; a = a + 2; 词法分析后可能返回: 单词类型 单词值 保留字 int 标识符(变量名) a 界符 ; 标识符(变量名) a 算符(赋值)

文档评论(0)

you9391 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档