compiler1_编译程序概述.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 课程简介 课 程 简 介 学习的意义 对编程语言的设计和实现有深刻的理解,对和编程语言有关的理论有所了解,对宏观上把握编程语言来说,起一个奠基的作用。 从软件工程看,编译器是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中。 大多数程序员同时是简单语言的设计者,有助于提高对这些语言的设计水平。 在软件逆向工程、程序理解和软件安全等方面有着广泛的应用。 考试成绩 编译原理主要介绍知识点 第一 编译程序概述 第二 文法和语言 第三 词法分析 第四 自顶向下语法分析方法 第五 自底向上优先分析方法 第六 LR分析方法 第七 语法制导翻译和中间代码生成 第八 代码优化 第九 代码生成 第一章 编译程序概述 1.1 什么是编译程序 1.2 编译程序的结构 1.3 编译程序的设计实现 1.4 经典的编译程序 第一章 编译程序概述 1.1 什么是编译程序 1. 程序设计语言 2. 翻译和解释程序  (1)翻译和编译程序 (2) 编译和解释程序 1.2 编译程序的结构 编译程序的功能和组织结构 词法分析 语法分析 任何一个标识符都是表达式; 任何一个数都是表达式; 如果e1和e2都是表达式,那么 ? e1 + e2 ? e1 * e2 ? (e1) 也都是表达式 语法分析 语义分析 源程序的分析 中间代码生成 代码优化 目标代码生成 对源程序的翻译 符号与出错管理 第一章 引 论 相关概念 1.3 编译程序的设计实现 设计和实现一个编译程序,必须精通: 源 语 言 目标语言 编译方法 1.4 经典的编译程序 虽然只有少数人从事构造或维护程序设计语言的编译器,但是本课程对本科生来说是一门重要课程。 1.本课程能使学生对编程语言的设计和实现有深刻的理解,对和编程语言有关的理论(形式语言和自动机理论、类型论等)有所了解,对宏观上把握编程语言来说,起一个奠基的作用。 2.对软件工程来说,编译器是一个很好的实例(基本设计、模块划分等),也是本科期间能碰到的唯一的大型例子,学生从本课程的学习也能了解到软件工程中的一些技术(如基于事件驱动的编程)。本课程所介绍的概念和技术能应用到一般的软件设计之中。 3.大多数程序员同时是语言的设计者,虽然是一些简单的语言(如输入输出),本课程的学习有助于提高对这些语言的设计水平。 4.编译技术在软件逆向工程、程序理解和软件安全等方面有着广泛的应用 软件逆向工程:以另外一种形式创建系统同一层次的表示或者更高层次的抽象, 应用:技术仿造、软件维护。 程序理解:通过分析、抽象和一般化来获取软件知识的演绎过程。(1)基于机器代码和中间代码层的理解,需要借助于反汇编和反编译技术;(2)基于源代码的理解;(3)基于语法层的理解,程序分段、程序切片和程序分析等技术就是其中的最典型代表;(4)基于程序语义层的理解,模式匹配、格局识别(plan recognition)、概念赋值(concept assigned)和概念分析(concept analysis)等都是进行语义级的软件理解和分析技术。 软件安全:满足安全策略。基本安全策略:类性安全、控制流安全和内存安全。还有信息流安全。用到词法、语法和语义分析、类性系统和类性检查、控制流分析和数据流分析等。编译器将走向类型制导的编译器。 美国的名牌大学:都有编程语言和编译器方面的课程,80%有这方面的研究。国内对这方面的人才需求将增加。 先介绍语法,然后才介绍语法分析。 * * 先行课程:高等数学、C (PASCAL)、离散数学、       汇编语言、数据结构   编译原理课程应用领域 编译器的设计 一般的软件设计 例如: 文本编辑器、信息表示、信息转换、信息检索系统、模式识别器 排版、绘图系统 程序验证器 教材: 编译原理 张素琴 吕映芝 清华大学出版社 程序设计语言编译程序 陈火旺等 国防工业出版社 参 考 书 籍 参 考 书 籍 Return /compiler/compiler.html /kaoyan/e4/245gong.htm /test/luntan/os.asp 参考 网站 /~yiyun 平时成绩 (作业,考勤,上机)+ 考卷成绩 过程式语言 Fortran,Pascal,C 函数式语言 Lisp 逻辑式语言 Prolog 对象式语言 C++         汇编语言         机器语言 程序设 计语言 高级语言 低级语言:面向机器的语言 编译:如果一个翻译程序的源语言是某种高级语言,其目标语言是

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档