Always Learning

Compiler Construction: An Introduction
Niklaus Wirth

ISBN-10: 0201403536
ISBN-13:  9780201403534

Publisher:  Addison-Wesley
Copyright:  1996
Format:  Paper; 192 pp
Published:  08/22/1996
Status: Out of Print


We're sorry, this product is no longer available.
Please contact your Pearson rep if you are using this product and need instructor resources.


Print this content

In this section:


Description

This book presents a concise, practical guide to modern techniques for compiler design and construction, providing only as much theory as is required to understand the techniques. Niklaus Wirth takes the reader step-by-step through each stage of compiler design and construction, using the simple but powerful method of recursive descent to create a compiler for Oberon-0, a subset of the author's Oberon language. The hands-on approach makes this book ideal for project-oriented introductory courses, and the accompanying disk provides full listings of the compiler developed in the book and associated tools.


Table of Contents

(All chapters, except chapters 1 and 9, contain Exercises.)
Preface.
1. Introduction.
2. Language and Syntax.
3. Regular Languages.
4. Analysis of Context-free Languages.

The Method of Recursive Descent.
Table-driven top-down parsing.
Bottom-up parsing.

5. Attributed Grammars and Semantics.
Type rules.
Evaluation rules.
Translation rules.

6. The Programming Language Oberon-0.
7. A Parser for Oberon-0
The Scanner.
The Parser.
Coping with Syntactic Errors.

8. Consideration of Context Specified by Declarations.
Declarations.
Entries for Data Types.
Data representation at Run Time.

9. ARISC-Architecture as Target.
10. Expressions and Assignments.
Straight Code Generation According to the Stack Principle.
Delayed Code Generation.
Indexed Variables and Record Fields.

11. Conditional and Repeated Statements, Boolean Expressions.
Comparisons and jumps.
Conditional and Repeated Statements.
Boolean operations.
Assignments to Boolean variables.

12. Procedures and the Concept of Locality.
Run-time Organization of the Store.
Addressing of Variables.
Parameters.
Procedure declarations and calls.
Standard Procedures.
Function Procedures.

13. Elementary Data Types.
The types REAL and LONGREAL.
Compatibility between Numeric Data Types.
The Data Type SET.

14. Open Arrays, Pointers and Procedure Types.
Open Arrays.
Dynamic Data Structures and Pointers.
Procedure Types.

15. Modules and Separate Compilation.
The principle of information hiding.
Separate compilation.
Implementation of symbol files.
Addressing External Objects.
Checking Configuration Consistency.

16. Code Optimisation and the Frontend/Backend Structure.
General Considerations.
Simple Optimizations.
Avoiding Repeated Evaluation.
Register Allocation.
The Frontend/Backend Compiler Structure.

Appendix A.
Oberon-0.
Oberon.
Symbol files.

Appendix B: The ASCII character set.
Appendix C: The Oberon-0 compiler.
The Scanner.
The Parser.
The code Generator.

References.
Index. 0201403536T04062001



Back to top

Print this content

In this section:


Author Bios

About Niklaus Wirth

Niklaus Wirth is a Professor at the Institute for Computersystems Eidgenossische Technische Hochschule (ETH) Zurich. He has received many awards including the 1984 Turing award from the ACM. He is the designer of Pascal and Modula and the author of many books on programming, algorithms, and data structures.



0201403536AB04062001


Backcover Copy

A refreshing antidote to heavy theoretical tomes, this book is a concise, practical guide to modern compiler design and construction by an acknowledged master. Readers are taken step-by-step through each stage of compiler design, using the simple yet powerful method of recursive descent to create a compiler for Oberon-0, a subset of the author's Oberon language.

A disk provided with the book gives full listings of the Oberon-0 compiler and associated tools.

The hands-on, pragmatic approach makes the book equally attractive for project-oriented courses in compiler design and for software engineers wishing to develop their skills in system software.



0201403536B04062001

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top