Skip to content

Latest commit

 

History

History
 
 

gyh-manual

顾宇浩的实验设计手册

在此之前,我曾经写过一篇《中山大学 SYsU-lang 编译原理课程实验攻略》,在那里我介绍了一些有助于避免困难的关键设计思路。然而,在经过一个学期的实践后,我们发现仅仅提供一个攻略对于大部分学生的水平来说仍然不够,他们直至看到实际的代码实现才能理解攻略里的设计思想。所以,我重新设计了实验框架,将攻略里的思想具象化,以确保学生们不会误入歧途。同时,得益于一个具体的实验框架,我们的文档阐述也能够具体到文件中的每一行代码。

接下来,我在本手册中补全实验文档的另外一部分:实验的宏观设计与架构。比起具体到行的代码,宏观设计确实会显得抽象和模糊,尤其是对经验不丰富、语言不熟悉的学生来说。但是,在真正踏入代码编写的泥潭之前,对将要到来的工作有一个完整的认知是非常重要的。这样,我们才能在实际编写代码时,不会迷失方向或者陷入无谓的细节,同时选择最佳实践来规避困难、提高效率、最终达成目标。此外,对于有意愿参与实验项目的维护和开发的同学来说,理解本实验的既有设计更是一切后续工作的开端。

项目架构

  1. 什么是编译?
  2. 程序的形式
  3. 抽象语义图(ASG)
  4. 类型、类型检查与推导