- 所属大学:Stanford
- 先修要求:计算机体系结构
- 编程语言:Java 或 C++
- 课程难度:🌟🌟🌟🌟🌟
- 预计学时:150 小时
斯坦福的编译原理课程,设计者开发了一个 Class-Object-Oriented-Language,简称 COOL 语言。这门课的核心就是通过理论知识的学习,为 COOL 语言实现一个编译器,将 COOL 高级语言编译为 MIPS 汇编并在 Spim 这个 MIPS 模拟器上成功执行。
理论部分基本按照龙书的顺序覆盖了词法分析、语法分析、语义分析、运行时环境、寄存器分配、代码优化与生成等内容,实践部分则相应地分为词法分析、语法分析、语义分析、代码生成四个阶段,难度循序渐进,并在优化部分给学生留下了很大的设计空间。
- 课程网站:http://web.stanford.edu/class/cs143/
- 课程视频:https://www.bilibili.com/video/BV17K4y147Bz
- 课程教材:龙书
- 课程作业:5 个书面作业 + 5 个编程作业带你实现一个编译器
我在学习这门课中用到的所有资源和作业实现都汇总在 skyzluo/CS143-Compilers-Stanford - GitHub 中。