軟體界經歷幾十年的發展,已經沉澱下數以億計的程式碼,然而這些程式碼盤根錯節,彼此之間互相緊密依賴。舉例來說,寫一個網站,必須跑在瀏覽器上,瀏覽器又跑在作業系統之上,主流作業系統又都是由 C/C++ 編譯器編譯出來,依賴可以追溯很多很多層。(甚至會成環,例如編譯器通常也需要作業系統作為執行環境。)
將現代軟體當做一個世界,從學會寫程式的第一天開始,絕大多數的人就永遠也脫離不了它。本作企圖指引人們如何離開原世界(下稱塵界),再造一個新世界,故名:離塵指引。
而離塵的第一步,是自舉一門自定義的程式語言。
貧道採用 Rust 法咒來撰寫零版編譯器,以下展示其分詞器實作。 類型定義 首先,寫出合適的類型來表達詞的種類: // Rust 慣以駝峰式命名類型 // 漢語...
繼續觀察漢語「嫉妒使我面目全非」,分詞後得到「嫉妒」、「使」、「我」、「面目全非」。接下來,我們試著了解這些詞是如何組成一個句子的,這樣的組成是否合乎語法,試分...
為方便觀看,以下將音界咒零・一版全部語法定義寫在一起,並將其縮排: 音界咒 = 句 | 句・音界咒 句 = 變數宣告...