An edition of Principles of compiler design (1977)

Principles of Compiler Design

  • 19 Want to read
  • 4 Currently reading
  • 1 Have read

My Reading Lists:

Create a new list


  • 19 Want to read
  • 4 Currently reading
  • 1 Have read

Buy this book

Last edited by Drini
September 3, 2024 | History
An edition of Principles of compiler design (1977)

Principles of Compiler Design

  • 19 Want to read
  • 4 Currently reading
  • 1 Have read

This edition doesn't have a description yet. Can you add one?

Publish Date
Pages
612

Buy this book

Previews available in: English

Edition Availability
Cover of: Principles of Compiler Design
Principles of Compiler Design
2002, Narosa Publishing House
Paperback
Cover of: Principles of compiler design
Principles of compiler design
1977, Addison-Wesley Pub. Co.
in English
Cover of: Principles of compiler design
Principles of compiler design
1977, Addison-Wesley Publishing
in English
Cover of: Principles of compiler design
Principles of compiler design
1977, Addison-Wesley
in English

Add another edition?

Book Details


Table of Contents

Chapter 1. Introduction to Compilers
1.1. Compilers and Translators
Page 1
1.2. Why Do We Need Translators?
Page 3
1.3. The Structure of a Compiler
Page 5
1.4. Lexical Analysis
Page 10
1.5. Syntax Analysis
Page 12
1.6. Intermediate Code Generation
Page 13
1.7. Optimization
Page 17
1.8. Code Generation
Page 19
1.9. Bookkeeping
Page 20
1.10. Error Handling
Page 21
1.11. Compiler-Writing Tools
Page 21
1.12. Getting Started
Page 23
Chapter 2. Programming Languages
2.1. High-Level Programming Languages
Page 26
2.2. Definitions of Programming Languages
Page 28
2.3. The Lexical and Syntactic Structure of a Language
Page 32
2.4. Data Elements
Page 34
2.5. Data Structures
Page 38
2.6. Operators
Page 45
2.7. Assignment
Page 50
2.8. Statements
Page 53
2.9. Program Units
Page 55
2.10. Data Environments
Page 57
2.11. Parameter Transmission
Page 59
2.12. Storage Management
Page 63
Chapter 3. Finite Automata and Lexical Analysis
3.1. The Role of the Lexical Analyzer
Page 74
3.2. A Simple Approach to the Design of Lexical Analyzers
Page 76
3.3. Regular Expressions
Page 82
3.4. Finite Automata
Page 88
3.5. From Regular Expressions to Finite Automata
Page 95
3.6. Minimizing the Number of States of a DFA
Page 99
3.7. A Language for Specifying Lexical Analyzers
Page 103
3.8. Implementation of a Lexical Analyzer
Page 109
3.9. The Scanner Generator as Swiss Army Knife
Page 118
Chapter 4. The Syntactic Specification of Programming Languages
4.1. Context-free Grammars
Page 126
4.2. Derivations and Parse Trees
Page 129
4.3. Capabilities of Context-free Grammars
Page 136
Chapter 5. Basic Parsing Techniques
5.1. Parsers
Page 146
5.2. Shift-reduce Parsing
Page 150
5.3. Operator-precedence Parsing
Page 158
5.4. Top-down Parsing
Page 174
5.5. Predictive Parsers
Page 184
Chapter 6. Automatic Construction of Efficient Parsers
6.1. LR Parsers
Page 198
6.2. The Canonical Collection of LR (0) Items
Page 204
6.3. Constructing SLR Parsing Tables
Page 211
6.4. Constructing Canonical LR Parsing Tables
Page 214
6.5. Constructing LALR Parsing Tables
Page 219
6.6. Using Ambiguous Grammars
Page 225
6.7. An Automatic Parser Generator
Page 229
6.8. Implementation of LR Parsing Tables
Page 233
6.9. Constructing LALR Sets of Items
Page 236
Chapter 7. Syntax-Directed Translation
7.1. Syntax-directed Translation Schemes
Page 246
7.2. Implementation of Syntax-directed Translators
Page 249
7.3. Intermediate Code
Page 254
7.4. Postfix Notation
Page 254
7.5. Parse Trees and Syntax Trees
Page 258
7.6. Three-address Code, Quadruples, and Triples
Page 259
7.7. Translation of Assignment Statements
Page 265
7.8. Boolean Expressions
Page 271
7.9. Statements that Alter the Flow of Control
Page 281
7.10. Postfix Translations
Page 286
7.11. Translation with a Top-down Parser
Page 290
Chapter 8. More About Translation
8.1. Array References in Arithmetic Expressions
Page 296
8.2. Procedure Calls
Page 303
8.3. Declarations
Page 307
8.4. Case Statements
Page 308
8.5. Record Structures
Page 312
8.6. PL/I-style Structures
Page 317
Chapter 9. Symbol Tables
9.1. The Contents of a Symbol Table
Page 328
9.2. Data Structures for Symbol Tables
Page 336
9.3. Representing Scope Information
Page 340
Chapter 10. Run-time Storage Administration
10.1. Implementation of a Simple Stack Allocation Scheme
Page 351
10.2. Implementation of Block-structured Languages
Page 356
10.3. Storage Allocation in FORTRAN
Page 364
10.4. Storage Allocation in Block-structured Languages
Page 377
Chapter 11. Error Detection and Recovery
11.1. Errors
Page 382
11.2. Lexical-phase Errors
Page 388
11.3. Syntactic-phase Errors
Page 391
11.4. Semantic Errors
Page 402
Chapter 12. Introduction to Code Optimization
12.1. The Principal Sources of Optimization
Page 408
12.2. Loop Optimization
Page 410
12.3. The DAG Representation of Basic Blocks
Page 418
12.4. Value Numbers and Algebraic Laws
Page 427
12.5. Global Data-flow Analysis
Page 429
Chapter 13. More About Loop Optimization
13.1. Dominators
Page 442
13.2. Reducible Flow Graphs
Page 447
13.3. Depth-first Search
Page 449
13.4. Loop-invariant Computations
Page 454
13.5. Induction Variable Elimination
Page 466
13.6. Some Other Loop Optimizations
Page 471
Chapter 14. More About Data-flow Analysis
14.1. Reaching Definitions Again
Page 478
14.2. Available Expressions
Page 482
14.3. Copy Propagation
Page 487
14.4. Backward Flow Problems
Page 489
14.5. Very Busy Expressions and Code Hoisting
Page 491
14.6. The Four Kinds of Data-flow Analysis Problems
Page 497
14.7. Handling Pointers
Page 499
14.8. Interprocedural Data-flow Analysis
Page 504
14.9. Putting It All Together
Page 511
Chapter 15. Code Generation
15.1. Object Programs
Page 518
15.2. Problems in Code Generation
Page 521
15.3. A Machine Model
Page 520
15.4. A Simple Code Generator
Page 525
15.5. Register Allocation and Assignment
Page 533
15.6. Code Generation from DAG's
Page 537
15.7. Peephole Optimization
Page 548
Appendix A. A Look at Some Compilers
A.1. The C Compilers
Page 557
A.2. The FORTRAN H Compiler
Page 559
A.3. The BLISS/11 Compiler
Page 561
Appendix B. A Compiler Project
B.1. Introduction
Page 563
B.2. A PASCAL Subset
Page 563
B.3. Program Structure
Page 566
B.4. Lexical Conventions
Page 566
B.5. Suggested Exercises
Page 567
B.6. Some Extensions
Page 569
Bibliography
Page 570
Suggested Exercises
Page 591
Index
Page 601

Classifications

Library of Congress
QA76.6 .A365x 1999

The Physical Object

Format
Paperback
Number of pages
612

Edition Identifiers

Open Library
OL9082601M
Internet Archive
principlesofcomp0000ahoa_x2t2
ISBN 10
8185015619
ISBN 13
9788185015613
LibraryThing
195738

Work Identifiers

Work ID
OL9922572W

Community Reviews (0)

No community reviews have been submitted for this work.

Lists

History

Download catalog record: RDF / JSON / OPDS | Wikipedia citation
September 3, 2024 Edited by Drini Add TOC from Tocky
September 3, 2024 Edited by Drini Add TOC from Tocky
December 20, 2023 Edited by ImportBot import existing book
December 30, 2022 Edited by OnFrATa Merge works (MRID: 39967)
October 30, 2022 Edited by ImportBot import existing book