iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

離塵指引.卷之一.試結丹:程式語言自舉 系列

軟體界經歷幾十年的發展,已經沉澱下數以億計的程式碼,然而這些程式碼盤根錯節,彼此之間互相緊密依賴。舉例來說,寫一個網站,必須跑在瀏覽器上,瀏覽器又跑在作業系統之上,主流作業系統又都是由 C/C++ 編譯器編譯出來,依賴可以追溯很多很多層。(甚至會成環,例如編譯器通常也需要作業系統作為執行環境。)

將現代軟體當做一個世界,從學會寫程式的第一天開始,絕大多數的人就永遠也脫離不了它。本作企圖指引人們如何離開原世界(下稱塵界),再造一個新世界,故名:離塵指引。

而離塵的第一步,是自舉一門自定義的程式語言。


參賽天數 13 天 | 共 13 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文 團隊天堂製造
DAY 11

零.一版分詞器(三)實作

貧道採用 Rust 法咒來撰寫零版編譯器,以下展示其分詞器實作。 類型定義 首先,寫出合適的類型來表達詞的種類: // Rust 慣以駝峰式命名類型 // 漢語...

2024-09-25 ‧ 由 mros 分享
DAY 12

零.一版剖析器(一)語法定義

繼續觀察漢語「嫉妒使我面目全非」,分詞後得到「嫉妒」、「使」、「我」、「面目全非」。接下來,我們試著了解這些詞是如何組成一個句子的,這樣的組成是否合乎語法,試分...

2024-09-26 ‧ 由 mros 分享
DAY 13

零.一版剖析器(二)歧義

為方便觀看,以下將音界咒零・一版全部語法定義寫在一起,並將其縮排: 音界咒 = 句 | 句・音界咒 句 = 變數宣告...

2024-09-27 ‧ 由 mros 分享