编译器设计 - 教程

  • 简述

    编译器将用一种语言编写的代码翻译成另一种语言,而不改变程序的含义。还期望编译器应该使目标代码在时间和空间方面高效和优化。
    编译器设计原则提供了翻译和优化过程的深入视图。编译器设计涵盖了基本的翻译机制和错误检测与恢复。它包括作为前端的词法、语法和语义分析,以及作为后端的代码生成和优化。
  • 为什么要学习编译器设计?

    计算机是软件和硬件的平衡组合。硬件只是一个机械设备,其功能由兼容的软件控制。硬件以电荷的形式理解指令,是软件编程中二进制语言的对应物。二进制语言只有两个字母,0 和 1。要进行指令,硬件代码必须写成二进制格式,也就是简单的一串 1 和 0。计算机程序员编写这样的代码将是一项艰巨而繁琐的任务,这就是为什么我们有编译器来编写这样的代码的原因。
  • 语言处理系统

    我们了解到,任何计算机系统都是由硬件和软件组成的。硬件理解一种人类无法理解的语言。所以我们用高级语言编写程序,这样更容易理解和记忆。然后将这些程序输入到一系列工具和操作系统组件中,以获得机器可以使用的所需代码。这被称为语言处理系统。
  • 观众

    本教程是为有兴趣学习编译器基本原理的同学设计的。想要了解更多编译器知识的热心读者和想自己设计编译器的读者可以从这里开始。
  • 先决条件

    本教程不需要编译器设计的先验知识,但需要对至少一种编程语言(如 CJava 等)有基本的了解。如果您事先接触过汇编编程,那将是一个额外的优势。