Writing a Compiler in Go

Overview:
Thorsten Ball’s sequel, Writing a Compiler in Go, builds directly on the foundation of Writing an Interpreter in Go. This time, you’ll extend the Monkey language into a compiled language, learning how compilers and virtual machines work under the hood.
The book walks you step by step through building a bytecode compiler and a virtual machine, introducing essential compiler design concepts in a practical way.
Key Takeaways:
- Implement a bytecode compiler for the Monkey language in Go
- Build a working virtual machine to execute compiled programs
- Learn about instruction sets, stack machines, and symbol tables
- Understand optimization opportunities and how modern compilers work at a high level
Together with Writing an Interpreter in Go, this book provides a complete journey from parsing source code to executing compiled programs — a must-read for anyone curious about programming languages, compilers, or systems programming.