mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-27 03:47:03 +08:00
30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# CS420: Compiler Design
|
||
|
||
## 课程简介
|
||
|
||
- 所属大学:KAIST
|
||
- 先修要求:数据结构、计算机系统基础、Rust 编程基础
|
||
- 编程语言:Rust
|
||
- 课程难度:🌟🌟🌟🌟
|
||
- 预计学时:80小时
|
||
|
||
<!-- 用一两段话介绍这门课程,内容包括但不限于:
|
||
(1)课程覆盖的知识点范围
|
||
(2)与同类课程相比它的优势与特点
|
||
(3)学习这门课程的体验与感受
|
||
(4)自学这门课的注意点(踩过的坑、难度预警等等)
|
||
(5)... ...
|
||
-->
|
||
|
||
这门课程提供了一个Rust语言编写的编译器KECC(KAIST Educational C Compiler) 框架代码,在此基础上构建编译器的一些核心部分。与大部分编译器课程相比,本课程主要有以下特点:
|
||
|
||
- 该课程面向真实的C语言而非自定义的玩具语言,并且会使用C语言Fuzzing工具 (Csmith) 进行测试。
|
||
- 该课程不像传统编译器课程十分强调前端部分,仅第一个作业涉及前端并带领你熟悉抽象语法树的结构。课程重点关注于IR的设计、生成和优化,以及RISC-V汇编代码的生成。
|
||
- 课程配套视频有详细的代码讲解,对初学者友好。
|
||
|
||
## 课程资源
|
||
|
||
- 课程网站:<https://github.com/kaist-cp/cs420>
|
||
- 课程视频:<https://www.youtube.com/playlist?list=PL5aMzERQ_OZ8RWqn-XiZLXm1IJuaQbXp0>
|
||
- 课程教材:<https://github.com/kaist-cp/cs420?tab=readme-ov-file#textbook>
|
||
- 课程作业:<https://github.com/kaist-cp/cs420?tab=readme-ov-file#homework-60>
|