編譯原理(英文版·第2版) 版權信息
- ISBN:9787111326748
- 條形碼:9787111326748 ; 978-7-111-32674-8
- 裝幀:平裝
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
編譯原理(英文版·第2版) 本書特色
本書是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為“龍書”。自本書上一版于1986年出版以來,被世界各地的著名高等院校和研究機構(包括美國哥倫比亞大學、斯坦福大學、哈佛大學、普林斯頓大學、貝爾實驗室)作為本科生和研究生的編譯原理課程的教材。該書對我國計算機教育領域也具有重大影響。
編譯原理(英文版·第2版) 內容簡介
????本書是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為“龍書”。本書上一版自1986年出版以來,被世界各地的有名高等院校和研究機構(包括美國哥倫比亞大學、斯坦福大學、哈佛大學、普林斯頓大學、貝爾實驗室)作為本科生和研究生的編譯原理課程的教材。該書對我國高等計算機教育領域也產生了重大影響。
????第2版對每一章都進行了全面的修訂,以反映自上一版出版20多年來軟件工程。程序設計語言和計算機體系結構方面的發展對編譯技術的影響。
????本書全面介紹了編譯器的設計,并強調編譯技術在軟件設計和開發中的廣泛應用。每章中都包含大量的習題和豐富的參考文獻。本書適合作為高等院校計算機專業本科生和研究生的編譯原理與技術課程的教材,也可供廣大計算機技術人員參考。
編譯原理(英文版·第2版) 目錄
TableofContents
1Introduction1
1.1 Language Pro cessors 1
1.1.1 Exercises for Section 1.1 3
1.2 The Structure of a Compiler 4
1.2.1 Lexical Analysis 5
1.2.2 Syntax Analysis 8
1.2.3 Semantic Analysis 8
1.2.4 Intermediate Co de Generation 9
1.2.5 Co de Optimization 10
1.2.6 Co de Generation 10
1.2.7 Symb ol-Table Management 11
1.2.8 The Grouping of Phases into Passes 11
1.2.9 Compiler-Construction To ols 12
1.3 The Evolution of Programming Languages 12
1.3.1 The Move to Higher-level Languages 13
1.3.2 Impacts on Compilers 14
1.3.3 Exercises for Section 1.3 14
1.4 The Science of Building a Compiler 15
1.4.1 Mo deling in Compiler Design and Implementation 15
1.4.2 The Science of Co de Optimization 15
1.5 Applications of Compiler Technology 17
1.5.1 Implementation of High-Level Programming Languages 17
1.5.2 Optimizations for Computer Architectures 19
1.5.3 Design of New Computer Architectures 21
1.5.4 Program Translations 22
1.5.5 Software Pro ductivity To ols 23
1.6 Programming Language Basics 25
1.6.1 The Static/Dynamic Distinction 25
1.6.2 Environments and States 26
1.6.3 Static Scop e and Blo ck Structure 28
1.6.4 Explicit Access Control 31
1.6.5 Dynamic Scop e 31
1.6.6 Parameter Passing Mechanisms 33
1.6.7 Aliasing 35
1.6.8 Exercises for Section 1.6 35
1.7 Summary of Chapter 1 36
1.8 References for Chapter 1 .38
2ASimpleSyntax-DirectedTranslator39
2.1 Intro duction 40
2.2 Syntax De nition 42
2.2.1 De nition of Grammars 42
2.2.2 Derivations 44
2.2.3 Parse Trees 45
2.2.4 Ambiguity. 47
2.2.5 Asso ciativity of Op erators 48
2.2.6 Precedence of Op erators 48
2.2.7 Exercises for Section 2.2 51
2.3 Syntax-Directed Translation 52
2.3.1 Post x Notation 53
2.3.2 Synthesized Attributes 54
2.3.3 Simple Syntax-Directed De nitions 56
2.3.4 Tree Traversals 56
2.3.5 Translation Schemes 57
2.3.6 Exercises for Section 2.3 60
2.4 Parsing .60
2.4.1 Top-Down Parsing 61
2.4.2 Predictive Parsing 64
2.4.3 When to Use -Pro ductions 65
2.4.4 Designing a Predictive Parser 66
2.4.5 Left Recursion 67
2.4.6 Exercises for Section 2.4 68
2.5 A Translator for Simple Expressions 68
2.5.1 Abstract and Concrete Syntax 69
2.5.2 Adapting the Translation Scheme 70
2.5.3 Pro cedures for the Nonterminals 72
2.5.4 Simplifying the Translator 73
2.5.5 The Complete Program 74
2.6 Lexical Analysis .76
2.6.1 Removal of White Space and Comments 77
2.6.2 Reading Ahead 78
2.6.3 Constants 78
2.6.4 Recognizing Keywords and Identi ers 79
2.6.5 A Lexical Analyzer 81
2.6.6 Exercises for Section 2.6 84
2.7 Symbol Tables .85
2.7.1 Symbol Table Per Scop e 86
2.7.2 The Use of Symbol Tables 89
2.8 Intermediate Co de Generation 91
2.8.1 Two Kinds of Intermediate Representations 91
2.8.2 Construction of Syntax Trees 92
2.8.3 Static Checking 97
2.8.4 Three-Address Co de 99
2.8.5 Exercises for Section 2.8 105
2.9 Summary of Chapter 2 .105
3LexicalAnalysis109
3.1 The Role of the Lexical Analyzer .109
3.1.1 Lexical Analysis Versus Parsing 110
3.1.2 Tokens, Patterns, and Lexemes 111
3.1.3 Attributes for Tokens 112
3.1.4 Lexical Errors 113
3.1.5 Exercises for Section 3.1 114
3.2 Input Bu ering .115
3.2.1 Bu er Pairs 115
3.2.2 Sentinels 116
3.3 Sp eci cation of Tokens 116
3.3.1 Strings and Languages 117
3.3.2 Op erations on Languages 119
3.3.3 Regular Expressions 120
3.3.4 Regular De nitions 123
3.3.5 Extensions of Regular Expressions 124
3.3.6 Exercises for Section 3.3 125
3.4 Recognition of Tokens 128
3.4.1 Transition Diagrams 130
3.4.2 Recognition of Reserved Words and Identi ers 132
3.4.3 Completion of the Running Example 133
3.4.4 Architecture of a Transition-Diagram-Based Lexical An-alyzer .. 134
3.4.5 Exercises for Section 3.4 136
3.5 The Lexical-Analyzer Generator Lex. 140
3.5.1 Use of Lex. 140
3.5.2 Structure of LexPrograms 1
展開全部
編譯原理(英文版·第2版) 作者簡介
[美]阿霍(Aho,A.V.),美國歌倫比亞大學教授,美國國家工程院院士,ACM和IEEE會士,曾獲得IEEE的馮·諾伊曼獎。著有多部算法、數據結構、編譯器、數據庫系統及計算機科學基礎方面的著作。 Monica S.Lam,斯坦福大學計算機科學系教授,曾任Tensilica的首席科學家,也是Moka5的首任CEO。曾經主持SUIF項目,該項目產生了最流行的研究用編譯器之一。 Ravi Sethi,Avaya實驗室總裁,曾任貝爾實驗室高級副總裁和Lucent Technologies通信軟件的CTO。他曾在賓夕法尼亞州立大學,亞利桑那州立大學和普林斯頓大學任教,是ACM會士。 Jefirey D.Ullman斯坦福大學計算機科學系教授和Gradiance CEO。他的研究興趣包括數據庫理論、數據庫集成、數據挖掘和利用信息基礎設施教學等。他是美國國家工程學院院士、IEEE會士,獲得過ACM的Karlstrom杰出教育獎和Knuth獎。