2021-12-11 22:32:48 +08:00
|
|
|
|
# Stanford CS143: Compilers
|
|
|
|
|
## 课程简介
|
|
|
|
|
- 所属大学: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?p=17&spm_id_from=pageDriver)
|
|
|
|
|
- 课程教材:龙书
|
|
|
|
|
- 课程作业:5个书面作业 + 5个编程作业带你实现一个编译器
|
|
|
|
|
|
|
|
|
|
## 资源汇总
|
|
|
|
|
我在学习这门课中用到的所有资源和作业实现都汇总在[这个Github仓库](https://github.com/skyzluo/CS143-Compilers-Stanford)中。
|