Издательство Charles River Media, 2002, -334 pp.
A compiler translates a high-level language program into a functionally equivalent low-level language program that can be understood and executed by the computer. Crucial to any computer system, effective compiler design is also one of the most complex areas of system development. Before any code for a mode compiler is even written, many programmers have difficulty with the high-level algorithms that will be necessary for the compiler to function. Written with this in mind, Algorithms for Compiler Design teaches the fundamental algorithms that underlie mode compilers. The book focuses on the front-end of compiler design: lexical analysis, parsing, and syntax. Blending theory with practical examples throughout, the book presents these difficult topics clearly and thoroughly. The final chapters on code generation and optimization complete a solid foundation for leaing the broader requirements of an entire compiler design.
Focuses on the front-end of compiler design—lexical analysis, parsing, and syntax—topics basic to any introduction to compiler design
Covers storage management, error handling, and recovery
Introduces important back-end programming concepts, including code generation and optimization
This book on algorithms for compiler design covers the various aspects of designing a language translator in depth. The book is intended to be a basic reading material in compiler design.
Enough examples and algorithms have been used to effectively explain various tools of compiler design. The first chapter gives a brief introduction of the compiler and is thus important for the rest of the book.
Other issues like context free grammar, parsing techniques, syntax directed definitions, symbol table, code optimization and more are explain in various chapters of the book.
The final chapter has some exercises for the readers for practice
Introduction
Finite Automata and Regular Expressions
Context-Free Grammar and Syntax Analysis
Top-Down Parsing
Bottom-up Parsing
Syntax-Directed Definitions and Translations
Symbol Table Management
Storage Management
Error Handling
Code Optimization
Code Generation
Exercises
A compiler translates a high-level language program into a functionally equivalent low-level language program that can be understood and executed by the computer. Crucial to any computer system, effective compiler design is also one of the most complex areas of system development. Before any code for a mode compiler is even written, many programmers have difficulty with the high-level algorithms that will be necessary for the compiler to function. Written with this in mind, Algorithms for Compiler Design teaches the fundamental algorithms that underlie mode compilers. The book focuses on the front-end of compiler design: lexical analysis, parsing, and syntax. Blending theory with practical examples throughout, the book presents these difficult topics clearly and thoroughly. The final chapters on code generation and optimization complete a solid foundation for leaing the broader requirements of an entire compiler design.
Focuses on the front-end of compiler design—lexical analysis, parsing, and syntax—topics basic to any introduction to compiler design
Covers storage management, error handling, and recovery
Introduces important back-end programming concepts, including code generation and optimization
This book on algorithms for compiler design covers the various aspects of designing a language translator in depth. The book is intended to be a basic reading material in compiler design.
Enough examples and algorithms have been used to effectively explain various tools of compiler design. The first chapter gives a brief introduction of the compiler and is thus important for the rest of the book.
Other issues like context free grammar, parsing techniques, syntax directed definitions, symbol table, code optimization and more are explain in various chapters of the book.
The final chapter has some exercises for the readers for practice
Introduction
Finite Automata and Regular Expressions
Context-Free Grammar and Syntax Analysis
Top-Down Parsing
Bottom-up Parsing
Syntax-Directed Definitions and Translations
Symbol Table Management
Storage Management
Error Handling
Code Optimization
Code Generation
Exercises