Skip to content

week18.md

Lin610313 edited this page Jun 11, 2022 · 2 revisions

期中作業:繳交一份《程式專案+報告》

Toy

    打造 Toy Lang 過程中,主要都是在瀏覽器的環境中測試,然而,語言的內部實現都是 JavaScript 標準 API,沒有使用到瀏覽器特定 API,因而想要在本機上執行 Toy Lang,只要你有個支援 JavaScript 模組的環境,基本上是沒有問題的
   Toy Lang 在實現時,每個模組控制在不超過 300 行程式碼,通常只有 100 行左右,平均一個模組檔案有 150 行的話,目前有約 40 來個檔案,因而程式碼總行數約在 4、5000 行左右,是個語言實作的小專案

Toy 語法

通過這個編譯器我們可以將下面的代碼:

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()
    })
})

參考資料

openhome.cc

toy-lang playground

github夢想蘋果快樂