编译原理ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1 什么是编译程序(COMPILER)
一、程序设计语言 程序设计语言是用来编写程序的工具 程序设计语言的分类: 低级语言:机器语言、汇编语言等
高级语言:如:C、PASCAL、DELPHI、VC等
高级语言、汇编语言被计算机所“理解”的途径:
翻译方式 解释方式
1.1 什么是编译程序(COMPILER)
学习应该以思考为主 思考由问题和答案组成。提问使人进步。提问和答案一样 重要 基础知识是研究的工具 敢于犯错误 注重实验环节,多做程序 源程序是源泉 把每个阶段放到整个编译程序背景中学习 认真做程序 独立、认真完成作业
六、考核评分标准 平时作业 10% 上机实验 20% 实验报告 10% 闭卷考试 60%
1.2
1、词法分析 词法分析器的工作任务:
编译过程和编译程序的结构
识别出源程序中的各种语法单位(单词或语法符号) 删除无用的空白字符、回车字符及其它与输入介质相关
的非实质性字符 删除注释 进行词法检查,报告所发现的错误
编译系 统
操作系统 裸机
编译程序与运行系统合称为编译系统
需预处理的源程序 预处理程序 源程序
编译程序
可重定位目标文件库 汇编程序
目标汇编程序
可重定位机器代码
装配连接编辑
高级语言处理过程
绝对机器码
术语
编译程序(compiler) 编译程序的源语言(源程序) (source language)(source program) 编译程序的目标语言(目标程序) (object or target language)(object or target program) 编译程序的实现语言(implementation language) 语言处理程序(language processor) 语言转(变)换(language transformation)
一、教学目的
讲述编译系统的结构、工作流程及编译程序各组成部分 的设计原理和实现技术 通过学习课程,既掌握编译理论和方法方面的基本知识, 也应具有设计、分析和维护编译程序等方面的初步能力 能完成一个相当规模的系统的设计 编译原理是计算机专业最为恰当、有效的载体之一。

编译原理是一门综合应用的课程。编译程序的设计与构造过程 中需要用到许多前导课程的知识,比如离散数学中的语言与自动机 的知识,数据结构中各种结构的知识,高级程序设计语言的结构与 功能的知识,汇编语言的知识,计算机组成的知识等。因此编译原 理课程是提高学生综合能力的一门关键课程,学好这门课程将使学 生获得相当程度的成就感。使学生能切实感受到用户可以指挥计算 机去完成相当复杂的问题。
1、吕映芝,张素琴,蒋维杜编. 编译原理. 清华大学出版社 2. 蒋立源等. 编译原理. 西北工业大学出版社 3. 陈火旺, 刘春林等. 程序设计语言编译原理.国防工业 出版社 4.ALFRED V. AHO, RAVISETHI, JEFFREY D. ULLMAN, Compilers Principles, Techniques and Tools ADDISSON-WESLEY 这是最经典的一本编译参考书 5.Keneth C.Louden Compiler Construction Principles and Practice
二、学习成果
理解和掌握编译过程各个阶段的工作原理 理解标准编译器各个组成部分的任务 熟悉编译过程各阶段所要解决的问题及其采用的方法和技术 应用一些标准的技术解决编译器构造过程中所产生的相关问 题

三、学时分配 授课学时36学时,实验12学时 实验一:词法分析器 实验二:语法分析器
五、学习方法
代码优化程序
中间代码 目标代码生成程序 目标代码
1.2
编译过程和编译程序的结构
1、词法分析(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)
参考书
第一章 编译概述
编译程序是计算机系统中重要的 系统软件,是高级语言的支撑基础。编 译原理这门课程主要介绍设计和构造 编译程序的基本原理和常用的技术和 方法。 本章重点介绍编译程序的基本概念。
2018/11/9
编译原理
7
第一章 编译概述
1.1 1.2 1.3 1.4 什么是编译程序 编译过程概述 编译程序的结构 编译阶段的组合
1.1 什么是编译程序(COMPILER)
高级语言
书写的程序
术语
编译程序
低级语言程序
编译程序的源语言 (源程序)
编译程序的目标语 言(目标程序) 编译程序的实现语 言
S I
O
S I
Fra Baidu bibliotek
T
1.1 什么是编译程序(COMPILER)
三、编译系统
按编译方式在计算机上执行高级语言编写的程序需 经过两个阶段: 1、编译阶段 2、运行阶段
例:外文翻译和编译工作的比较
翻译外文
1.2
编译过程和编译程序的结构
编译源程序
阅读原文
分析 识别单词 分析句子 修辞加工 综合 写出译文
输入并扫描源程序
词法分析 语法分析 代码优化 目标代码生成
源程序
词法分析程序 单词符号 表 格 管 理 语法分析程序 语法单位 语义分析程序与中间代码生成程序 中间代码 出 错 处 理
二、编译程序 翻译程序:在计算机中放置一个能由计算机直接执 行的翻译程序。它以某一程序设计语言(源语言) 所编写的程序(源程序)作为翻译或加工的对象。 当计算机执行翻译程序时就将它翻译为与之等价的 另一语言(目标语言)的程序(目标程序)。
编译程序:如果一个翻译程序的源语言是某种高级 语言,其目标语言是相应于某一计算机的汇编语言 或机器语言,这种翻译程序称为编译程序
相关文档
最新文档