Stanford CS143: Compilers
课程简介
- 来源:Stanford University
- 先修要求:CS106B(数据结构)、CS107(计算机组成)同等水平
- 编程语言:C++
- 课程难度:🌟🌟🌟🌟
- 课程网站:web.stanford.edu/class/cs143/
Stanford CS143 是 Stanford 的编译原理课程,也是全球最好的编译器课程之一。课程要求你用 C++ 实现一个完整的编译器,目标语言是一个名为 COOL(Classroom Object-Oriented Language)的教学语言。
课程覆盖编译器的完整流程:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。
课程资源
- 课程网站:web.stanford.edu/class/cs143/
- 课程视频:YouTube
- 编程作业:4 个编译器项目(词法分析器、解析器、语义分析器、代码生成器)
课程特点
- 完整的编译器实现:从零开始实现一个完整的编译器
- COOL 语言:专门设计的教学语言,语法简洁但覆盖所有核心概念
- 4 个编程项目:每个项目实现编译器的一个阶段,最终组合成完整编译器
自学建议
先学 C++ 基础。 课程用 C++ 实现编译器,需要熟悉 C++ 的面向对象特性。
按顺序完成 4 个项目。 每个项目都依赖前一个项目的输出,不能跳着做。
阅读课程提供的阅读材料。 课程网站提供了详细的阅读材料,是理解理论的关键。
备注
CS143 是编译器入门的最佳课程之一。完成这门课后,你将能够理解任何编程语言的编译器是如何工作的。