LEMON語(yǔ)法分析生成器

出版時(shí)間:2006-7  出版社:浙江大學(xué)  作者:虞森林  頁(yè)數(shù):405  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

通過(guò)解剖分析現(xiàn)成軟件的源代碼來(lái)學(xué)習(xí)計(jì)算機(jī)的專業(yè)課程,是一種行之有效的途徑。本書通過(guò)解剖一個(gè)LALR(1)語(yǔ)法分析的生成器——LEMON,來(lái)達(dá)到學(xué)習(xí)編譯原理中有關(guān)LALR(1)語(yǔ)法分析的目的?! ”緯慕Y(jié)構(gòu)安排,以LEMON在mmn()主函數(shù)中執(zhí)行流為串聯(lián)主線,在分析過(guò)程中,按遇見的順序,逐個(gè)分析闡述每個(gè)函數(shù)的工作機(jī)制、相關(guān)的數(shù)據(jù)結(jié)構(gòu),以及它們互相之間發(fā)生的有機(jī)聯(lián)系。全書分11章。第1章對(duì)LEMON進(jìn)行概略性的介紹。第2章通過(guò)一個(gè)帶有變量功能、具有可重載函數(shù)的桌面計(jì)算器的開發(fā)實(shí)例,介紹如何應(yīng)用LEMON來(lái)開發(fā)應(yīng)用程序。第3章分析LEMON如何對(duì)命令行中輸入的參數(shù)進(jìn)行處理。第4章闡述LEMON中的各種數(shù)據(jù)結(jié)構(gòu)以及它們的初始化過(guò)程。第5章為L(zhǎng)EMON對(duì)語(yǔ)法文件內(nèi)容進(jìn)行詞法掃描,并介紹如何將磁盤上的語(yǔ)法文件轉(zhuǎn)換為機(jī)器內(nèi)存里的各種數(shù)據(jù)結(jié)構(gòu)。第6章講述尋得符號(hào)Firsr集并建立優(yōu)先級(jí)的過(guò)程。第7章討論形成LR(0)分析器的各個(gè)狀態(tài)和建立各項(xiàng)目的傳播鏈表。第8章為尋找各語(yǔ)法符號(hào)的Follow集元素。第9章闡述在已有LR(0)分析器的基礎(chǔ)上,添加先行符從而建立LALR(1)分析器的機(jī)理和過(guò)程。第10章是本書最重要的部分,討論了LEMON如何與精心設(shè)計(jì)的lempar.c模板文件互相配合,最終生成LALR(1)類型語(yǔ)法分析器的C語(yǔ)言版文件。第11章非常簡(jiǎn)要地介紹了語(yǔ)法分析器內(nèi)函數(shù)調(diào)用與數(shù)組之間的關(guān)系、它們的良好封裝性,以及如何刪除調(diào)試排錯(cuò)功能以獲得更小的軟件體積?! ”緯勺鳛榇髮W(xué)計(jì)算機(jī)專業(yè)高年級(jí)學(xué)生和研究生的教材或教學(xué)參考書,也可作為從事計(jì)算機(jī)系統(tǒng)研究或應(yīng)用開發(fā)人員的參考書。

書籍目錄

第1章 介紹LEMON 1.1 編譯原理的由來(lái)和發(fā)展 1.2 LEMON簡(jiǎn)介 1.3 命令行中各個(gè)選項(xiàng) 1.4 語(yǔ)法分析器的界面和工作過(guò)程 1.5 與YACC和BISON的不同之處 1.6 語(yǔ)法文件的語(yǔ)法 1.7 特殊申明符 1.8 語(yǔ)法分析過(guò)程的錯(cuò)誤恢復(fù)策略第2章 設(shè)計(jì)計(jì)算器 2.1 最簡(jiǎn)陋計(jì)算器 2.2 使用自定義的數(shù)據(jù)類型——結(jié)構(gòu) 2.3 語(yǔ)法分析器的狀態(tài)和動(dòng)作 2.4 語(yǔ)法分析的動(dòng)作記錄 2.5 比較完善的計(jì)算器 2.6 如何釋放符號(hào)占用的內(nèi)存空間 2.7 具有變量功能的計(jì)算器 2.8 具有函數(shù)功能的計(jì)算器 2.9 添加帶兩個(gè)參數(shù)的函數(shù)功能以及讓函數(shù)能夠重載 2.10 計(jì)算器的全部源代碼第3章 處理命令行輸入 3.1 函數(shù)調(diào)用關(guān)系 3.2 內(nèi)容概述 3.3 如何閱讀分析LEMON源程序  3.4 與命令行有關(guān)變量、數(shù)組的申明和賦值  3.5 命令行選項(xiàng)錯(cuò)誤輸入時(shí)的處理 3.6 命令行帶參數(shù)選項(xiàng)的處理  3.7 提示正確參數(shù)輸入形式第4章 初始化LEMON  4.1 函數(shù)調(diào)用關(guān)系  4.2 內(nèi)容概述  4.3 LEMON程序的“全局”變量  4.4 啟用“符號(hào)之家”的strsafe—init函數(shù)  4.5 啟用符號(hào)表的Symbol—init函數(shù)  4.6 符號(hào)(symb01)結(jié)構(gòu)  4.7 啟用狀態(tài)表的State—init函數(shù)  4.8 狀態(tài)(state)數(shù)據(jù)結(jié)構(gòu)  4.9 項(xiàng)目(config)數(shù)據(jù)結(jié)構(gòu)  4.10 產(chǎn)生式(rule)數(shù)據(jù)結(jié)構(gòu)  4.11 動(dòng)作(action)數(shù)據(jù)結(jié)構(gòu)  4.12 一些變量的初始化  4.13 裝配和安置符號(hào)  4.14 檢測(cè)符號(hào)的安置第5章 詞法掃描和語(yǔ)法要素內(nèi)部表示  5.1 函數(shù)調(diào)用關(guān)系  5.2 內(nèi)容概述  5-3 詞法處理的主角  5.4 詞法分析專用的數(shù)據(jù)結(jié)構(gòu)(pstate)  5.5 讀入整個(gè)語(yǔ)法文件  5.6 打印出錯(cuò)信息函數(shù)  5.7 處理?xiàng)l件編譯  5.8 分析字符流和裁成記號(hào)流  5.9 記號(hào)的語(yǔ)法分析  5.10 文法符號(hào)計(jì)數(shù)、排序  5.11 重現(xiàn)語(yǔ)法文件第6章 符號(hào)的First集  6.1 函數(shù)調(diào)用關(guān)系  6.2 內(nèi)容概述  6.3 計(jì)算優(yōu)先級(jí)  6.4 找出符號(hào)的First集第7章 計(jì)算LR(0)分析器 7.1 函數(shù)調(diào)用關(guān)系  7.2  內(nèi)容概述 ……第8章 符號(hào)的Follow集第9章 計(jì)算LALR(1)分析器第10章 生成LALR(1)語(yǔ)法分析器第11章 語(yǔ)法分析器的一些特性主要參考文獻(xiàn)

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    LEMON語(yǔ)法分析生成器 PDF格式下載


用戶評(píng)論 (總計(jì)9條)

 
 

  •   情景分析系列,支持
  •   這本書對(duì)農(nóng)民種地很有幫助,能提高農(nóng)作物的產(chǎn)量,提高種植收割效率
  •   給朋友買的,他應(yīng)該喜歡吧。
  •   幫同事買的, 書籍印刷還不錯(cuò)
  •   感謝作者很有心,這本書作為高校教材還是挺不錯(cuò)的,但是用于指導(dǎo)實(shí)踐我認(rèn)為還有不足。首先lemon解析器的定位,它是處于詞法分析,語(yǔ)法分析還是語(yǔ)義分析的哪個(gè)階段到現(xiàn)在還是不太清楚的,lemon缺乏可視化的UI進(jìn)行處理,使用起來(lái)如果還要自己進(jìn)行詞法分析,那實(shí)用性就打折扣了。因?yàn)榇藭袑?duì)LALR1解析算法進(jìn)行剖析,相比一些老外的圖書,例如Monographs in ***puter Science,Packret分析(第二版)要差了很多。其次我實(shí)際上需要的是實(shí)踐操作的指導(dǎo),工作后難得有時(shí)間和有精力去深入學(xué)習(xí)算法,算法對(duì)于我是黑盒即可,我需要的是短平快的進(jìn)行開發(fā),快速實(shí)現(xiàn)我所需要的目標(biāo),lemon的能力顯然有限,當(dāng)然lemon是免費(fèi)的,這點(diǎn)沒(méi)有疑問(wèn)。最后給大家推薦幾款我前期研究中發(fā)現(xiàn)的軟件,希望和大家多多交流:1)Parser Generator2)UltraGram上述兩個(gè)軟件的語(yǔ)法書寫上和lemon是不同的,雖然我也沒(méi)有深入的使用,但是發(fā)現(xiàn)在實(shí)用性方面似乎這兩款軟件更能滿足我的要求。
  •   這本書對(duì)龍書在LALR方面有一個(gè)很好的補(bǔ)充作用,個(gè)人認(rèn)為龍書一直以來(lái)對(duì)LALR的解釋和實(shí)例是不夠的,而這本書主要是一個(gè)通過(guò)分析一個(gè)LALR(1)文法作為核心的語(yǔ)法分析生成器來(lái)解釋LALR技術(shù)和實(shí)現(xiàn)方法,是在實(shí)例方面對(duì)龍書的不足之處的一個(gè)很好的支持,而且內(nèi)容寫得不錯(cuò),對(duì)于想了解自底向頂編譯器技術(shù)以及語(yǔ)法生成器構(gòu)造的人來(lái)講,是不個(gè)不錯(cuò)的選擇!
  •   一直對(duì)當(dāng)當(dāng)?shù)母杏X(jué)還是蠻好的,但是這本書讓我很傷心,書側(cè)整個(gè)都沾滿了土,顯然是沾過(guò)水的,其中一頁(yè)還有個(gè)鞋印,很多書頁(yè)的都折了,當(dāng)當(dāng)作為比較主流的圖書網(wǎng)站,不應(yīng)該這樣對(duì)待我們廣大學(xué)生吧,我們可是經(jīng)常買書的??!
  •   內(nèi)容挺好,就是啰嗦了一點(diǎn),能簡(jiǎn)潔一點(diǎn)就好了
  •   東西難懂,待初略學(xué)習(xí)編譯原理后再慢慢啃,看上去是本有價(jià)值的書
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7