forked from PKUFlyingPig/cs-self-learning
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[TRANSLATE] Translate Stanford"s Compiler Course (PKUFlyingPig#315)
* Create CS143.en.md * Improve the translation
- Loading branch information
XeLavend
authored
Nov 17, 2022
1 parent
3d0bd2e
commit 8c7de67
Showing
1 changed file
with
24 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Stanford CS143: Compilers | ||
|
||
## Descriptions | ||
|
||
- Offered by: Stanford University | ||
- Prerequisite: Computer Architecture | ||
- Programming Languages: Java or C++ | ||
- Difficulty: 🌟🌟🌟🌟🌟 | ||
- Learning Hours: 150 | ||
|
||
This course aims to impart the principles of compiler construction for programming languages to students. The instructors have designed a “COOL language”, namely Class-Object-Oriented-Language. By study and practice, you will design and implement a compiler, which can translate the human-readable COOL language into machine-readable MIPS assembly which can be run on the SPIM emulator. | ||
|
||
Following the Dragon Book, the theoretical part of the course covers lexical analysis, syntax analysis, semantics analysis, runtime environments, register allocation, optimization, and code generation. The practical part, accordingly, is divided into 4 steps: 3 for the frontend and 1 for the backend. The difficulty is considered gradual, increasing at a proper rate. Should you have enough time and interest even after completing all the required work, there’s a huge room left for you to do optimization. | ||
|
||
## Course Resources | ||
|
||
- Course Website: <http://web.stanford.edu/class/cs143/> | ||
- Recordings: <https://www.bilibili.com/video/BV17K4y147Bz> | ||
- Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) | ||
- Assignments: 5 written assignments + 5 programming labs | ||
|
||
## Collection of Course Resources | ||
|
||
@skyzluo has been maintaining a repo of course resources used and reference implementations of programming labs: [skyzluo/CS143-Compilers-Stanford - GitHub](https://github.com/skyzluo/CS143-Compilers-Stanford). |