自己动手构建编程语言:如何设计编译器、解释器和DSL Build Your Own Programming Language: A programmer's guide to designing compilers, interpreters, and DSLs for solving modern computing problems (Paperback)

Clinton L. Jeffery 譯 李剛強//文家焱

買這商品的人也買了...

商品描述

本書主要研究如何建構一種新的程式語言。
書中將介紹程式語言設計方面的主題,並重點介紹程式語言實作。
本書的新穎之處在於將傳統的編譯器-編譯器工具(Flex和BYACC)與兩種更的實作語言融合。
一種非常的語言(Unicon)可以像黃油一樣穿透編譯器的資料結構和演算法,
而另一種主流的現代語言(Java)則展示瞭如何在更典型的生產環境中實現相同的程式碼。
本書主要針對對發明程式語言或開發領域特定語言有興趣的軟體開發人員。
學習編譯器建構課程的電腦科學相關專業學生也會發現這本書非常適合作為語言實現的實用指南,可以為理論教材提供有益補充。

目錄大綱

前言
第一部分程式語言導論
第1章為什麼要建構另一種程式語言
1.1 編寫自己的程式語言的動機
1.1.1 程式語言實作的類型
1.1.2 組織字節碼語言實作
1.1.3 範例中使用的語言
1.2 程式語言與函式庫的差異
1.3 適用於其他軟體工程任務
1.4 建立語言需求
1.5 案例研究:Unicon語言的創建需求
1.5.1 Unicon需求#1—保留人們對Icon的喜愛
1.5.2 Unicon需求#2—支持大型大數據專案
1.5.3 Unicon需求#3—現代應用程式的高階輸入/輸出
1.5.4 Unicon需求#4—提供可實現的通用系統介面
1.6 本章小結
1.7 思考題
第2章程式語言設計
2.1 確定要程式語言提供的單字和
標點符號的類型
2.2 指定控制流
2.3 決定支援哪種資料
2.3.1 原子類型
2.3.2 複合類型
2.3.3 領域特定類型
2.4 整體程式結構
2.5 完成Jzero語言的定義
2.6 案例研究:設計Unicon中的圖形功能
2.6.1 2D圖形語言支援
2.6.2 加入3D圖形支援
2.7 本章小結
2.8 思考題
第3章掃描原始碼
3.1 技術需求
3.2 詞素、詞類和標記
3.3 正規表示式

第二部分語法樹遍歷
第三部分程式碼產生與運行時系統
第四部分附錄
附錄A Unicon基礎
附錄B 部分章節要點