1. 什么是编译程序

翻译程序是把源程序转换成另一种语言(目标语言)的程序
编译程序是把高级语言转换成低级语言(机器语言)的程序

  • 诊断编译程序
  • 优化编译程序
  • 交叉编译程序
  • 可变目标编译程序

宿主机和目标机
image.png
解释程序
image.png

2. 为什么学编译原理

2.1从计算机科学与计算学习什么:

  • 理解计算系统
  • 设计计算系统
  • 训练计算思维

    image.png
    2.2编译与计算思维
    编译理论与技术——编译是理论与实践的结合

    • 抽象
    • 自动化
    • 分解——层次化管理
    • 递归
    • 权衡

3. 编译过程

  • 词法分析
  • 语法分析
  • 中间代码产生

image.png

  • 优化
  • 目标代码产生

image.png

4.编译程序的结构

  • 编译程序总框
  • 编译前端与后端

image.png
image.png
前四步属于编译前端,后两步属于编译后端

5.编译原理的生成