LEADER 00000cam a2200697 a 4500 001 874011890 003 OCoLC 005 20240129213017.0 006 m o d 007 cr unu|||||||| 008 140320s2013 flua ob 000 0 eng d 019 990193497|a1129374704|a1156376081|a1192328356 020 1439860882 020 9781439860885 020 9781482215076 020 1482215071 029 1 AU@|b000062535106 029 1 AU@|b000065154973 029 1 AU@|b000066752914 029 1 DEBBG|bBV042031959 029 1 DEBSZ|b414174208 029 1 GBVCP|b796786054 035 (OCoLC)874011890|z(OCoLC)990193497|z(OCoLC)1129374704 |z(OCoLC)1156376081|z(OCoLC)1192328356 037 CL0500000404|bSafari Books Online 040 UMI|beng|epn|cUMI|dCOO|dDEBBG|dDEBSZ|dOCLCQ|dOCLCF|dOCLCQ |dCRCPR|dNLE|dN$T|dCEF|dOCLCQ|dINT|dOCLCQ|dVT2|dK6U|dOCLCO |dELBRO|dOCLCO|dOCLCQ|dSFB|dINARC|dOCLCQ|dOCLCO|dOCLCL 049 INap 082 04 005.4/53 082 04 005.4/53|223 099 eBook O'Reilly for Public Libraries 100 1 Campbell, Bill,|d1950-|1https://id.oclc.org/worldcat/ entity/E39PCjG8qwKtvX8KbBYKDhT8Yd 245 10 Introduction to compiler construction in a Java world / |cBill Campbell, Swami Iyer, Bahar Akbal-Delibaș. |h[O'Reilly electronic resource] 260 Boca Raton, FL :|bCRC Press,|c©2013. 300 1 online resource (xxv, 349 pages) :|billustrations 336 text|btxt|2rdacontent 337 computer|bc|2rdamedia 338 online resource|bcr|2rdacarrier 504 Includes bibliographical references (pages 345-349). 505 0 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. 505 0 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, 505 0 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. 505 0 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. 520 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 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, along with presenting an overview of leading commercial compilers. Each chapter includes a mix of written exercises and programming projects. 588 0 Print version record. 590 O'Reilly|bO'Reilly Online Learning: Academic/Public Library Edition 650 0 Compilers (Computer programs) 650 0 Java (Computer program language) 650 6 Compilateurs (Logiciels) 650 6 Java (Langage de programmation) 650 7 Compilers (Computer programs)|2fast 650 7 Java (Computer program language)|2fast 700 1 Iyer, Swami. 700 1 Akbal-Delibas, Bahar. 776 08 |iPrint version:|aCampbell, Bill, 1950-|tIntroduction to compiler construction in a Java world.|dBoca Raton, FL : CRC Press, ©2013|z9781439860885|w(DLC) 2012030751 |w(OCoLC)663951782 856 40 |uhttps://ezproxy.naperville-lib.org/login?url=https:// learning.oreilly.com/library/view/~/9781482215076/?ar |zAvailable on O'Reilly for Public Libraries 938 Internet Archive|bINAR|nintroductiontoco00unse 938 CRC Press|bCRCP|n9781482215076 938 EBSCOhost|bEBSC|n1763433 938 eLibro|bELBO|nELB141860 994 92|bJFN