编译原理(一、编译器简介)

目录

一、编译器概述

1.1、什么是编译器?

1.2、编译器的核心功能

1.3、编译器和解释器

1.4、编译器简史

1.5、为什么要学习编译原理?

1.6、如何学好编译原理?

二、编译器结构

2.1、编译器的高层结构

2.2、一种没有优化的编译器结构

2.3、一种更复杂的编译器结构

2.4、小结

2.5、编译器实现

三、参考


一、编译器概述

1.1、什么是编译器?

  • 编译器是一个程序;
  • 核心功能是把源代码翻译成目标代码;
  • 源代码:C/C++,Java,C#,html,SOL,...     ---->   目标代码:x86,IA64,ARM,MIPS,...

1.2、编译器的核心功能

编译原理(一、编译器简介)_第1张图片

1.3、编译器和解释器

解释器也是处理程序的一种程序

1.4、编译器简史

  • 计算机科学史上出现的第一个编译器是Fortran语言的编译器,1954-1957年,John Backus。
  • Fortran编译器的成功给计算机科学的发展产生巨大影响。

1.5、为什么要学习编译原理?

编译原理集中体现了计算机科学的很多核心思想:算法,数据结构,软件工程等;

编译器是其他领域的重要研究基础;

编译器本身就是非常重要的研究领域:新的语言设计、大型软件的构造和维护;

1.6、如何学好编译原理?

  • 编译器设计是理论和实践高度结合的一个领域,在学习时处理好二者关系:
  • 理论:深入学习掌握各种算法和数据结构;
  • 实践:切实提高将理论应用于解决实际问题的能力;

二、编译器结构

2.1、编译器的高层结构

编译器具有非常模块化的高层结构;

编译器可看成多个阶段构成的“流水线”结构

2.2、一种没有优化的编译器结构

编译原理(一、编译器简介)_第2张图片

2.3、一种更复杂的编译器结构

编译原理(一、编译器简介)_第3张图片

2.4、小结

编译器由多个阶段组成,每个阶段都要处理不同的问题:使用不同的理论、数据结构和算法。

因此,编译器设计中的重要问题是如何合理的划分组织各个阶段:接口清晰;编译器容易实现、维护。

2.5、编译器实现

任务:编译程序1+2+3到栈式计算机

编译原理(一、编译器简介)_第4张图片

三、参考

中国科技大学 编译原理 华保健 86讲

你可能感兴趣的:(Java)