跳转至

CS420: Compiler Design

课程简介

  • 所属大学:KAIST
  • 先修要求:数据结构、计算机系统基础、Rust 编程基础
  • 编程语言:Rust
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

这门课程提供了一个 Rust 语言编写的编译器 KECC(KAIST Educational C Compiler) 框架代码,在此基础上构建编译器的一些核心部分,包括语法树打印、SSA中间代码生成、中间代码优化(包括 CFG 简化,GVN 等)以及目标代码生成。与其他编译器课程相比,本课程主要有以下特点:

  • 该课程面向真实的 C 语言而非自定义的玩具语言,并且会使用 C 语言 Fuzzing 工具 (Csmith) 进行测试。
  • 该课程注重实用性,对编译器前端理论涉及很少,第一个实验也是直接从抽象语法树的遍历开始,并不要求你手动完成前端。课程重点关注于 IR 的设计、生成和优化,以及 RISC-V 汇编代码生成。本课程对于理解和学习 LLVM 也很有帮助。
  • 课程配套视频有详细的代码讲解,对初学者友好。

课程资源