David Watt, Deryck Brown9780130257864, 0-130-25786-9
David A Watt and Deryck F BrownProgramming Language Processors in JavaCompilers and InterpretersThis book provides a gently paced introduction to techniques for implementing programming languages by means of compilers and interpreters, using the object-oriented programming language Java. The book aims to exemplify good software engineering principles at the same time as explaining the specific techniques needed to build compilers and interpreters.Features* The book shows clearly how a simple compiler can be decomposed into a syntactic analyzer, a contextual analyzer, and a code generator, communicating via an abstract syntax tree.* The book is accompanied by a complete working compiler and interpreter, provided via the Internet, and free of charge for educational use.* The book contains numerous exercises, together with sample answers to selected exercises. It also contains a number of suggested projects, involving extensions to the accompanying compiler.* All examples in the book are expressed in Java, and the compiler and interpreter are structured using object-oriented design patterns.David Watt teaches algorithms and data structures, programming languages, and software design. Deryck Brown teaches compilers, object-oriented programming, operating systems, and software engineering. |
Table of contents : Cover……Page 1 Contents……Page 3 Preface……Page 9 1. Introduction……Page 15 2. Language Processors……Page 40 3. Compilation……Page 69 4. Syntactic Analysis……Page 87 5. Contextual Analysis……Page 150 6. Run-Time Organization……Page 187 7. Code Generation……Page 264 8. Interpretation……Page 319 9. Conclusion……Page 348 A. Answers to Selected Excercises……Page 373 B. Informal Specification of the Programming Language “Triangle”……Page 400 C. Description of the Abstract Machine “TAM”……Page 416 D. Class Diagrams for the Triangle Compiler……Page 426 |
Reviews
There are no reviews yet.