Advertisement

C2 Compiler Concepts

  • Bernd Teufel
  • Stephanie Schmidt
  • Thomas Teufel

Table of contents

  1. Front Matter
    Pages i-xi
  2. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 1-8
  3. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 9-31
  4. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 32-56
  5. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 57-99
  6. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 100-117
  7. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 118-129
  8. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 130-152
  9. Bernd Teufel, Stephanie Schmidt, Thomas Teufel
    Pages 153-158
  10. Back Matter
    Pages 159-176

About this book

Introduction

Writing a compiler is a very good practice for learning how complex problems could be solved using methods from software engineering. It is extremely important to program rather carefully and exactly, because we have to remember that a compiler is a program which has to handle an input that is usually incorrect. Therefore, the compiler itself must be error-free. Referring to Niklaus Wirth, we postulate that the grammatical structure of a language must be reflected in the structure of the compiler. Thus, the complexity of a language determines the complexity of the compiler (cf. Compilerbau. B. G. Teubner Verlag, Stuttgart, 1986). This book is about the translation of programs written in a high level programming language into machine code. It deals with all the major aspects of compilation systems (including a lot of examples and exercises), and was outlined for a one session course on compilers. The book can be used both as a teacher's reference and as a student's text book. In contrast to some other books on that topic, this text is rather concentrated to the point. However, it treats all aspects which are necessary to understand how compilation systems will work. Chapter One gives an introductory survey of compilers. Different types of compilation systems are explained, a general compiler environment is shown, and the principle phases of a compiler are introduced in an informal way to sensitize the reader for the topic of compilers.

Keywords

code generation compiler development grammars language optimization programming programming language

Authors and affiliations

  • Bernd Teufel
    • 1
  • Stephanie Schmidt
    • 2
  • Thomas Teufel
    • 3
  1. 1.ART Informationssysteme GmbHÜberlingenDeutschland
  2. 2.Institut für InformatikUniversität ZürichSwitzerland
  3. 3.Arbeitsbereich Technische Informatik IIITechnische UniversitätHarburgDeutschland

Bibliographic information