Introduction to Compiler Construction in a Java World
Auteurs : Campbell Bill, Iyer Swami, Akbal-Delibas Bahar
Immersing students in Java and the Java Virtual Machine (JVM), Introduction to Compiler Construction in a Java World enables a deep understanding of the Java programming language and its implementation. The text focuses on design, organization, and testing, helping students learn good software engineering skills and become better programmers.
The book covers all of the standard compiler topics, including lexical analysis, parsing, abstract syntax trees, semantic analysis, code generation, and register allocation. The authors also demonstrate how JVM code can be translated to a register machine, specifically the MIPS architecture. In addition, they discuss recent strategies, such as just-in-time compiling and hotspot compiling, and present an overview of leading commercial compilers. Each chapter includes a mix of written exercises and programming projects.
By working with and extending a real, functional compiler, students develop a hands-on appreciation of how compilers work, how to write compilers, and how the Java language behaves. They also get invaluable practice working with a non-trivial Java program of more than 30,000 lines of code. Fully documented Java code for the compiler is accessible at http://www.cs.umb.edu/j--/
Compilation. Lexical Analysis. Parsing. Type Checking. JVM Code Generation. Translating JVM Code to MIPS Code. Register Allocation. Celebrity Compilers. Appendices. Bibliography. Index.
Bill Campbell is an associate professor in the Department of Computer Science at the University of Massachusetts, Boston. Dr. Campbell has been teaching compilers for more than twenty years and has commercial experience working with AT&T, Intermetrics Inc., Apple Computer, and Entitlenet. His areas of expertise include software engineering, object-oriented analysis, design and programming, and programming language implementation.
Swami Iyer is a PhD candidate in the Department of Computer Science at the University of Massachusetts, Boston, where he has taught classes on introductory programming and data structures. His research interests are in the fields of dynamical systems, complex networks, and evolutionary game theory.
Bahar Akbal-Delibas is a PhD student in the Department of Computer Science at the University of Massachusetts, Boston, where she is the teaching assistant for the compilers course. Her research interests include structural bioinformatics and software modeling.
Date de parution : 11-2012
Ouvrage de 400 p.
17.8x25.4 cm
Thèmes d’Introduction to Compiler Construction in a Java World :
Mots-clés :
Java World; Common Sub-expression Elimination; Java programming language and implementation; Register Allocation; Compiler Construction with Java; Stack Frame; software engineering principles; Control Flow Graph; JVM-to-MIPS code translator; Java Language Specification; Java Virtual Machine; Virtual Registers; compilers from Oracle; IBM; and Microsoft; Context Free Grammar; JVM code translated to a register machine; Symbol Table; just-in-time compiling; AST; hotspot compiling; Net Framework; code generation; Method Java; lexical analysis; Deterministic Finite State Automaton; abstract syntax trees; State Transition Diagram; Interference Graph; semantic analysis; Recursive Descent Parsers; become a better programmer; Attribute Grammars; JIT Compiler; Public Static Void; Phi Functions; Net Language; Physical Registers; Regular Expression; Left-most Derivation; Static Single Assignment