HOME > 상세정보

상세정보

The theory and practice of compiler writing

The theory and practice of compiler writing (4회 대출)

자료유형
단행본
개인저자
Tremblay, Jean-Paul, 1938- Sorenson, P. G.
서명 / 저자사항
The theory and practice of compiler writing / Jean-Paul Tremblay, Paul G. Sorenson.
발행사항
New York :   McGraw-Hill,   c1985.  
형태사항
xix, 796 p. : ill. ; 25 cm.
총서사항
McGraw-Hill computer science series.
ISBN
0070651612 :
서지주기
Includes bibliographies and indexes.
일반주제명
Electronic digital computers --Programming. Compilers (Computer programs).
000 00887camuuu2002651a 4500
001 000000089400
005 19980526152541.0
008 841026s1985 nyua b 00110 eng d
010 ▼a 84025096 //r87
020 ▼a 0070651612 : ▼c $33.95
040 ▼a 211009 ▼c 211009
049 1 ▼l 412906168 ▼l 412906302 ▼l 421026569 ▼f 과학
050 0 ▼a QA76.6 ▼b .T734 1985
082 0 0 ▼a 001.64/2 ▼2 19
090 ▼a 001.642 ▼b T789t
100 1 ▼a Tremblay, Jean-Paul, ▼d 1938-
245 1 4 ▼a The theory and practice of compiler writing / ▼c Jean-Paul Tremblay, Paul G. Sorenson.
260 ▼a New York : ▼b McGraw-Hill, ▼c c1985.
300 ▼a xix, 796 p. : ▼b ill. ; ▼c 25 cm.
440 0 ▼a McGraw-Hill computer science series.
504 ▼a Includes bibliographies and indexes.
650 0 ▼a Electronic digital computers ▼x Programming.
650 0 ▼a Compilers (Computer programs).
700 1 0 ▼a Sorenson, P. G.

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/서고6층/ 청구기호 001.642 T789t 등록번호 412906168 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 중앙도서관/교육보존A/3A 청구기호 001.642 T789t 등록번호 412906302 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(2층서고)/ 청구기호 001.642 T789t 등록번호 421026569 (3회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 4 소장처 세종학술정보원/인문자료실1(2층)/ 청구기호 001.642 T789t 등록번호 452042136 (1회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M ?
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/서고6층/ 청구기호 001.642 T789t 등록번호 412906168 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 중앙도서관/교육보존A/3A 청구기호 001.642 T789t 등록번호 412906302 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(2층서고)/ 청구기호 001.642 T789t 등록번호 421026569 (3회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/인문자료실1(2층)/ 청구기호 001.642 T789t 등록번호 452042136 (1회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M ?

컨텐츠정보

책소개

NEW HARDCOVER


정보제공 : Aladin

목차


CONTENTS
Preface = xvii
Chapter 1 Introduction = 1
 1-1 Programming Languages = 1
 1-2 Translators = 4
 1-3 Model of a Compiler = 5
 Bibliography = 11
Chapter 2 Notation and Concepts for Languages and Grammars = 13
 2-1 Set and Strings = 14
  2-1.1 Basic Concepts of Set Theory = 14
   Exercises 2-1.1 = 18
  2-1.2 Relations = 19
   Exercises 2-1.2 = 27
  2-1.3 Strings = 29
 2-2 Discussion of Grammars = 30
  Exercises 2-2 = 37
 2-3 Classification of Grammars = 37
  Exercises 2-3 = 42
 2-4 context-Free Grammars and Parsing = 42
  2-4.1 syntax Terminology = 43
   Exercises 2-4.1 = 50
  2-4.2 A View of Parsing = 52
   Exercises 2-4.2 = 56
  2-4.3 Reduced Grammars and Grammars with ε-Rules = 57
   Exercises 2-4.3 = 63
  2-4.4 Extended BNF Notation = 64
   Exercises 2-4.4 = 66
 Bibliography = 67
Chapter 3 Programming-Language Design = 68
 3-1 Overview of the Problem = 69
 3-2 Preliminary Considerations = 70
 3-3 Sources of Ideas = 72
 3-4 Goals and Design Philosophies of Programming Languages = 74
  3-4.1 Human Communication = 74
  3-4.2 Prevention and Detection of Errors = 75
  3-4.3 Usability = 78
  3-4.4 Programming Effectiveness = 78
  3-4.5 Compilability = 80
  3-4.6 Efficiency = 81
  3-4.7 Machine Independence = 83
  3-4.8 Simplicity = 84
  3-4.9 Uniformity = 84
  3-4.10 Orthogonality = 85
  3-4.11 Generalization and Specialization = 86
  3-4.12 Other Design Philosophies = 86
 3-5 Detailed Design = 88
  3-5.1 Microstructure = 88
  3-5.2 Expression Structure = 92
  3-5.3 Data Structure = 93
  3-5.4 control Structure = 102
  3-5.5 Compile Structure = 113
  3-5.6 I/O Structure = 114
 3-6 Reduction of Size = 116
 3-7 Pragmatics = 116
 3-8 Comments on the Design of Ada = 120
  3-8.1 Evaluation of Ada from a Language Design Viewpoint = 122
   Usability and Program Effectiveness = 122
   Machine Independence and Portability = 129
   Efficiency = 129
   Modularity and Maintainability = 129
   Compilability and Compile Structure = 130
   Simplicity = 130
  3-8.2 Ada Programming Support Environment = 131
  3-8.3 software Technology for Adaptable Reliable Systems (STARS) = 132
  Chapter Exercises = 134
  Bibliography = 135
Chapter 4 Scanners = 138
 4-1 The Scanning Process = 139
 4-2 An Elementary Scanner Design and Its Implementation = 141
  Exercises 4-2 = 150
 4-3 Regular Grammars and Regular Expressions = 151
  Exercises 4-3 = 155
 4-4 Finite-State Acceptors = 156
  4-4.1 Deterministic Finite-State Acceptors = 156
  4-4.2 Nondeterministic Finite-State Acceptors = 157
  4-4.3 Nondeterministic Finite-State Acceptors with ε-Transitions = 162
  Exercises 4-4 = 165
 4-5 Equivalence of Regular Grammars and Finite-State Acceptors = 166
  Exercises 4-5 = 169
 4-6 Equivalence of Regular Expressions and Finite-State Acceptors = 170
  Exercises 4-6 = 176
 4-7 A Scanner Generator = 177
  Exercises 4-7 = 181
 Bibliography = 181
Chapter 5 Compile-time Error Handling = 182
 5-1 Overview of Error Handling = 182
 5-2 Error Detection = 185
  5-2.1 The Nature of Syntax Errors = 185
  5-2.2 How Errors Are Detected = 187
  5-2.3 Where Errors Are Detected = 189
 5-3 Error Reporting = 190
 5-4 Error Recovery = 195
  5-4.1 Ad Hoc Recovery Mechanisms = 195
  5-4.2 Syntax-Directed Recovery = 197
  5-4.3 Secondary Error Recovery = 199
  5-4.4 Context-Sensitive Recovery = 200
 5-5 Error Repair = 200
  5-5.1Ad Hoc Repair = 201
  5-5.2 Syntax-Directed = 201
  5-5.3 Context-Sensitive = 202
  5-5.4 Spelling = 203
 Chapter Exercises = 205
 Bibliography = 206
Chapter 6 Top-Down Parsing = 208
 6-1 General Top-Down Parsing Strategies = 208
  6-1.1 Brute-Force Approach = 209
   Exercises 6-1.1 = 219
  6-1.2 Recursive-Descent Parsers = 219
   Recursive-Descent Parsing Algorithm = 219
   Error Detection in Recursive-Descent Parsers = 224
   Exercises 6-1.2 = 228
  6-1.3 Notions of Top-Down Parsing with Limited Backup = 228
  6-1.4 Top-Down Parsing with Limited Backup = 229
   Exercises 6-1.4 = 234
 6.2 Top-Down Parsing with No Backup = 235
  6-2.1 Notions of Parsing with No Backup = 235
  6-2.2 Simple LL(1) Grammars = 236
   Exercises 6-2.2 = 241
  6-2.3 LL(1) Grammars without ε-Rules = 242
   Exercises 6-2.3 = 248
  6-2.4 LL(1) Grammars without ε-Rules = 249
   Exercises 6-2.4 = 258
  6-2.5 Error Handling for LL(1) Parsers = 260
   Exercises 6-2.5 = 272
  Chapter Exercises = 272
  Bibliography = 273
Chapter 7 Bottom-Up Parsing = 274
 7-1 Polish Expressions and Their Compilation = 275
  7-1.1 Polish Notation = 276
  7-1.2 Conversion of Infix Expressions to Polish Notation = 278
  7-1.3 Error Detection for Infix Expressions = 283
  Exercises 7-1 = 285
 7-2 Operator Precedence Grammars = 286
  7-2.1 Notions and Use of Operator Precedence Relations = 287
  7-2.2 Formal Definition of Operator Precedence Relations = 293
  7-2.3 Operator Precedence parsing algorithm = 294
  7-2.4 Precedence Functions in Operator Precedence Parsers = 298
  7-2.5 Error Detection in Operator Precedence Parsers = 300
  Exercises 7-2 = 301
 7-3 Simple Precedence Grammars = 302
  7-3.1 Notions and Use of Precedence Relations = 302
  7-3.2 Formal Definition of Precedence Relations = 306
  7-3.3 Parsing Algorithm for Simple Precedence Grammars = 309
  7-3.4 Precedence Functions for Simple Precedence Grammars = 311
  7-3.5 Error Recovery for Simple Precedence Parsers = 320
  7-3.6 Notions of Extended Precedence = 332
  Exercises 7-3 = 339
 7-4 LR Grammars = 341
  7-4.1 Concepts and Terminology = 341
   Exercises 7-4.1 = 346
  7-4.2 LR(0) Parsers = 346
   Exercises 7-4.2 = 352
  7-4.3 SLR(1) Parsers = 353
   Exercises 7-4.3 = 361
  7-4.4 Canonical LR(1) Parsers = 362
   Exercises 7-4.4 = 369
  7-4.5 LALR(1) Parsers = 370
   Exercises 7-4.5 = 375
  7-4.6 Efficient Generation of Lookahead Sets for LALR(1) Parsers = 375
   Exercises 7-4.6 = 383
  7-4.7 Representation and Optimization of LR Parsers = 383
   Sparse-Matrix Representations = 384
   Optimization Transformations = 386
  7-4.8 Error Detection and Recovery in LR Parsers = 389
   Early Methods of Error Recovery = 389
   Application of Graham-Rhodes Method to LR Parsers = 392
   Other LR Error-Recovery Methods = 410
 7.5 Comparison of Parsing methods = 410
 Bibliography = 415
Chapter 8 Symbol-Table-Handling Techniques = 418
 8-1 Perspective and Motivation = 418
 8-2 When to Construct and Interact with the Symbol Table = 419
 8-3 Symbol-Table Contents = 422
 8-4 Operations on Symbol Tables = 426
 8-5 Symbol-Table Organizations for Non-Block-Structured Languages = 428
  8-5.1 Unordered Symbol Tables = 428
  8-5.2 Ordered Symbol Tables = 429
  8-5.3 Tree-Structured Symbol Tables = 433
  8-5.4 Hash Symbol Tables = 450
 8-6 Symbol-Table Organizations for Block-Structured Languages = 464
  8-6.1 Block-Structured Language Concepts = 465
  8-6.2 Stack Symbol Tables = 467
  8-6.3 Stack-Implemented Tree-Structured Symbol Tables = 468
  8-6.4 Stack-Implemented Hash-Structured Symbol Tables = 471
 Chapter Exercises = 474
 Bibliography = 476
Chapter 9 Run-Time Storage Organization and Management = 477
 9-1 Static Storage Allocation = 477
  Exercises 9-1 = 480
 9-2 Dynamic Storage Allocation = 480
  9-2.1 Activation Records = 482
  9-2.2 Parameter Area = 483
  9-2.3 Display Area = 484
  9-2.4 Run-time Address Calculation = 487
  9-2.5 Handling Recursive Procedures = 488
  Exercises 9-2 = 491
 9-3 Heap Storage Allocation = 492
  9-3.1 Implicit Storage Requests = 493
  9-3.2 Explicit Storage Requests = 493
  9-3.3 Management of Fixed-length Blocks = 495
  9-3.4 Management of Variable-Length Blocks = 496
   First-Fit Heap Storage-Management Strategy = 497
   Boundary-Tag Heap Storage-Management Strategy = 501
   Buddy-System Heap Storage-Management Strategy = 506
  9-3.5 Free-as-You-Go Storage Release = 512
  9-3.6 Garbage Collection = 513
  9-3.7 Compaction = 517
  Exercises 9-3 = 519
 Bibliography = 520
Chapter 10 Intermediate Forms of Source Programs = 521
 10-1 Polish Notation = 522
 10-2 N-tuple Notation = 523
 10-3 Abstract Syntax Trees = 525
 10-4 Threaded Code = 527
 10-5 Abstract Machine Code = 531
  10-5.1 Portability and Abstract Machine = 531
  10-5.2 The P-Code Abstract Machine for PASCAL = 532
 Chapter Exercises = 534
 Bibliography = 535
Chapter 11 Semantic Analysis and Code Generation = 536
 11-1 What Is Mean by Semantic Analysis = 537
 11-2 Implicit Stacking in Recursive-Descent Compilation = 540
 11-3 Semantic Stacks in Bottom-Up Compilation = 548
 11-4 Action Symbols in Top-Down Compilation = 554
 11-5 Attributed Translation = 559
  11-5.1 Attributed Translation Grammar = 560
  11-5.2 L-Attributed Translation Grammar = 563
 11-6 Example Language Constructs = 568
  11-6.1 Declarations = 568
   Constant type = 570
   Variable Declarations = 571
   Procedure Declarations = 578
  11-6.2 Expressions = 579
  11-6.3 Assignment Statements = 591
  11-6.4 Control Statements = 592
   Case-Selection Statements = 593
   Repeat-While Statements = 595
   For Loop Statements = 596
  11-6.5 Procedure Calls and Returns = 598
   Procedure Calls = 598
   Return Statements and Procedure Termination = 603
  11-6.6 Input and Output Statements = 603
   Input Statements = 603
   Output Statements = 607
  11-6.7 Compiler Aids = 607
 Chapter Exercises = 609
 Bibliography = 609
Chapter 12 Code Optimization = 610
 12-1 Introduction = 610
 12-2 Basic Blocks = 611
 12-3 Folding = 612
 12-4 Redundant-Subexpression Elimination = 620
 12-5 Optimization within Iterative Loops = 631
  12-5.1 Loop Unrolling = 635
  12-5.2 Frequency Reduction = 637
  12-5.3 Strength Reduction = 646
  12-5.4 Combining Loop-Optimization Techniques = 651
 12-6 Global Optimization through Flowgraph Analysis = 655
  12-6.1 Flowgraph Construction = 655
  12-6.2 Flowgraph Analysis = 660
   Flowgraph-Analysis Problems = 661
   Flow-Analysis Algorithms = 667
  12-6.3 Applications to Program Optimization = 678
  12-6.4 Implementation and Further Considerations = 680
 Chapter Exercises = 681
 Bibliography = 683
Chapter 13 Machine-Dependent Optimization = 684
 13-1 Introduction to Machine-Dependent Optimization = 684
 13-2 Register-Allocation Optimization = 686
  13-2.1 Register Allocation in Single-Register Machines = 686
  13-2.2 Register Allocation in Multiregister Machines = 694
 13-3 Machine Architecture and the Generation of Real Code = 702
  13-3.1 The PDP-11 = 703
  13-3.2 The VAX-11 = 710
  13-3.3 The MC68000 = 716
 Chapter Exercises = 720
 Bibliography = 721
Chapter 14 Compiler-Compilers = 722
 14-1 Introduction to Compiler-Compilers = 723
 14-2 Examples of Parser Generators = 726
  14-2.1 YACC : A LALR(1) Parser Generator = 727
  14-2.2 An Attributed LL(1) Parser Generator = 735
 14-3 Machine-Independent Code Generation = 742
  14-3.1 The Production-Quality Compiler-Compiler system = 743
   Introduction = 743
   The Formalization of Instruction-Set Processors and TCOL = 745
   The Code-Generation Process : Its Phases and Organization = 749
  14-3.2 The Table-Driven Generator of Graham and Glanville = 755
   Introduction = 756
   The Target-Machine Description = 757
   The Code-Generation Process = 758
   Results and Extensions = 760
  14-3.3 Other Code-Generation Systems = 761
   Fraser's Knowledge-Based Code-Generator Generator = 761
   The Finite-State Approach of Donegan = 763
  Bibliography = 764
Appendix Algorithmic Notation = 767
 A-1 Format Conventions = 768
  A-1.1 Name of Algorithm = 768
  A-1.2 Introductory Comment = 768
  A-1.3 Steps = 768
  A-1.4 Comments = 768
 A-2 Statements and Control Structures = 768
  A-2.1 Assignment Statement = 769
  A-2.2 If Statement = 769
  A-2.3 Case Statement = 770
  A-2.4 Repeat Statement = 770
  A-2.5 Go To and Exitloop Statements = 772
  A-2.6 Exit Statement = 772
  A-2.7 Variable Names = 773
 A-3 Data Structures = 773
  A-3.1 Arrays = 773
  A-3.2 Dynamic Storage = 774
 A-4 Arithmetic Operations and Expressions = 774
 A-5 Strings and String Operations = 775
 A-6 Relations and Relational Operators = 775
 A-7 Logical Operations and Expressions = 776
 A-8 Input and Output = 776
 A-9 Subalgorithms = 777
  A-9.1 Functions = 777
  A-9.2 Procedures = 778
  A-9.3 Parameters = 778
Indexes = 781
 Name Index = 781
 Subject Index = 785


관련분야 신착자료

윤지선 (2026)
고려대학교. D-HUSS사업단 (2025)
한국일본학회 (2025)