發表於2024-12-23
隻需14天,從零開始設計和實現腳本語言
從解釋器到編譯器,支持函數、數組、對象等高級功能
東京大學&東京工業大學教授執筆
日本編譯器專傢中田育男作序推薦
韆葉滋
東京工業大學研究生院信息技術理工係研究科教授,兼任東京大學研究生院信息技術理工係研究科教授。著有《麵嚮切麵入門——從Java語言?麵嚮對象步入AspectJ語言程序設計》《簡明Java程序設計——Great Ideas for Java Programming》《GUI庫機製——軟件設計案例研習》等。
這是一本優秀的編譯原理入門讀物,它嘗試以一種現代的方式設計一種現代的語言,即使讀者對編譯器已有一定程度的瞭解,也一定能從中學到很多。——日本編譯器專傢 中田育男
本書是一本編譯原理的入門讀物。過去,大傢普遍認為編譯器與解釋器之間存在很大的差異,因此會分彆編寫針對編譯器與解釋器的圖書。不過,最近編譯器與解釋器之間的界限越來越模糊,我們隻要稍微瞭解一下常見的程序設計語言,就會發現兩者已不再是對立的概念。
因此,與其說本書是編譯原理的入門書,不如說是語言處理器的入門讀物更為恰當。語言處理器是用於執行程序設計語言的軟件,它同時包含瞭編譯器與解釋器。本書看似用瞭大量篇幅講解解釋器的原理,其實是在講解編譯器與解釋器通用的理論。第1 章將詳細介紹各章節的具體內容。
本書采用瞭Java 語言來實現語言處理器。在設計語言處理器時,C 語言或C++ 語言更為常見,加之本書沒有藉助yacc 等常用的工具來生成語言處理器,因此讀者也許會認為本書的實用性不足。
本書在介紹語言處理器的設計方式時,盡可能采用瞭較新穎的手段。C 語言或C++ 語言結閤yacc 的方式性能較差,且是上世紀80 年代的實現方式。在那之後,程序設計語言飛速發展,已不可同日而語,其運行性能也大幅提升。入門讀物也應該與時俱進,講解與過去不同的設計方式,展現它們的實踐價值。
時至今日,軟件領域的發展依然日新月異,並逐漸滲透至生活的方方麵麵,這一勢頭無疑將持續下去。在此期間,各類技術必將不斷發展,為瞭跟上技術更新的步伐,軟件應當以略微領先於時代的設計思路開發。
很久以前,筆者曾使用C++ 語言開發過適用於工作站的語言處理器,當時,時鍾頻率僅有100 兆赫,內存也不過幾百兆字節。那套軟件幸運地在各種環境下運行瞭十年以上。有一天,我收到瞭一封郵件。我記得好像是一個德國的年輕人,他洋洋灑灑寫瞭很多,批評那套軟件的設計有不少問題。還說開發者應當閤理使用模闆,並靈活運用各種庫,要學習使用設計模式,還要用XML 來錶示抽象語法樹,等等。
他指齣我太節省內存,隻顧著提升性能,結果程序難以閱讀。從當時的主流軟硬件標準來看,這些批評確實閤情閤理,但那套係統畢竟是十年前的産物。在當時軟硬件性能孱弱的情況下,如果遵循他的建議,最終完成的語言處理器恐怕會被打上缺乏使用價值的標簽(順便一提,提齣批評的那位年輕人雖然說瞭很多,卻沒有寫一行代碼)。
然而,從這件事中我深刻體會到,軟件有著驚人的生命力,即使在開發時采用瞭最佳設計,最終還是會隨著時代的進步而被迅速淘汰。因此,前文說軟件應當以略微領先於時代的設計思路開發有其閤理性。當然,我們也可以不關心他人的批評,盡可能縮短軟件的生命周期,並積極拋棄過時的內容。具體采用哪種策略因人而異。
希望讀者能夠在閱讀本書時始終記住這些理念。讀過本書之後,如果大傢覺得收獲良多,我將深感榮幸與喜悅。
2012 年 新春
韆葉滋
兩周自製腳本語言 下載 mobi pdf epub txt 電子書 格式 2024
兩周自製腳本語言 下載 mobi epub pdf 電子書不錯 不錯 挺好的 嗬嗬
評分此用戶未填寫評價內容
評分通俗易懂,適閤學習,推薦推薦
評分正在學習中,爭取做個他這個小的操作係統齣來,書本也很好,適閤初學者
評分還沒看,京東送貨速度很快,書也很好
評分很有趣加油看書哦
評分值得一看還哈哈哈哈就是沒時間看
評分不錯的書 適閤當一個項目看
評分替朋友買的,朋友非常喜歡
兩周自製腳本語言 mobi epub pdf txt 電子書 格式下載 2024