
新設計團隊
本書先對讀者最難理解的複雜過程、關係和數據結構以動畫視頻的方式進行直觀、形象的講解。看過這些視頻,讀者就會對編譯原理有一個概略、直觀、整體的理解,從而很容易掌握更深的內容。紙質內容再將編譯原理與GCC編譯器的源代碼有機聯繫起來,用了大量直觀的圖示、源代碼、文字做詳細講解。本書沒有用一個數學公式,力爭用最簡單易懂的語言把深奧的理論講明白。讀者在看完本書後會真正瞭解一個編譯器是如何運行的,以及爲什麼要這麼設計,更重要的是知道編譯完的程序執行時在內存中的運行時結構是什麼樣的。
絕對可以給滿分的書籍,每章節前半部分講原理,後半部分講實現。我覺得對於開發工作不寫編譯器的來說每章節看前半部分就足夠了。具體實現非常複雜,沒開發過商業編譯器的我覺得沒必要讀,讀了也記不得,本身自己也不開發。
粗略的瞭解一下 C 語言編譯過程: 詞法分析器從源程序的字符串中識別出一個個符號,並按序保存。 語法分析器的作用,就是將詞法分析器識別出的符號一個一個的與這套模板進行匹配,匹配上這套模板中的某個語法,就可以識別出一句完整的語句,並確定這條語句的語法。 形成語法樹之後,將語法樹轉換成中間代碼,然後選定具體的CPU操縱系統後,中間代碼就可以轉化爲目標代碼及彙編代碼,然後由彙編器依照選定操作系統的目標文件格式,將彙編文件轉化爲具體的目標文件。 然後由鏈接器將目標文件鏈接成可執行文件。
以爲是要講編譯原理,基本都是在講gcc的源碼分析,而且貼大段的代碼,先調用xxx,再調用xxx,代入感很差,體驗也是割裂的,看完也只停留在知其然上。
花了四個小時,過了一遍,代碼分析過程沒看,大體上看了主要流程,對於第一本編譯書,還是有很多收穫的,
沒讀完,大致閱讀了一下。我看不懂。感覺是學不到位。我還是先去看其他的書再回來閱讀。不過圖多確實講的比較好
編譯系統最重要的是優化 這本書確實介紹了一些有用的東西 但是僅限於前端 並沒有着重分析backend 作爲入門書 確實不錯 但是想要進一步瞭解編譯系統 這本書是遠遠不夠的 一家觀點
書是好書,但微信讀書對代碼的排版就太差勁了,指針運算符都以html轉義字符的形式出現了,希望微信讀書團隊對此有所改進
"本書是編譯原理領域的鴻篇鉅著,中文版尚未出版,英文版權已經輸出到美國,將在世界範圍內產生重要影響。從以下多個角度講,本書都具有重要的里程碑意義: 它讓編譯原理不再像是一門高深晦澀的“數學課”,而是一個可以調試、可以接觸、可以真切感受的理論體系。本書用1140餘幅信息量巨大的運行時結構圖和視頻動畫取代了同類書中複雜枯燥的數學公式,更加立體和直觀,生動地將編譯後的執行程序在內存中的運行時結構圖展現了出來; 它將GCC源代碼、編譯原理、運行時結構、編譯系統原理的內在關係、邏輯與原理梳理清楚了,並將它們結合成一個整體。真正能夠讓讀者透徹掌握編譯器如何運行和如何設計,以及爲什麼要這麼設計; 它是系統解讀著名商用編譯器GCC核心源代碼的著作,GCC源代碼一共有600萬行,爲了便於講解和閱讀,本書進行了取捨和裁剪,講解了與編譯本質相關的最核心的60萬行代碼。"
剛看了推薦和序,就感覺有看的必要...未看已先評...,我的習慣...
草草翻過,代碼佔比過高,確實缺乏對基本思路的講解,比如,鏈接器的具體原理?動態和靜態在編譯和運行時的區別?