注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具編譯程序原理與技術(shù)

編譯程序原理與技術(shù)

編譯程序原理與技術(shù)

定 價:¥28.00

作 者: 李贛生,王華民編著
出版社: 清華大學(xué)出版社
叢編項:
標 簽: 編譯原理

ISBN: 9787302026327 出版時間: 1997-10-01 包裝: 平裝
開本: 26cm 頁數(shù): 341 字數(shù):  

內(nèi)容簡介

  內(nèi)容簡介本書共分15章。第1、2章介紹了編譯程序的基本概念及程序的構(gòu)造;第3章討論了詞法分析;第4章討論了上下文無關(guān)文法的基本概念;第5、6章討論語法分析方法;第7章至第14章討論有關(guān)語義分析與處理的有關(guān)問題;第15章討論代碼生成技術(shù)。書中列出了Lex,Yacc和c的典型編譯源程序,力求把理論和實現(xiàn)細節(jié)相結(jié)合。本書可作為計算機軟件專業(yè)大學(xué)生、研究生教材,也可供從事計算機軟件研究、設(shè)計和開發(fā)的人員參考。

作者簡介

暫缺《編譯程序原理與技術(shù)》作者簡介

圖書目錄

     目錄
    序言
   1 引論
    1.1 什么是編譯程序
    1.2 解釋性程序
    1.3 編譯程序的基本結(jié)構(gòu)
    1.4 程序語言的語法與語義
    1.5 程序設(shè)計語言設(shè)計、編譯程序設(shè)計及計算機設(shè)計之間的關(guān)系
    練習(xí)1
   2 一個簡單的編譯程序
    2.1 語言(XL)概述
    2.2 XL的詞法分析程序
    2.3 XL遞歸下降分析
    2.4 生成中間代碼
    2.4.1 中間語言
    2.4.2 臨時變量
    2.4.3 動作符號
    2.4.4 語義信息
    練習(xí)2
   3 詞法分析
    3.1 輸入子系統(tǒng)
    3.2 詞法分析的兩個途徑
    3.3 正規(guī)表達式
    3.3.1 基本定義
    3.3.2 正規(guī)表達式
    3.4 有限自動機
    3.5 從正規(guī)表達式到詞法分析程序
    3.6 LEX——一個建立詞法分析器的自動工具
    3.7 實踐中的幾個問題
    3.7.1 保留字
    3.7.2 向前看多字符問題
    3.7.3 詞法錯誤的矯正
    3.8 正規(guī)表達式到有限自動機的轉(zhuǎn)換
    3.8.1 把正規(guī)表達式轉(zhuǎn)換為NFA
    3.8.2 從NFA到DFA的轉(zhuǎn)換——子集構(gòu)造法
    3.8.3 DFA的優(yōu)化——極小化
    練習(xí)3
   4 上下文無關(guān)文法與分析
    4.1 基本概念與定義
    4.2 推導(dǎo)與分析樹
    4.3 文法的設(shè)計
    4.3.1 右線性文法
    4.3.2 驗證由文法生成的語言
    4.3.3 消除歧義
    4.3.4 遞歸文法
    4.3.5 提左公因子
    4.4 文法分析算法
    4.4.1 空串非終結(jié)符
    4.4.2 FIRST集合及其計算
    4.4.3 FOLLOW集合及其計算
    4.5 上下文無關(guān)文法的限度
    練習(xí)4
   5 LL(1)文法與分析器
    5.1 自上而下分析與下推自動機
    5.1.1 作為下推自動機的遞歸下降分析器
    5.1.2 利用下推自動機進行自上而下的分析算法
    5.2 LL(1)預(yù)測函數(shù)
    5.3 LL(1)分析表
    5.4 一個LL(1)分析表及驅(qū)動程序?qū)嵗?br />     5.5 LL的自動生成工具
    5.5.1 LLama
    5.5.2 LLGen
    5.6 LL(1)文法的構(gòu)造
    5.7 自上而下分析中的查錯恢復(fù)問題
    練習(xí)5
   6 LR分析
    6.1 自下而上的分析過程——移入歸約分析
    6.2 利用狀態(tài)機實現(xiàn)對LR分析器的控制
    6.3 建立LR分析表的基本理論
    6.3.1 LR(0)文法
    6.3.2 SLR(1)文法
    6.3.3 LR(1)文法
    6.3.4 LALR(1)文法
    6.4 LR分析表的壓縮表示
    6.5 歧義文法的利用
    6.6 LR分析中的查錯恢復(fù)問題
    6.7 LALR(1)分析器的自動生成工具——YACC與OCCS
    6.7.1 YACC程序
    6.7.2 YACC中如何利用歧義文法
    6.7.3 利用Lex建立YACC的詞法分析程序
    6.7.4YACC中的查錯恢復(fù)方法
    練習(xí)6
   7 語法制導(dǎo)的翻譯
    7.1 增廣文法
    7.2 屬性文法
    7.3 LL分析中的語義處理技術(shù)
    7.3.1 表驅(qū)動的LL分析中使用的增廣文法
    7.3.2 下推自動機中屬性文法的實施
    7.3.3 LL中屬性的$表示法
    7.4 LR分析中的語義處理技術(shù)
    7.4.1 LR分析中屬性處理的特點
    7.4.2 一個LR語義處理流程的例子
    7.4.3 建立LR分析用的屬性文法及LR分析中屬性的$表示法
    7.4.4 嵌入動作與語法變換
    7.5 語義棧的類型描述
    7.6 中間語言表示——IR
    7.6.1 IR的一般形式
    7.6.2 C代碼:一種簡單的中間語言與虛擬機
    7.6.2.1 C虛擬機
    7.6.2.2 C虛擬機的存儲管理
    7.6.2.3 C代碼描述
    練習(xí)7
   8 符號表
    8.1 符號表模塊的基本結(jié)構(gòu)
    8.2 符號表數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)
    8.3 一個分程序結(jié)構(gòu)的哈希符號表
    8.3.1 基本數(shù)據(jù)結(jié)構(gòu)
    8.3.2 分程序結(jié)構(gòu)
    8.3.3 一種簡單的分程序結(jié)構(gòu)符號表的實現(xiàn)方法
    8.3.4 符號表的高級維護層
    練習(xí)8
   9 運行時存儲器的組織
    9.1 靜態(tài)分配
    9.2 棧式分配
    9.3 堆式分配
    9.4 靜態(tài)鍵與動態(tài)鍵
    練習(xí)9
   10 聲明的語義處理技術(shù)
    10.1 簡單變量聲明的處理
    10.2 結(jié)構(gòu)與聯(lián)合聲明的處理
    10.3 枚舉類型聲明的處理
    10.4 函數(shù)聲明與定義的處理
    10.5 分程序的處理
    練習(xí)10
   11 C代碼生成器的接口gen()子程序
    練習(xí)11
   12 表達式的語義處理
    12.1 臨時變量的分配
    12.2 左值與右值
    12.3 臨時變量的表示——一種支持左右值實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)
    12.4 單目運算符的語義處理
    12.5 雙目運算符的處理
    練習(xí)12
   13 控制語句的語義處理
    13.1 簡單控制語句的語義處理
    13.2 條件語句的語義處理
    13.3 循環(huán)語句break與c0ntinue語句的語義處理
    13.4switch語句的語義處理
    練習(xí)13
   14 代碼優(yōu)化
    14.1 分析器的優(yōu)化
    14.2 線性(窺孔)優(yōu)化
    14.2.1 強度削減
    14.2.2 常數(shù)折合與常數(shù)傳播
    14.2.3 死變量與死代碼
    14.2.4 窺孔優(yōu)化之例
    14.3 語法樹上的優(yōu)化
    14.3.1 從逆波蘭至語法樹
    14.3.2 公共子表達式節(jié)省
    14.3.3 寄存器分配
    14.3.4 局部循環(huán)優(yōu)化
    練習(xí)14
   15 代碼的生成
    15.1 寄存器與臨時單元的管理
    15.2 一個簡單的代碼生成器
    15.3 一個簡單的寄存器分配方案
    15.4 從樹生成代碼
    15.5 代碼生成器的自動化技術(shù)
    15.5.1 基于文法的代碼生成器
    15.5.2 基于樹重寫的代碼生成器的生成器
    練習(xí)15
    參考文獻
   

本目錄推薦

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