forked from ccccourse/sp110b
-
Notifications
You must be signed in to change notification settings - Fork 0
week18.md
Lin610313 edited this page Jun 11, 2022
·
2 revisions
打造 Toy Lang 過程中,主要都是在瀏覽器的環境中測試,然而,語言的內部實現都是 JavaScript 標準 API,沒有使用到瀏覽器特定 API,因而想要在本機上執行 Toy Lang,只要你有個支援 JavaScript 模組的環境,基本上是沒有問題的
Toy Lang 在實現時,每個模組控制在不超過 300 行程式碼,通常只有 100 行左右,平均一個模組檔案有 150 行的話,目前有約 40 來個檔案,因而程式碼總行數約在 4、5000 行左右,是個語言實作的小專案
通過這個編譯器我們可以將下面的代碼:
a(){}
轉換為:
a(() => {});
或者將:
a(1, "hello world"){ b, c in
d()
d{}
d(1, "hello world")
d(1, "hello world"){}
d(1, "hello world"){ e, f in
g()
}
}
轉換為:
a(1, "hello world", (b, c) => {
d();
d(() => {});
d(1, "hello world");
d(1, "hello world", () => {});
d(1, "hello world", (e, f) => {
g()
})
})