Cargando…

Introduction to compiler construction in a Java world /

This book 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 standard compiler topics, including lexical an...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Campbell, Bill, 1950-
Otros Autores: Iyer, Swami, Akbal-Delibas, Bahar
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Boca Raton, FL : CRC Press, ©2013.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Compilation; Compilers; Why Should We Study Compilers?; How Does a Compiler Work? The Phases of Compilation; An Overview of the j
  • to JVM Compiler; The j
  • Compiler Source Tree; The Organization of This Book Lexical Analysis; Introduction; Scanning Tokens; Regular Expressions; Finite State Automata; Nondeterministic Finite-State Automata (NFA) vs. Deterministic Finite-State Automata (DFA); Regular Expressions to NFA; NFA to DFA; A Minimal DFA; JavaCC: A Tool for Generating Scanners Parsing; Introduction; Context-Free Grammars and Languages; Top-down Deterministic Parsing; Bottom-up Deterministic Parsing; Parser Generation Using JavaCC Type Checking; Introduction; The j
  • Types; j
  • Symbol Tables; Pre-Analysis of j
  • Programs; Analysis of j.
  • Programs; The Visitor Pattern and the AST Traversal Mechanism; Programming Language Design and Symbol Table Structure; Attribute Grammars JVM Code Generation; Introduction; Generating Code for Classes and Their Members; Generating Code for Control and Logical Expressions; Generating Code for Message Expressions,
  • Field Selection and Array Expressions; Generating Code for Assignment and Similar Operations; Generating Code for String Concatenation; Generating Code for Casts Translating JVM Code to MIPS Code; Introduction; SPIM and the MIPS Architecture; Our Translator Register Allocation; Introduction; Naïve Register Allocation; Local Register Allocation; Global Register Allocation Celebrity Compilers; Introduction; The Java HotSpot Compiler; The Eclipse Compiler for Java (ECJ); The GNU Java Compiler (GCJ); Microsoft C# Compiler for .NET Framework Appendix A: Setting Up and Running j
  • ; Appendix B: The j.
  • Language; Appendix C: Java Syntax; Appendix D: The JVM, Class Files and the CLEmitter; Appendix E: MIPS and the SPIM Simulator Bibliography Index Further Readings and Exercises appear at the end of each chapter.