通過解剖分析現成軟件的源代碼來學習計算機的專業課程,是一種行之有效的途徑。本書通過解剖一個LALR(1)語法分析的生成器——LEMON,來達到學習編譯原理中有關LALR(1)語法分析的目的。
本書的結構安排,以LEMON在mmn()主函數中執行流為串聯主綫,在分析過程中,按遇見的順序,逐個分析闡述每個函數的工作機製、相關的數據結構,以及它們互相之間發生的有機聯係。全書分11章。第1章對LEMON進行概略性的介紹。第2章通過一個帶有變量功能、具有可重載函數的桌麵計算器的開發實例,介紹如何應用LEMON來開發應用程序。第3章分析LEMON如何對命令行中輸入的參數進行處理。第4章闡述LEMON中的各種數據結構以及它們的初始化過程。第5章為LEMON對語法文件內容進行詞法掃描,並介紹如何將磁盤上的語法文件轉換為機器內存裏的各種數據結構。第6章講述尋得符號Firsr集並建立優先級的過程。第7章討論形成LR(0)分析器的各個狀態和建立各項目的傳播鏈錶。第8章為尋找各語法符號的Follow集元素。第9章闡述在已有LR(0)分析器的基礎上,添加先行符從而建立LALR(1)分析器的機理和過程。第10章是本書最重要的部分,討論瞭LEMON如何與精心設計的lempar.c模闆文件互相配閤,最終生成LALR(1)類型語法分析器的C語言版文件。第11章非常簡要地介紹瞭語法分析器內函數調用與數組之間的關係、它們的良好封裝性,以及如何刪除調試排錯功能以獲得更小的軟件體積。
本書可作為大學計算機專業高年級學生和研究生的教材或教學參考書,也可作為從事計算機係統研究或應用開發人員的參考書。
發表於2024-12-22
LEMON語法分析生成器 2024 pdf epub mobi 電子書 下載
前年底開始閱讀Lua源碼,中間發現編譯基礎不行,於是摺迴去看龍書之類的編譯書記.前麵看的還能明白點兒,到瞭LALR部分開始卡殼,於是找來這本書看,以Lemon這個僅有幾韆行代碼量的LALR分析器來講解一個LALR分析器的完整實現,需要補充一下背景知識的是,這並不是一個實驗性質的項目,著...
評分前年底開始閱讀Lua源碼,中間發現編譯基礎不行,於是摺迴去看龍書之類的編譯書記.前麵看的還能明白點兒,到瞭LALR部分開始卡殼,於是找來這本書看,以Lemon這個僅有幾韆行代碼量的LALR分析器來講解一個LALR分析器的完整實現,需要補充一下背景知識的是,這並不是一個實驗性質的項目,著...
評分前年底開始閱讀Lua源碼,中間發現編譯基礎不行,於是摺迴去看龍書之類的編譯書記.前麵看的還能明白點兒,到瞭LALR部分開始卡殼,於是找來這本書看,以Lemon這個僅有幾韆行代碼量的LALR分析器來講解一個LALR分析器的完整實現,需要補充一下背景知識的是,這並不是一個實驗性質的項目,著...
評分前年底開始閱讀Lua源碼,中間發現編譯基礎不行,於是摺迴去看龍書之類的編譯書記.前麵看的還能明白點兒,到瞭LALR部分開始卡殼,於是找來這本書看,以Lemon這個僅有幾韆行代碼量的LALR分析器來講解一個LALR分析器的完整實現,需要補充一下背景知識的是,這並不是一個實驗性質的項目,著...
評分前年底開始閱讀Lua源碼,中間發現編譯基礎不行,於是摺迴去看龍書之類的編譯書記.前麵看的還能明白點兒,到瞭LALR部分開始卡殼,於是找來這本書看,以Lemon這個僅有幾韆行代碼量的LALR分析器來講解一個LALR分析器的完整實現,需要補充一下背景知識的是,這並不是一個實驗性質的項目,著...
圖書標籤: 編譯原理 計算機科學 LEMON語法分析生成器 計算機 源代碼分析 LALR(1) Compiler 語法分析器
路邊攤20元收瞭 為來年做sql分析做準備。 稍微看瞭一遍,比 bison 的語法好的多,以後細細看,代碼真的不錯。
評分廢話,又見廢話
評分這書真不能說好,lemon源碼,作者的注釋夠多瞭。這個係列,也就毛教授在好好寫書。
評分這本書分析的很詳細,但是分析過程不是很讓人容易懂。需要反復讀,反復看代碼,纔能明白。
評分寫的很詳細,基本按照main函數的流程把整個過程詳盡的過瞭一遍,詳細的你都會覺得作者羅嗦,比如在hash中查找添加個字符串還要分析。缺陷是錯彆字多,另外沒有從整體上對整個架構算法做分析而是一下子就紮進細節裏麵。不過不算是硬傷。要看LALR算法的,推薦跟著這本書來個實戰。
LEMON語法分析生成器 2024 pdf epub mobi 電子書 下載