From 8c7de67e04527710b7c68a9722f4674a7d983d98 Mon Sep 17 00:00:00 2001
From: XeLavend <118323753+XeLavend@users.noreply.github.com>
Date: Thu, 17 Nov 2022 03:45:03 -0500
Subject: [PATCH] [TRANSLATE] Translate Stanford's Compiler Course (#315)
* Create CS143.en.md
* Improve the translation
---
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..fb6c9792
--- /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
+
+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:
+- Recordings:
+- 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).