本年寫稿計劃
除了完成LaTeX書之外;除了完成編輯器系列的稿子之外;今年是準備寫編譯器和unicode文本處理的文章和代碼。
編譯器這部分,實際上是2020年年初開坑的。我最先實現(xiàn)的是一個正則表達式的引擎。隨后更新成了一個詞法分析器。接著照著家里囤積的幾本編譯器書寫了句法生成器。雖然句法部分,我還沒實現(xiàn)GLL和GLR。但是,實現(xiàn)完LALR之后顯然就沒什么難度了。
2021年的最后一天,吃完餃子就犯困睡著了。醒來已經(jīng)是2022年的第一天的凌晨一點了,無論是公歷新年還是農(nóng)歷新年好像都沒什么新鮮感。也睡不著,把狀態(tài)機和編譯原理的書翻開,推了一些公式。上午九點出門跟友人去北京植物園,中間提到了這個事情。由于友人不懂技術(shù),但是是unicode專家,所以還是能討論正則表達式的。
知道喬姆斯基理論,然后推過一些自動機相關(guān)的數(shù)學式子的人,其實能很好地理解這些東西。但是對于一般人來講,總有一些弄不明白的迷思在。這事還不罕見。所以我覺得正則表達式這些東西,確實還是需要講一講的。語言理論上的東西要講,現(xiàn)實實現(xiàn)的東西其實也要講。這方面,日本人寫了一本書,叫《正規(guī)表現(xiàn)技術(shù)入門 ――最新エンジン実裝と理論的背景》。

這書寫的比較技術(shù)流,讀起來其實還算很有意思。這書里面的一些東西,我會在講正則表達式的部分介紹進來。
而涉及到句法部分。我這里不得不說的是,編譯器設(shè)計實際上是一個有一點“古老”的技術(shù)。這類編譯器的書呢,舊一些的,不意味著一點用沒有;新一些的,不意味著講的都是最新的東西。比較舊的編譯器書,可能數(shù)學式的推導會比較多,這個在現(xiàn)在的編譯器的書中就比較少了。但是就我的學習體驗來說,推公式自有快感在此,所以我要寫的這些東西,還是要推一些公式的,但是會有大量的文本穿插。
編譯器的這些東西,實際上跟我搞的TeX和一些文本處理的代碼有關(guān)。這對于我來說,是一個現(xiàn)實的場景。在弄懂了大部分內(nèi)容之后,發(fā)現(xiàn)確實有用。雖然大部分程序員學編譯原理可能是用在其他地方。但我想經(jīng)驗總是能相通的,寫一寫總是有好處的。