●章 引子
●1.1為什麼要制作編程語言
●1.2自制編程語言並不是很難
●1.3本書的構成與面向讀者
●1.4用什麼語言來制作
●1.5要制作怎樣的語言
●1.5.1要設計怎樣的語法
●1.5.2要設計怎樣的運行方式
●補充知識 “用戶”指的是誰?
●補充知識 解釋器並不會進行翻譯
●1.6環境搭建
●1.6.1搭建開發環境
●補充知識關於bison與flex的安裝
●1.6.2本書涉及的源代碼以及編譯器
●第2章 試做一個計算器
●2.1yacc/lex是什麼
●補充知識 詞法分析器與解析器是各自獨立的
●2.2試做一個計算器
●2.2.1lex
●2.2.2簡單正則表達式講座......
內容簡介
本書手把手地教讀者用C語言制作兩種編程語言:crowbar與Diksam。crowbar是運行分析樹的無類型語言,Diksam是運行字節碼的靜態類型語言。這兩種語言都具備四則運算、變量、條件分支、循環、函數定義、垃圾回收等功能,很終版則可以支持面向對像、異常處理等不錯機制。所有源代碼都提供,讀者可以一邊對照書中的說明一邊調試源代碼。這個過程對理解程序的運行機制十分有幫助。
這本書是為那些想獨立制作一門編程語言的人而寫的。
一聽到這個話題,有的人會想:太瘋狂了,制作編程語言肯定很有難度吧?有人會懷疑:制作編程語言能有什麼用呢?其實這些都是誤解。
制作編程語言在技術層面上其實並不難,隻要掌握一些基礎知識即可。而且,制作編程語言對於我們深入理解日常使用的C、Java、JavaScript等語言都有幫助。在一些應用程序的內置腳本語言中,我們也經常會因為種種從而萌生制作替代語言的想法。因此,自制編程語言並不是少數極客的個人癖好,它對大多數程序員都頗具實用價值。
日本關於制作編程語言的書已經很多了,其中一些還被選定為大學教科書。這些書中常出現有限狀態機、NF......
"