编译原理
编 译 原 理
目录 1 引论 6 ·LR分析 2 ·文法和语言 语法制导翻译和中间 7 代码生成 3 词法分析 8 。符号表 目标程序运行时的存 4 ·自项向下语法分析方法 9 储组织 5 ·自底向上优先分析 10 代码优化和代码生成 返回 -编译原理- 2
目录 1 • 引论 2 • 文法和语言 3 • 词法分析 4 • 自顶向下语法分析方法 5 • 自底向上优先分析 6 • LR分析 • 语法制导翻译和中间 代码生成 7 8 • 符号表 • 目标程序运行时的存 储组织 9 10 • 代码优化和代码生成 -编译原理- 2
1、引论 翻译程序 编译过程和编译 程序的结构 一编译原理 3 返回
1、引论 翻译程序 编译过程和编译 程序的结构 -编译原理- 3
1、引论 建立编译 程序整体 教学目的 弄清编译 了解三种 过程 概念 翻译程序 一编译原理-一 返回 4
1、引论 教 学 目 的 了解三种 翻译程序 弄清编译 过程 建立编译 程序整体 概念 -编译原理- 4
1、引论 难,点是解释程序 和编译程序的区 重点是理解编译 别。 重点与难点 程序的结构。 一编译原理 返回 5
重 点 与 难 点 重点是理解编译 程序的结构。 难点是解释程序 和编译程序的区 别。 1、引论 -编译原理- 5
1.1翻译程序 翻译程序 ·将源程序转换为目标程序的程序。它是指各种语言 的翻译器,包括汇编程序和编译程序,是汇编程序, 编译程序以及各种变换程序的总称。 源程序 目标语言:可以是介于 源语言和机器语言之间 ·用汇编语言或高级语言 的“中间语言”,可以 是某种机器的机器语言, 也可以是某机器的汇编 语言。 目标程序 ·用目标语言所表示的程序 一编译原理一一 返回 6
1.1 翻译程序 •将源程序转换为目标程序的程序。它是指各种语言 的翻译器,包括汇编程序和编译程序,是汇编程序, 编译程序以及各种变换程序的总称。 翻译程序 •用汇编语言或高级语言编写的程序称为源程序 源程序 •用目标语言所表示的程序 目标程序 目标语言:可以是介于 源语言和机器语言之间 的“中间语言”,可以 是某种机器的机器语言, 也可以是某机器的汇编 语言。 -编译原理- 6
1.1翻译程序 源程序 翻译程序 目标程序 SOURCE TRANSLATER OBJECT PROGRAM PROGRAM 即源程序是翻译程序的输入,目标程序是翻译程序的输出 一编译原理 返回 7
1.1 翻译程序 源程序 翻译程序 目标程序 SOURCE PROGRAM TRANSLATER OBJECT PROGRAM 即源程序是翻译程序的输入,目标程序是翻译程序的输出 -编译原理- 7
1.1翻译程序 ·若源程序用汇编语言书 写,经过翻译程序得到 用机器语言表示的程序, 这时的翻译程序就称之 汇编程序 为汇编程序,这种翻译 过程称为“汇 编”(Assemble) ·若源程序是用高级语 翻译程序 言书写,经加工后得 编译程序 到目标程序,上述翻 译过程称“编译” (Compile) ·对源程序进行解释执行 解释程序 的程序(Interpreter) 返回 一编译原理-一 8
1.1 翻译程序 • 若源程序用汇编语言书 写,经过翻译程序得到 用机器语言表示的程序, 这时的翻译程序就称之 为汇编程序,这种翻译 过 程 称 为 “ 汇 编”(Assemble) • 若源程序是用高级语 言书写,经加工后得 到目标程序,上述翻 译过程称“编译” (Compile) • 对源程序进行解释执行 的程序(Interpreter) 翻译程序 汇编程序 编译程序 解释程序 -编译原理- 8
1.1翻译程序 编译程序 编译程序 汇编程序 解释程序 编译程序和汇编程序主要区别: 解释程序与编译程序的主要区别: 加工对象不同,由于汇编语言格 在解释程序的执行过程中不产生目标 式简单,常与机器语言之间有一 代码。翻译程序执行的工作效率很低 一对应的关系,所以汇编程序所 但结构比编译程序简单、占用内存 作的翻译工作比编译程序简单的 少,适用一些规模较小的语言。编译 多 程序是现在计算机系统最重要的系统 程序之一。 返回 一编译原理 9
1.1 翻译程序 编译程序 汇编程序 编译程序 解释程序 编译程序和汇编程序主要区别: 加工对象不同,由于汇编语言格 式简单,常与机器语言之间有一 一对应的关系,所以汇编程序所 作的翻译工作比编译程序简单的 多。 解释程序与编译程序的主要区别: 在解释程序的执行过程中不产生目标 代码。翻译程序执行的工作效率很低 ,但结构比编译程序简单、占用内存 少,适用一些规模较小的语言。编译 程序是现在计算机系统最重要的系统 程序之一。 9 -编译原理-
1.1翻译程序 冬编译或汇编阶段 编译汇编工作过程 源程序 编译程序 目标程序 或汇编程序 运行阶段 目标程序 输入数据 + 输出数据 运行子程序 返回 一编译原理-一 10
❖编译或汇编阶段 ❖运行阶段 源程序 编译程序 目标程序 或汇编程序 输出数据 目标程序 + 运行子程序 输入数据 1.1 翻译程序 编 译 汇 编 工 作 过 程 -编译原理- 10