操作系统Operating System OS - Read.PPT

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统Operating System OS - Read

编译原理课程讲什么内容? 介绍编译器构造的一般原理和基本实现方法。 介绍的理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论等 强调形式描述技术和自动生成技术 强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于某种源语言或目标机器 为什么开设编译原理课? 编译器是一个很好的软件工程实例。 所介绍的概念和技术能应用到一般的软件设计之中,有助于提高对这些语言的设计水平。 奠基作用。 对编程语言的设计和实现有深刻的理解,对和编程语言有关的理论有所了解,宏观上把握编程语言。 应用广泛。 软件逆向工程、程序理解和软件安全等方面。 教材 陈意云、张昱,编译原理,高等教育出版社,2003 参考书 陈意云、张昱,编译原理及实践,高等教育出版社,2005 陈意云、张昱,编译原理习题精选与解析,高等教育出版社,2005 A. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools , 2nd edition, Addison-Wesley, 1986 目录 概述 词法分析 ? 语法分析 ? 语法制导的翻译 ? 类型检查 类型检查 运行时存储空间的组织和管理 中间代码生成 ? 代码生成 代码优化 第1章 编译原理概论 编译器从逻辑上可以分成若干阶段 每个阶段把源程序从一种表示变换成另一种表示 通过描述编译器的各个阶段来介绍编译该课题 §1.1 什么叫 编译程序 翻译程序 能够把某一种语言(称为源语言)书写的程序改造为另一种语言书写的程序(称为目标语言)。 编译程序 如果源语言是“高级语言”(如FORTRAN、PASCAL、C、JAVA… ),而目标语言是“低级语言”(如汇编语言或机器语言之类),这样的一个翻译程序就称为编译程序。 解释程序 编译程序 (compiler) 的作用 编译程序在计算机系统中的位置 编译系统:一种系统软件。 系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。如编译系统和操作系统等。 语言处理系统:把软件语言书写的各种程序处理成可在计算机上执行的程序,如编译系统。 历史回顾: 20世纪50年代中期,世界上第一个编译程序——Fortran 。 当时,人们普遍认为设计和实现编译程序是一件十分困难的事情, 经过四十年的努力,编译理论和技术得到迅速发展,现在已形成了一套比较成熟的、系统化的理论与方法,并且开发出了一些好的编译程序的实现语言、环境和工具。 2.编译程序分类(按用途和侧重性) 诊断编译程序(Diagnostic Compiler) 开发、调试 优化编译程序(Optimizing Compiler) 提高代码效率 交叉编译程序(Crossing Compiler) 产生不同于宿主机的机器代码 可变目标编译程序(Retargetable Compiler) 不需重写与机器无关的部分即可改变目标机 编译和解释程序 编译程序总框图 1.词法分析 任务: 从左到右一个字符一个字符地读入源程序,对字符流进行扫描和分解,从而识别出一个个单词(或单词符号、或简称符号、记号)。 如基本字(begin、end、for、while等)、标识符、常数、算符和界符(标点符号、左右括号等)。 1. 词法分析 如同将英文翻译成中文一样,如果对英语单词不理解,则谈不上进行正确的翻译。 单词符号是语言的基本组成部分,是理解和编写程序的基本要素。识别和理解这些要素是翻译的基础。 依循原则:语言的词法规则 (或语言的构词规则) 描述方法:上下文无关文法 描述工具:正规式和有限自动机 2. 语法分析 任务: 在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单元(语法范畴),如:短语、子句、句子(语句)、程序段、程序等。 通过语法分析,确定整个输入串是否构成语法上正确的“程序”。 一般这种语法短语,也称语法单位,可表示成语法树。 例:z : = x + 0.618 ? y 语法分析要识别: (1) x+0.618?y为算术表达式; (2)并且整个字符串属于赋值语句范畴。 词法分析 ? 线性分析 语法分析 ? 层次结构分析 依循原则:语言的语法规则 描述方法:上下文无关文法 2. 语法分析 3. 语义分析与中间代码产生 任务: 对语法分析所识别的各类语法范畴,对

文档评论(0)

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

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

1亿VIP精品文档

相关文档