From e8baec5861308ecec078d70235a0dbeef864d11a Mon Sep 17 00:00:00 2001 From: XeLavend <118323753+XeLavend@users.noreply.github.com> Date: Tue, 15 Nov 2022 23:07:30 -0500 Subject: [PATCH] Create CS143.en.md --- docs/编译原理/CS143.en.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docs/编译原理/CS143.en.md diff --git a/docs/编译原理/CS143.en.md b/docs/编译原理/CS143.en.md new file mode 100644 index 00000000..3f94a5d3 --- /dev/null +++ b/docs/编译原理/CS143.en.md @@ -0,0 +1,24 @@ +# Stanford CS143: Compilers + +## Descriptions + +- Offered by: Stanford University +- Prerequisite: Computer Architecture +- Programming Languages: Java or C++ +- Difficulty: 🌟🌟🌟🌟🌟 +- Learning Hours: 150 + +All this course intends is imparting principles of compiler construction for programming languages to students. Instructors has designed a “COOL language”, namely Class-Object-Oriented-Language, and you are expected to build a compiler for it. By study and practice, you will acquire the ability to design a appropriate compiler, which can translate human-readable COOL into “computer-readable” MIPS assembly being running on the SPIM emulator. + +Following the Dragon Book, the theoretical part covers lexical analysis, syntax analysis, semantics analysis, runtime environments, register allocation, optimization and code generation. The practical part, accordingly, is divided in four modules: 3 for different steps of analysis and 1 for code generation. The difficulty is considered gradual, increasing with a proper rate. Should you have enough capacity and interest even after taking all those regular path, there’s a huge room left for you to do optimization. + +## Course Resources + +- Course Website: +- Recordings: +- Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) +- Assignments: 5 textual + 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).