Essentials of Compilation: An Incremental Approach in Racket
A hands-on approach to understanding and building compilers.

Compilers are notoriously some of the most difficult programs to teach and understand. Most books about compilers dedicate one chapter to each progressive stage, a structure that hides how language features motivate design choices. By contrast, this innovative textbook provides an incremental approach that allows students to write every single line of code themselves. Essentials of Compilation guides the reader in constructing their own compiler for a small but powerful programming language, adding complex language features as the book progresses. Jeremy Siek explains the essential concepts, algorithms, and data structures that underlie modern compilers and lays the groundwork for future study of advanced topics. Already in wide use by students and professionals alike, this rigorous but accessible book invites readers to learn by doing. 

  • Deconstructs the challenge of compiler construction into bite-sized pieces
  • Enhances learning by connecting language features to compiler design choices
  • Develops understanding of how programs are mapped onto computer hardware
  • Learn-by-doing approach suitable for students and professionals
  • Proven in the classroom
  • Extensive ancillary resources include source code and solutions
1141501944
Essentials of Compilation: An Incremental Approach in Racket
A hands-on approach to understanding and building compilers.

Compilers are notoriously some of the most difficult programs to teach and understand. Most books about compilers dedicate one chapter to each progressive stage, a structure that hides how language features motivate design choices. By contrast, this innovative textbook provides an incremental approach that allows students to write every single line of code themselves. Essentials of Compilation guides the reader in constructing their own compiler for a small but powerful programming language, adding complex language features as the book progresses. Jeremy Siek explains the essential concepts, algorithms, and data structures that underlie modern compilers and lays the groundwork for future study of advanced topics. Already in wide use by students and professionals alike, this rigorous but accessible book invites readers to learn by doing. 

  • Deconstructs the challenge of compiler construction into bite-sized pieces
  • Enhances learning by connecting language features to compiler design choices
  • Develops understanding of how programs are mapped onto computer hardware
  • Learn-by-doing approach suitable for students and professionals
  • Proven in the classroom
  • Extensive ancillary resources include source code and solutions
30.99 In Stock
Essentials of Compilation: An Incremental Approach in Racket

Essentials of Compilation: An Incremental Approach in Racket

by Jeremy G. Siek
Essentials of Compilation: An Incremental Approach in Racket

Essentials of Compilation: An Incremental Approach in Racket

by Jeremy G. Siek

eBook

$30.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

A hands-on approach to understanding and building compilers.

Compilers are notoriously some of the most difficult programs to teach and understand. Most books about compilers dedicate one chapter to each progressive stage, a structure that hides how language features motivate design choices. By contrast, this innovative textbook provides an incremental approach that allows students to write every single line of code themselves. Essentials of Compilation guides the reader in constructing their own compiler for a small but powerful programming language, adding complex language features as the book progresses. Jeremy Siek explains the essential concepts, algorithms, and data structures that underlie modern compilers and lays the groundwork for future study of advanced topics. Already in wide use by students and professionals alike, this rigorous but accessible book invites readers to learn by doing. 

  • Deconstructs the challenge of compiler construction into bite-sized pieces
  • Enhances learning by connecting language features to compiler design choices
  • Develops understanding of how programs are mapped onto computer hardware
  • Learn-by-doing approach suitable for students and professionals
  • Proven in the classroom
  • Extensive ancillary resources include source code and solutions

Product Details

ISBN-13: 9780262373272
Publisher: MIT Press
Publication date: 02/21/2023
Sold by: Penguin Random House Publisher Services
Format: eBook
Pages: 240
File size: 18 MB
Note: This product may take a few minutes to download.

About the Author

Jeremy G. Siek is professor of computer science at Indiana University and author of The Boost Graph Library. He invented gradual typing, a type system that integrates both dynamic and static typing in the same programming language.

Table of Contents

Preface xi
1 Preliminaries 1
2 Integers and Variables 13
3 Register Allocation 35
4 Booleans and Conditionals 57
5 Loops and Dataflow Analysis 83
6 Tuples and Garbage Collection 97
7 Functions 127
8 Lexically Scoped Functions 145
9 Dynamic Typing 161
10 Gradual Typing 179
11 Generics 199
A Appendix 211
References 215
Index 223
From the B&N Reads Blog

Customer Reviews