发表于2024-12-22
自己動手寫編譯器、鏈接器 [DIY Compiler And Linker] pdf epub mobi txt 電子書 下載 2024
業界專傢學者傾力推薦,龍書作者Monica老師,清華大學王生原老師,CSDN暨《程序員》雜誌總編劉江老師對本書給予高度評價,認為該書內容簡明,容易上手,又不失全麵和係統,填補瞭編譯實踐領域的空白。
編寫編譯器用到的知識之廣是編寫一般程序所無法比擬的,通過本書你將學到編譯原理,數據結構與算法,C語言、Intelx86匯編語言、機器語言,目標文件格式,可執行文件格式等知識內容,是計算機專業基礎課程內容的綜閤運用。
被廣大讀者看作編譯原理課程zui佳配套用書,該書大大降低瞭學寫編譯器的門檻,破解瞭編譯原理學習缺乏閤適實踐用例的難題。
王博俊、張宇編*的《自己動手寫編譯器鏈接器》講述瞭一個真實編譯器的開發過程,源語言是以C語言為藍本,進行適當簡化定義的一門新語言,稱之為SC語言(簡化的C語言),目標語言是大傢熟悉的Intelx86機器語言。在本書中,讀者將看到從SC語言定義,到SCC編譯器開發的完整過程。本書介紹的SCC編譯器,沒有藉助Lex與Yacc這些編譯器自動生成工具,純手工編寫而成,*便於學習和理解。為瞭生成可以直接運行EXE文件,本書還實現瞭一個鏈接器。讀完本書讀者將知道一門全新的語言如何定義,一個真實的編譯器、鏈接器如何編寫。
本書適閤各類程序員、程序開發愛好者閱讀,也可作為高等院校編譯原理課程的實踐教材。
第1章引言
1.1HelloWorld編譯過程分析
1.1.1HelloWorld程序源文件
1.1.2詞法分析
1.1.3語法分析
1.1.4語義分析
1.1.5鏈接器
1.2SCC編譯器簡介
1.2.1SCC編譯器架構
1.2.2SCC編譯器開發環境
1.2.3SCC編譯器運行環境
第2章文法知識
2.1語言概述
2.2形式語言
2.2.1字母錶和符號串
2.2.2文法與語言的形式定義
2.2.3文法與語言的類型
2.2.4程序設計語言描述工具
2.3詞法分析方法
2.3.1詞法定義例舉
2.3.2狀態轉換圖
2.3.3詞法分析程序流程圖
2.4語法分析方法
2.4.1LL分析器
2.4.2LL(k)文法
2.4.3LL(1)文法
2.4.4遞歸子程序法
2.4.5文法的等價變換
...
第5章SC語言語法分析
第6章符號錶
第7章生成COFF目標文件
第8章x86機器語言
第9章SCC語義分析
第10章鏈接器
第11章SC語言程序開發
參考文獻
附錄ASC語言文法定義中英文對照錶
因為工作的關係,我經常和各企業的技術負責人交流。話題談著談著常常會轉到他們目前共同的難題——技術人員招聘。這時不少人都會感慨,中國能做係統軟件開發的技術人員太少,這方麵的人太難找瞭。隨著中國企業的發展,做係統和平颱的需求不斷增加,這種供需矛盾將越來越明顯。
究其原因,很容易想到的是我們的高校教育、課程設置。美國頂尖大學計算機係基礎課程教學裏都非常重視項目實踐,操作係統課往往要真的開發一個像模像樣的操作係統原型,編譯器課也真的要自己設計並實現一門有創新性的小語言……
在計算機科學的各門課程中,編譯器的設計實踐有著特殊的重要性。“龍書”的主要作者、哥倫比亞大學教授AlfredV.Aho曾經列舉過編譯器實踐有諸多好處:
�r能讓學生領悟到理論與實踐的完美結閤。比如編譯原理所涵蓋的正則錶達式和自動機,在各種場閤的應用是極其廣泛的,對正則的掌握程度,從某種意義上講甚至可以作為技術人員水平的一種尺度。
�r深入探索計算思維的多樣性。與人類語言一樣,不同類型的編程語言其實代錶瞭不同的思維方式。隻用過命令式語言的人可能沒有想到,開啓瞭大數據領域的Map與Reduce,其實在函數式語言是一種非常常見的東西。
的確,深入瞭解編譯器和編譯原理,對於技術人員更好地理解和掌握自己最常用的語言和係統,從而提升自己的內力是有極大好處的。另一方麵,隨著DSL(領域特定語言)的流行,需要技術人員開發自己語言的機會也越來越多。
然而,編譯原理是計算機科學裏公認比較難的一門課。雖然目前國外比較重要的編譯理論教材(比如龍書的《編譯原理》、虎書《現代編譯原理》的C語言和Java版本、鯨書《高級編譯器設計與實現》)基本上都有瞭中文版和英文影印版,但這些書往往更偏重理論,而且門檻較高,不太適閤指導一綫技術人員實踐和自學。我認識的一位美籍華人技術專傢RonaldMak在Wiley齣版過一本基於Java的“WritingCompilersandInterpreters”,比較貼近實踐,但部頭較大,而且沒有看到中文版。
偶然的機會,我得知王博俊在工作之餘,寫瞭一本以簡化的C語言為例子講述編譯器和鏈接器實踐的書。瀏覽瞭初稿之後,感覺全書內容簡明,容易上手,又不失全麵和係統,正好彌補瞭這方麵的空白。特嚮大傢推薦。
CSDN暨《程序員》雜誌總編劉江
2015年1月
...
有誌者,事竟成,破釜沉舟,百二秦關終屬楚;
苦心人,天不負,臥薪嘗膽,三韆越甲可吞吳。
王博俊
2015年1月
書剛到,還沒有仔細看,期望能有驚喜!
評分京東的送貨速度很快,很不錯。
評分正品,內容不錯,還會再來。
評分程序員必備!從底層理解編程語言是怎麼被編譯成計算機代碼的!
評分還好好好好好好好好好好好好好好好好好好
評分摸起來有種澀澀的感覺
評分正品,內容不錯,還會再來。
評分這麼多書啥時能看完,京東活動太給力……
評分書本很好 喜歡 一直在京東買書
自己動手寫編譯器、鏈接器 [DIY Compiler And Linker] pdf epub mobi txt 電子書 下載