编译器介绍
编译器概述
编译器是一个程序
核心功能是把源代码翻译成目标代码
解释器也是一类处理程序的程序
为什么学习编译原理
编译原理集中体现了计算机科学的很多核心思想
- 算法,数据结构,软件工程等
编译器是其他领域的重要研究基础
编译器本身就是非常重要的研究领域
- 新的语言设计
- 大型软件的构造和维护
如何学编译原理
编译器设计是理论和实践高度结合的一个领域,在学习处理好二者关系
- 理论:深入学习掌握各种算法和数据结构
- 实践:切实提高将理论应用于解决实际问题的能力
编译器结构
编译器具有非常模块化的高层结构
编译器可看成多个阶段(phase)构成的“流水线”结构
编译器由多个阶段组成,每个阶段都要处理不同的问题
- 使用不同的理论、数据结构和算法
因此,编译器设计中的重要问题是如何合理的划分组织各个阶段
- 接口清晰
- 编译器容易实现、维护