本書手把手地教讀者用C語言製作兩種程式語言:crowbar與Diksam。crowbar是運行分析樹的無類型語言,Diksam是運行位元組碼的靜態類型語言。這兩種語言都具備四則運算、變數、條件分支、循環、函式定義、垃圾回收等功能,最終版則可以支持面向對象、異常處理等高級機制。所有原始碼都提供下載,讀者可以一邊對照書中的說明一邊調試原始碼。這個過程對理解程式的運行機制十分有幫助。
基本介紹
- 作者:前橋和彌
- 譯者:劉卓 / 徐謙 / 吳雅明
- ISBN:9787115333209
- 頁數:396
- 出版社:人民郵電出版社
- 裝幀:平裝
內容介紹,作者介紹,作品目錄,
內容介紹
★ 只需編程基礎
★ 從零開始自製程式語言
★ 支持面向對象、異常處理等高級機制
本書適合有一定基礎的程式設計師和程式語言愛好者閱讀。
作者介紹
前橋和彌(Maebasi Kazuya)
1969年出生,著有《征服C指針》、《徹底掌握C語言》、《Java之謎和陷阱》等。其一針見血的“毒舌”文風和對程式語言深刻的見地受到廣大讀者的歡迎。
作者主頁:http://kmaebashi.com/。
劉卓
2004年開始從事對日軟體開發工作,其間還從事技術及軟體工程相關培訓工作。自2011年開始從事電力行業產品研發。持續關注企業級套用架構和Web客戶端技術。
徐謙
6年技術開發及項目經驗,曾以技術工程師身份赴日本工作兩年,後歸國聯合創辦網際網路公司,現居上海繼續創業中。主要從事PHP方向的Web開發。熱愛開源,曾向Zend Framework等知名PHP開源項目貢獻代碼,並於Github自主研發運維EvaThumber等開源項目獲得國內社區認可。樂於分享技術心得,個人技術部落格avnpc.com在國內PHP圈小有影響。
吳雅明
13年編程經驗。其中7年專注於研發基於Java EE和.NET的開發框架以及基於UML 2.0模型的代碼生成工具。目前正帶領團隊開發雲計算PaaS平台及雲計算自動化配置部署的系統。譯著有《征服C指針》等。
作品目錄
譯者序
前言
第1章 引子
1.1 為什麼要製作程式語言
1.2 自製程式語言並不是很難
1.3 本書的構成與面向讀者
1.4 用什麼語言來製作
1.5 要製作怎樣的語言
1.6 環境搭建
第2章 試做一個計算器
2.1 yacc/lex是什麼
2.2 試作一個計算器
2.3 不藉助工具編寫計算器
2.4 少許理論知識——LL(1)與LALR(1)
2.5 習題:擴展計算器
第3章 製作無類型語言crowbar
3.1 製作crowbar ver.0.1語言的基礎部分
3.2 預先準備
3.3 crowbar ver.0.1的實現
第4章 數組和mark-sweep垃圾回收器
4.1 crowbar ver.0.2
4.2 製作mark-sweep GC
4.3 實現GC本身
4.4 其他修改
第5章 中文支持和Unicode
5.1 中文支持策略和基礎知識
5.2 Unicode
5.3 crowbar book_ver.0.3的實現
第6章 製作靜態類型的語言Diksam
6.1 製作Diksam Ver 0.1語言的基本部分
6.2 什麼是靜態的/執行位元組碼的語言
6.3 Diksam ver.0.1的實現——編譯篇
6.4 Diksam虛擬機
第7章 為Diksam引入數組
7.1 Diksam中數組的設計
7.2 修改編譯器
7.3 修改DVM
第8章 將類引入Diksam
8.1 分割源檔案
8.2 設計Diksam中的類
8.3 關於類的實現——繼承和多態
8.4 關於類的實現
第9章 套用篇
9.1 為crowbar引入對象和閉包
9.2 異常處理機制
9.3 構建腳本
9.4 為crowbar引入鬼車
9.5 其他
附錄
附錄A crowbar語言的設計
附錄B Diksam語言的設計
附錄 C Diksam Virtual Machine 指令集
程式語言實用化指南——寫在最後
參考文獻
前言
第1章 引子
1.1 為什麼要製作程式語言
1.2 自製程式語言並不是很難
1.3 本書的構成與面向讀者
1.4 用什麼語言來製作
1.5 要製作怎樣的語言
1.6 環境搭建
第2章 試做一個計算器
2.1 yacc/lex是什麼
2.2 試作一個計算器
2.3 不藉助工具編寫計算器
2.4 少許理論知識——LL(1)與LALR(1)
2.5 習題:擴展計算器
第3章 製作無類型語言crowbar
3.1 製作crowbar ver.0.1語言的基礎部分
3.2 預先準備
3.3 crowbar ver.0.1的實現
第4章 數組和mark-sweep垃圾回收器
4.1 crowbar ver.0.2
4.2 製作mark-sweep GC
4.3 實現GC本身
4.4 其他修改
第5章 中文支持和Unicode
5.1 中文支持策略和基礎知識
5.2 Unicode
5.3 crowbar book_ver.0.3的實現
第6章 製作靜態類型的語言Diksam
6.1 製作Diksam Ver 0.1語言的基本部分
6.2 什麼是靜態的/執行位元組碼的語言
6.3 Diksam ver.0.1的實現——編譯篇
6.4 Diksam虛擬機
第7章 為Diksam引入數組
7.1 Diksam中數組的設計
7.2 修改編譯器
7.3 修改DVM
第8章 將類引入Diksam
8.1 分割源檔案
8.2 設計Diksam中的類
8.3 關於類的實現——繼承和多態
8.4 關於類的實現
第9章 套用篇
9.1 為crowbar引入對象和閉包
9.2 異常處理機制
9.3 構建腳本
9.4 為crowbar引入鬼車
9.5 其他
附錄
附錄A crowbar語言的設計
附錄B Diksam語言的設計
附錄 C Diksam Virtual Machine 指令集
程式語言實用化指南——寫在最後
參考文獻