編譯原理及實踐

編譯原理及實踐

《編譯原理及實踐》是(美)勞頓 著,馮博琴等 譯,由機械工業出版社 於 2004年2月1日出版。

基本信息

編輯推薦

本書結合對現代編譯器設計理論的詳細研究,完整描述了一個可運行的小規模語方編譯器(包括

編譯原理及實踐書籍封面圖編譯原理及實踐書籍封面圖

原始碼)。本書反映了作者的這樣一些觀點:不掌握理論就不會理解實際的編譯器設計;而對大學生來說,看不到理論在實際中的套用就不會真正地理解理論。把本書討論的概念統一起來,就是一個完整的可運行的編譯器,它使用每一章所討論的技術進行開發,用C語言寫成。每章最後有大量的練習,使學生的注意力集中在編程問題上。

內容簡介

本書系統介紹了經典的編譯理論和技術,同時也包含了面向對象語言等當前較新語言的編譯技術。本書更可貴之處在於提供了較完整的適用於教學實踐的樣例語言,是一本理論和實踐內容相結合的、不可多得的好書。本書可用作大專院校教材、教師參考書以及編譯器研究人員的參考資料。

作者簡介

Kenneth C.Louden,加拿大麥吉爾大學獲得博士學位之後,曾在多所大學任教。他的主要研究領域是統和統譯器,涉及範疇論及其編程、形式語義、編譯器最佳化與自動化技術等。1985年在美國聖何塞州立大學任教至今。所撰寫的教材還有Programming Languages、Programming Languages Text和 Compiler Constuction Text等。

書籍目錄

譯者序

前言

第1章 概論 1

1.1 為什麼要用編譯器 2

1.2 與編譯器相關的程式 3

1.3 翻譯步驟 5

1.4 編譯器中的主要數據結構 8

1.5 編譯器結構中的其他問題 10

1.6 自舉與移植 12

1.7 TINY樣本語言與編譯器 14

1.8 C-Minus:編譯器項目的一種語言 18

練習 19

注意與參考 20

第2章 詞法分析 21

2.1 掃描處理 21

2.2 正則表達式 23

2.3有窮自動機32

2.4 從正則表達式到DFA 45

2.5 TINY掃描程式的實現 52

2.6 利用Lex 自動生成掃描程式 57

練習 65

編程練習 67

注意與參考 67

第3章 上下文無關文法及分析 69

3.1 分析過程 69

3.2 上下文無關文法 70

3.3 分析樹與抽象語法樹 77

3.4 二義性 83

3.5 擴展的表示法:EBNF和語法圖 89

3.6 上下文無關語言的形式特性 93

3.7 TINY語言的語法 97

練習 101

注意與參考 104

第4章 自頂向下的分析 105

4.1 使用遞歸下降分析算法進行自頂向下的分析 105

4.2LL(1)分析113

4.3First集合Follow集合125

4.4 TINY語言的遞歸下降分析程式 136

4.5 自頂向下分析程式中的錯誤校正 137

練習 143

編程練習 146

注意與參考 148

第5章 自底向上的分析 150

5.1 自底向上分析概覽 151

5.2 LR(0)項的有窮自動機與LR(0)分析 153

5.3SLR(1)分析160

5.4 一般的LR(1)和LALR(1)分析 166

5.5 Yacc:一個LALR(1)分析程式的生成器 173

5.6 使用Yacc生成TINY分析程式 186

5.7 自底向上分析程式中的錯誤校正 188

練習 192

編程練習 195

注意與參考 197第6章 語義分析 198第7章 運行時環境 266第8章 代碼生成 305附錄A 編譯器設計方案 373附錄B 小型編譯器列表 381附錄C Tiny Machine模擬器列表 417

相關詞條

相關搜尋

熱門詞條

聯絡我們