Essentials of Compilation

2 min read Original article ↗

An Incremental Approach in Racket

Hardcover

$50.00

Hardcover

ISBN: 9780262047760

Pub date: February 21, 2023

Publisher: The MIT Press

240 pp., 7 x 10 in, 144 b&w illus.

eBook

eBook

ISBN: 9780262373272

Pub date: February 21, 2023

Publisher: The MIT Press

240 pp., 7 x 10 in, 144 b&w illus.

eTextbook rental

4 Months: $25.00

eTextbook

ISBN: 9780262047760

Pub date: February 21, 2023

Publisher: The MIT Press

240 pp., 7 x 10 in, 144 b&w illus.

eTextbook

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

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.

This brilliant and accessible book is a must-read for aspiring compiler writers. ~Lindsey Kuper, Assistant Professor, University of California, Santa Cruz
Siek’s definitive hands-on guide will let you master the concepts of code generation by stepwise transformation down to x86 assembly code. ~Peter Thiemann, Professor of Computer Science, University of Freiburg
This book is unique in demystifying compilation from the very beginning. ~Bor-Yuh Evan Chang, Associate Professor of Computer Science, University of Colorado Boulder
For Instructors

Password-protected supplements for educators include: Slides and solutions

Request Access