C2 Compiler Concepts
Book information
Description
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. Front Matter....Pages i-xi General Remarks on Compiler Theory....Pages 1-8 Formal Aspects....Pages 9-31 Lexical Analysis and Symbol Tables....Pages 32-56 Syntax Analysis and Parser Construction....Pages 57-99 Semantic and Type Analysis....Pages 100-117 How to Handle Errors....Pages 118-129 Code Generation and Optimization....Pages 130-152 Impacts of Modern Hardware Developments....Pages 153-158 Back Matter....Pages 159-176
Similar books
C2 Compiler Concepts
1993 · PDF
ECOOP 2006 – Object-Oriented Programming: 20th European Conference, Nantes, France, July 3-7, 2006. Proceedings
2006 · PDF
Creating Google Chrome Extensions
2016 · PDF
Central European Functional Programming School: 5th Summer School, CEFP 2013, Cluj-Napoca, Romania, July 8-20, 2013, Revised Selected Papers
2015 · PDF
ECOOP 2014 – Object-Oriented Programming: 28th European Conference, Uppsala, Sweden, July 28 – August 1, 2014. Proceedings
2014 · PDF
Principles and Practice of Constraint Programming - CP 2009: 15th International Conference, CP 2009 Lisbon, Portugal, September 20-24, 2009 Proceedings
2009 · PDF
Konzepte objektorientierter Programmierung: Mit einer Einführung in Java
2009 · PDF
Object-Oriented Technology. ECOOP 2007 Workshop Reader: ECOOP 2007 Workshops, Berlin, Germany, July 30-31, 2007, Final Reports
2008 · PDF