cs-self-learning/docs/编译原理/CS420.md
2024-07-03 17:29:09 -05:00

30 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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>