skip to content
Introduction to compiler construction in a Java world Preview this item
ClosePreview this item
Checking...

Introduction to compiler construction in a Java world

Author: Bill Campbell; Swami Iyer; Bahar Akbal-Delibas
Publisher: Boca Raton : Chapman & Hall, 2013
Edition/Format:   Print book : EnglishView all editions and formats
Database:WorldCat
Summary:
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  Read more...
Rating:

(not yet rated) 0 with reviews - Be the first.

 

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Document Type: Book
All Authors / Contributors: Bill Campbell; Swami Iyer; Bahar Akbal-Delibas
ISBN: 9781439860885 1439860882
OCLC Number: 900241471
Description: xxv, 355 s.
Contents: 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 Naive 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.
Responsibility: Bill Campbell, Swami Iyer, Bahar Akbal-Delibas

Abstract:

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--/

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/900241471> # Introduction to compiler construction in a Java world
    a schema:CreativeWork, schema:Book ;
   library:oclcnum "900241471" ;
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/flu> ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/1207326369#Place/boca_raton> ; # Boca Raton
   schema:bookFormat bgn:PrintBook ;
   schema:contributor <http://experiment.worldcat.org/entity/work/data/1207326369#Person/campbell_bill> ; # Bill Campbell
   schema:contributor <http://experiment.worldcat.org/entity/work/data/1207326369#Person/iyer_swami> ; # Swami Iyer
   schema:contributor <http://experiment.worldcat.org/entity/work/data/1207326369#Person/akbal_delibas_bahar> ; # Bahar Akbal-Delibas
   schema:datePublished "2013" ;
   schema:description "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 Naive 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." ;
   schema:description "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--/" ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/1207326369> ;
   schema:inLanguage "en" ;
   schema:name "Introduction to compiler construction in a Java world" ;
   schema:productID "900241471" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/900241471#PublicationEvent/boca_raton_chapman_&_hall_2013> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/1207326369#Agent/chapman_&_hall> ; # Chapman & Hall
   schema:workExample <http://worldcat.org/isbn/9781439860885> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/900241471> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/1207326369#Person/akbal_delibas_bahar> # Bahar Akbal-Delibas
    a schema:Person ;
   schema:familyName "Akbal-Delibas" ;
   schema:givenName "Bahar" ;
   schema:name "Bahar Akbal-Delibas" ;
    .

<http://experiment.worldcat.org/entity/work/data/1207326369#Person/campbell_bill> # Bill Campbell
    a schema:Person ;
   schema:familyName "Campbell" ;
   schema:givenName "Bill" ;
   schema:name "Bill Campbell" ;
    .

<http://worldcat.org/isbn/9781439860885>
    a schema:ProductModel ;
   schema:isbn "1439860882" ;
   schema:isbn "9781439860885" ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.