- 自制編程語言
- (日)前橋和彌
- 966字
- 2021-11-24 18:03:46
前言
這本書是為那些想獨立制作一門編程語言的人而寫的。
一聽到這個話題,有的人會想:太瘋狂了,制作編程語言肯定很有難度吧?有人會懷疑:制作編程語言能有什么用呢?其實這些都是誤解。
制作編程語言在技術層面上其實并不難,只要掌握一些基礎知識即可。而且,制作編程語言對于我們深入理解日常使用的C、Java、JavaScript等語言都有幫助。在一些應用程序的內置腳本語言中,我們也經常會因為種種限制從而萌生制作替代語言的想法。因此,自制編程語言并不是少數極客的個人癖好,它對大多數程序員都頗具實用價值。
日本關于制作編程語言的書已經很多了,其中一些還被選定為大學教科書。這些書中常出現有限狀態機、NFA、LL(1)、LR(1)、SLA等專業詞匯,同時還大量使用∩、∈等數學符號,對于不熟悉這部分理論知識的人(包括我自己在內)來說非常難以讀懂。針對這種現狀,本書會偏重實踐,避免枯燥的理論。
本書將分別制作兩種編程語言:crowbar與Diksam。crowbar是運行分析樹的無類型語言,Diksam是運行字節碼的靜態類型語言。無論哪種語言,都具備四則運算、變量、條件分支、循環、函數定義、垃圾回收等功能,最終版則可以支持面向對象、異常處理等高級機制。總之,作為現代編程語言所必須具備的功能都基本覆蓋了(唯一可能沒實現的就是多線程了吧)。所有源代碼都提供下載,讀者可以一邊對照書中的說明一邊調試源代碼,這樣應該不難理解整個程序的運行機制。
當然,要一次實現如此多功能的編程語言,對于初學者而言可能有點吃力,因此本書會詳細介紹crowbar、Diksam的制作步驟,請放心。
在制作編程語言的過程中,我體會到了一種無法用語言形容的快樂。其實無論在日本或其他地區,世界上還有很多人都在嘗試自制編程語言,這正是編程語言不斷增加的原因。如果以本書為契機,有朝一日你也向本已混亂的巴比倫之塔再添一門新語言的話,作為本書作者,這將是無上的光榮。
在本書的撰寫過程中,得到了很多朋友的幫助與支持:
感謝百忙之中通讀原稿并給出很多改進意見的吉田敦、間野健二、藤井壯一、山本將;感謝對本書原型,即網頁版“自制編程語言”提出意見的朋友;感謝對博客連載“自制編程語言日記”提出意見的讀者朋友,以及實際使用crowbar與Diksam并提出意見的朋友。最后還要感謝每次對我延遲交稿仍然充滿耐心的技術評論社的熊谷裕美子編輯。多虧大家的鼎力支持,本書才終能完成,在此我表示深深的謝意。
2009年5月7日01:06 J.S.T
前橋和彌