第一章引论 ■本课程介绍程序设计语言编译程序构造的 基本原理和基本实现技术 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 第一章 引 论 ◼ 本课程介绍程序设计语言编译程序构造的 基本原理和基本实现技术
第一章引论 编译理论与方法 口计算机科学与技术中理论和实践相结合的最好 典范 口ACM图灵奖,授予在计算机技术领域作出突出 贡献的科学家 ■程序设计语言、编译理论与方法约占1/3 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 第一章 引 论 ◼ 编译理论与方法 计算机科学与技术中理论和实践相结合的最好 典范 ACM 图灵奖,授予在计算机技术领域作出突出 贡献的科学家 ◼ 程序设计语言、编译理论与方法约占1/3
一.什么是编译程序 口翻译程序 把某一种语言程序(称为源语言程序)等价地转 换成另一种语言程序(称为目标语言程序)的程序 源语言 翻译 目标语 程序 言程序 翻译 程序 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 源语言 程序 目标语 言程序 翻译 程序 翻译 一 . 什么是编译程序 ❑翻译程序 把某一种语言程序(称为源语言程序)等价地转 换成另一种语言程序(称为目标语言程序)的程序
一.什么是编译程序 口编译程序(compiler) 把某一种高级语言程序等价地转换成另一种低级语 言程序(如汇编语言或机器语言程序)的程序 诊断编译程序 优化编译程序 交叉编译程序 可变目标编译程序 高级语 翻译 机器语 运行 结果 言程序 言程序 编译 程序 国科造大学计算机系602教研室
国防科技大学计算机系602教研室 高级语 言程序 机器语 言程序 结果 编译 程序 翻译 运行 一 . 什么是编译程序 ❑编译程序(compiler) 把某一种高级语言程序等价地转换成另一种低级语 言程序(如汇编语言或机器语言程序)的程序 诊断编译程序 优化编译程序 交叉编译程序 可变目标编译程序
一.什么是编译程序 口解释程序 把源语言写的源程序作为输入,但不产生目标程序, 而是边解释边执行源程序本身 源程序 解释执行 结果 解释 程 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 一 . 什么是编译程序 ❑解释程序 把源语言写的源程序作为输入,但不产生目标程序, 而是边解释边执行源程序本身 源程序 结果 解释 程序 解释执行
编译程序Vs.解释程序 编译 ◆●、人 解释 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 编译程序 vs. 解释程序 编译 解释
二 编译过程 把英文翻译为中文 词法分析 口识别出句子中的一个个单词; 口分析句子的语法结构; 语法分析 口根据句子的含义进行初步翻译;一 中唑钙 口对译文进行修饰;· 口写出最后的译文。 优化 目标代码 产生 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 二. 编译过程 ◼ 把英文翻译为中文 识别出句子中的一个个单词; 分析句子的语法结构; 根据句子的含义进行初步翻译; 对译文进行修饰; 写出最后的译文。 词法分析 语法分析 中间代码 产生 优化 目标代码 产生
二.编译过程 编译程序的工作一般分为五个阶段: 口词法分析 口语法分析 ▣中间代码产生 ▣优化 口目标代码产生 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 二. 编译过程 ◼ 编译程序的工作一般分为五个阶段: 词法分析 语法分析 中间代码产生 优化 目标代码产生
1.词法分析 任务:输入源程序,对构成源程序的字 符串进行扫描和分解,识别出一个个单 词符号。 ■依循的原则:构词规则 ■ 描述工具:有限自动机 ■FORI:= 1 TO 100 DO 保留字标识符等符整常数保留字整常数 保留字 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 1. 词法分析 ◼ 任务: 输入源程序,对构成源程序的字 符串进行扫描和分解,识别出一个个单 词符号。 ◼ 依循的原则:构词规则 ◼ 描述工具:有限自动机 ◼ FOR I := 1 TO 100 DO 保留字 标识符 等符 整常数 保留字 整常数 保留字
2.语法分析 ■任务:在词法分析的基础上,根据语言的语 法规测把单词符号串分解成各类语法单位。 ■依循的原则:语法规则 ■描述工具:上下文无关文法 ■Z:=X+0.618*Y 算术表达式,赋值语句 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 2. 语法分析 ◼ 任务:在词法分析的基础上,根据语言的语 法规则把单词符号串分解成各类语法单位。 ◼ 依循的原则:语法规则 ◼ 描述工具:上下文无关文法 ◼ Z := X + 0.618 * Y 算术表达式,赋值语句