Compilers
없습니다
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
목차
- Chapter 1 Introduction to Compiling 1 (24)
1.1 Compilers 1 (3)
1.2 Analysis of the source program 4 (6)
1.3 The phases of a compiler 10 (6)
1.4 Cousins of the compiler 16 (4)
1.5 The grouping of phases 20 (2)
1.6 Compiler-construction tools 22 (1)
Bibliographic notes 23 (2)
Chapter 2 A Simple One-Pass Compiler 25 (58)
2.1 Overview 25 (1)
2.2 Syntax definition 26 (7)
2.3 Syntax-directed translation 33 (7)
2.4 Parsing 40 (8)
2.5 A translator for simple expressions 48 (6)
2.6 Lexical analysis 54 (6)
2.7 Incorporating a symbol table 60 (2)
2.8 Abstract stack machines 62 (7)
2.9 Putting the techniques together 69 (9)
Exercises 78 (3)
Bibliographic notes 81 (2)
Chapter 3 Lexical Analysis 83 (76)
3.1 The role of the lexical analyzer 84 (4)
3.2 Input buffering 88 (4)
3.3 Specification of tokens 92 (6)
3.4 Recognition of tokens 98 (7)
3.5 A language for specifying lexical 105(8)
analyzers
3.6 Finite automata 113(8)
3.7 From a regular expression to an NFA 121(7)
3.8 Design of a lexical analyzer generator 128(6)
3.9 Optimization of DFA-based pattern 134(12)
matchers
Exercises 146(11)
Bibliographic notes 157(2)
Chapter 4 Syntax Analysis 159(120)
4.1 The role of the parser 160(5)
4.2 Context-free grammars 165(7)
4.3 Writing a grammar 172(9)
4.4 Top-down parsing 181(14)
4.5 Bottom-up parsing 195(8)
4.6 Operator-precedence parsing 203(12)
4.7 LR parsers 215(32)
4.8 Using ambiguous grammars 247(10)
4.9 Parser generators 257(10)
Exercises 267(10)
Bibliographic notes 277(2)
Chapter 5 Syntax-Directed Translation 279(64)
5.1 Syntax-directed definitions 280(7)
5.2 Construction of syntax trees 287(6)
5.3 Bottom-up evaluation of S-attributed 293(3)
definitions
5.4 L-attributed definitions 296(6)
5.5 Top-down translation 302(6)
5.6 Bottom-up evaluation of inherited 308(8)
attributes
5.7 Recursive evaluators 316(4)
5.8 Space for attribute values at compile 320(3)
time
5.9 Assigning space at 323(6)
compiler-construction time
5.10 Analysis of syntax-directed 329(7)
definitions
Exercises 336(4)
Bibliographic notes 340(3)
Chapter 6 Type Checking 343(46)
6.1 Type systems 344(4)
6.2 Specification of a simple type checker 348(4)
6.3 Equivalence of type expressions 352(7)
6.4 Type conversions 359(2)
6.5 Overloading of functions and operators 361(3)
6.6 Polymorphic functions 364(12)
6.7 An algorithm for unification 376(5)
Exercises 381(5)
Bibliographic notes 386(3)
Chapter 7 Run-Time Environments 389(74)
7.1 Source language issues 389(7)
7.2 Storage organization 396(5)
7.3 Storage-allocation strategies 401(10)
7.4 Access to nonlocal names 411(13)
7.5 Parameter passing 424(5)
7.6 Symbol tables 429(11)
7.7 Language facilities for dynamic 440(2)
storage allocation
7.8 Dynamic storage allocation techniques 442(4)
7.9 Storage allocation in Fortran 446(9)
Exercises 455(6)
Bibliographic notes 461(2)
Chapter 8 Intermediate Code Generation 463(50)
8.1 Intermediate languages 464(9)
8.2 Declarations 473(5)
8.3 Assignment statements 478(10)
8.4 Boolean expressions 488(9)
8.5 Case statements 497(3)
8.6 Backpatching 500(6)
8.7 Procedure calls 506(2)
Exercises 508(3)
Bibliographic notes 511(2)
Chapter 9 Code Generation 513(72)
9.1 Issues in the design of a code 514(5)
generator
9.2 The target machine 519(3)
9.3 Run-time storage management 522(6)
9.4 Basic blocks and flow graphs 528(6)
9.5 Next-use information 534(1)
9.6 A simple code generator 535(6)
9.7 Register allocation and assignment 541(5)
9.8 The dag representation of basic blocks 546(8)
9.9 Peephole optimization 554(3)
9.10 Generating code from dags 557(10)
9.11 Dynamic programming code-generation 567(5)
algorithm
9.12 Code-generator generators 572(8)
Exercises 580(3)
Bibliographic notes 583(2)
Chapter 10 Code Optimization 585(138)
10.1 Introduction 586(6)
10.2 The principal sources of optimization 592(6)
10.3 Optimization of basic blocks 598(4)
10.4 Loops in flow graphs 602(6)
10.5 Introduction to global data-flow 608(16)
analysis
10.6 Iterative solution of data-flow 624(9)
equations
10.7 Code-improving transformations 633(15)
10.8 Dealing with aliases 648(12)
10.9 Data-flow analysis of structured flow 660(11)
graphs
10.10 Efficient data-flow algorithms 671(9)
10.11 A tool for data-flow analysis 680(14)
10.12 Estimation of types 694(9)
10.13 Symbolic debugging of optimized code 703(8)
Exercises 711(7)
Bibliographic notes 718(5)
Chapter 11 Want to Write a Compiler? 723(10)
11.1 Planning a compiler 723(2)
11.2 Approaches to compiler development 725(4)
11.3 The compiler-development environment 729(2)
11.4 Testing and maintenance 731(2)
Chapter 12 A Look at Some Compilers 733(12)
12.1 EQN, a preprocessor for typesetting 733(1)
mathematics
12.2 Compilers for Pascal 734(1)
12.3 The C compilers 735(2)
12.4 The Fortran H compilers 737(3)
12.5 The Bliss/11 compiler 740(2)
12.6 Modula-2 optimizing compiler 742(3)
Appendix A Compiler Project 745(7)
A.1 Introduction 745(1)
A.2 A Pascal subset 745(1)
A.3 Program structure 745(3)
A.4 Lexical conventions 748(1)
A.5 Suggested exercises 749(1)
A.6 Evolution of the interpreter 750(1)
A.7 Extensions 751(1)
Bibliography 752(28)
Index 780
기본정보
ISBN | 9780201100884 ( 0201100886 ) |
---|---|
발행(출시)일자 | 1985년 10월 01일 |
쪽수 | 준비중 |
크기 |
171 * 241
mm
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립