注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計匯編語言/編譯原理LEMON語法分析生成器類型)源代碼情景分析(LALR(1)

LEMON語法分析生成器類型)源代碼情景分析(LALR(1)

LEMON語法分析生成器類型)源代碼情景分析(LALR(1)

定 價:¥58.00

作 者: 虞森林
出版社: 浙江大學(xué)
叢編項:
標(biāo) 簽: 程序設(shè)計 計算機(jī)/網(wǎng)絡(luò)

ISBN: 9787308048149 出版時間: 2006-07-01 包裝: 平裝
開本: 16開 頁數(shù): 405 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

暫缺《LEMON語法分析生成器類型)源代碼情景分析(LALR(1)》作者簡介

圖書目錄

第1章介紹LEMON.
1.1編譯原理的由來和發(fā)展
1.2LEMON簡介
1.3命令行中各個選項
1.4語法分析器的界面和工作過程
1.5與YACC和BISON的不同之處
1.6語法文件的語法
1.7特殊申明符
1.8語法分析過程的錯誤恢復(fù)策略
第2章設(shè)計計算器
2.1最簡陋計算器
2.2使用自定義的數(shù)據(jù)類型——結(jié)構(gòu)
2.3語法分析器的狀態(tài)和動作
2.4語法分析的動作記錄
2.5匕較完善的計算器
2.6如何釋放符號占用的內(nèi)存空間
2.7具有變量功能的計算器
2.8具有函數(shù)功能的計算器
2.9添加帶兩個參數(shù)的函數(shù)功能以及讓函數(shù)能夠重載
2.10計算器的全部源代碼
第3章處理命令行輸入
3.1函數(shù)調(diào)用關(guān)系
3.2內(nèi)容概述
3.3如何閱讀分析LEMON源程序
3.4與命令行有關(guān)變量.數(shù)組的申明和賦值
3.5命令行選項錯誤輸入時的處理
3.6命令行帶參數(shù)選項的處理
3.7提示正確參數(shù)輸入形式
第4章初始化LEMON
4.1函數(shù)調(diào)用關(guān)系
4.2內(nèi)容概述
4.3LEMON程序的“全局”變量
4.4啟用“符號之家”的Strsafe_init函數(shù)
4.5啟用符號表的Symbol_init函數(shù)
4.6符號(symbol)結(jié)構(gòu)
4.7啟用狀態(tài)表的State_init函數(shù)
4.8狀態(tài)(state)數(shù)據(jù)結(jié)構(gòu)
4.9項目(config)數(shù)據(jù)結(jié)構(gòu)
4.10產(chǎn)生式(role)數(shù)據(jù)結(jié)構(gòu)
4.11動作(action)數(shù)據(jù)結(jié)構(gòu)
4.12一些變量的初始化
4.13裝配和安置符號
4.14檢測符號的安置
第5章詞法掃描和語法要素內(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讀入整個語法文件
5.6打印出錯信息函數(shù)
5.7處理條件編譯
5.8分析字符流和裁成記號流
5.9記號的語法分析..
5.10文法符號計數(shù).排序
5.11重現(xiàn)語法文件
第6章符號的First集
6.1函數(shù)調(diào)用關(guān)系
6.2內(nèi)容概述
6.3計算優(yōu)先級
6.4找出符號的First集
第7章計算LR(0)分析器
7.1函數(shù)調(diào)用關(guān)系
7.2內(nèi)容概述
7.3計算LR(0)分析器的主角
7.4項目表的初始化
7.5確認(rèn)開始符號
7.6計算第一狀態(tài)的基本項目集
7.7尋找LR(0)分析器第一個狀態(tài)
7.8基本項目的閉包運(yùn)算
7.9項目傳播鏈表
7.10建立第一狀態(tài)
7.11尋找LR(0)的所有狀瘡
第8章符號的Follow集
8.1函數(shù)調(diào)用關(guān)系
8.2內(nèi)容概述
8.3顛倒項目傳播鏈的次序
8.4找出符號的Follow集
第9章計算LALR(1)分析器
9.1數(shù)調(diào)用關(guān)系
9.2內(nèi)容概述
9.3裝配動作鏈表
9.4壓縮動作鏈表
9.5報告動作鏈表
第10章生成LALR(1)語法分析器
10.1函數(shù)調(diào)用關(guān)系
10.2內(nèi)容概述
10.3生成語法分析器的主角
10.4“轉(zhuǎn)運(yùn)承載”數(shù)據(jù)結(jié)構(gòu)(acttab)
10.5模板文件
10.6從模板文件中拷貝代碼
10.7頭文件
10.8定義分析器中各種數(shù)據(jù)類型
10.9維數(shù)組線性化和壓縮
10.10計算和生成動作數(shù)組
10.11輸出語法分析器的各數(shù)組
10.12移進(jìn).歸約和接受的操作處理
10.13產(chǎn)生式文法符號向語法分析棧元素的轉(zhuǎn)換
10.14出錯與接受的操作處理
10.15語法分析器動作分析
10.16打印頭文件和顯示處理結(jié)果
第11章語法分析器的一些特性
11.1語法分析器中函數(shù)和數(shù)組調(diào)用關(guān)系
11.2語法分析器的封裝性
11.3條件編譯語句塊
主要參考文獻(xiàn)...

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號