Skip to main content
CourseFlix

Writing An Interpreter In Go

0h 0m 0s
English
Paid

In this book we will create a programming language together. We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language. Step by step. From tokens to output. All code shown and included. Fully tested.

Buy this book to learn:

  • How to build an interpreter for a C-like programming language from scratch
  • What a lexer, a parser and an Abstract Syntax Tree (AST) are and how to build your own
  • What closures are and how and why they work
  • What the Pratt parsing technique and a recursive descent parser is
  • What others talk about when they talk about built-in data structures
  • What REPL stands for and how to build one

Why this book?

This is the book I wanted to have a year ago. This is the book I couldn't find. I wrote this book for you and me.

So why should you buy it? What's different about it, compared to other interpreter or compiler literature?

  • Working code is the focus. Code is not just found in the appendix. Code is the main focus of this book.
  • It's small! It has around 250 pages of which a great deal is readable, syntax-highlighted, working code.
  • The code presented in the book is easy to understand, easy to extend, easy to maintain.
  • No 3rd party libraries! You're not left wondering: "But how does tool X do that?" We won't use a tool X. We only use the Go standard library and write everything ourselves.
  • Tests! The interpreter we build in the book is fully tested! Sometimes in TDD style, sometimes with the tests written after. You can easily run the tests to experiment with the interpreter and make changes.

This book is for you if you…

  • learn by building and love to look under the hood
  • love programming and to program for the sake of learning and joy!
  • are interested in how your favorite, interpreted programming language works
  • never took a compiler course in college
  • want to get started with interpreters or compilers…
  • … but don't want to work through a theory-heavy, 800 pages, 4 pounds compiler book as a beginner
  • kept screaming "show me the code!" when reading about interpreters and compilers
  • always wanted to say: "Holy shit, I built a programming language!"

About the Author: Thorsten Ball

Thorsten Ball thumbnail
Hi, my name is Thorsten Ball. I'm a programmer living in Germany. My whole professional life as a software developer I've been working with web technologies and have deployed Ruby, JavaScript, Go and even C code to production systems.

Books

Read Book Writing An Interpreter In Go

#TitleTypeOpen
1Writing An Interpreter In Go 1.7

Related courses

  • Redis Internals thumbnail

    Redis Internals

    Sources: Arpit Bhayani
    This is a self-paced course in which you will study the internal workings of Redis by re-implementing its key features in Golang. Together we will...
    9 hours 6 minutes 41 seconds 5 / 5
  • Complete Microservices with Go thumbnail

    Complete Microservices with Go

    Sources: udemy
    Create a microservices system from scratch using Go, Docker, and Kubernetes. Gain fundamental knowledge and readiness for real-world projects.
    18 hours 31 minutes 16 seconds
  • Building Levenue thumbnail

    Building Levenue

    Sources: Anthony GG
    Live screen recordings and explanations on how we are step by step building the infrastructure of my million-dollar company - levenue.com.
    6 hours 55 minutes 58 seconds 0 / 5
  • Learn How To Code: Google's Go (golang) Programming Language thumbnail

    Learn How To Code: Google's Go (golang) Programming Language

    Sources: udemy
    This course is the ultimate comprehensive resource for learning the Go Programming Language. This course is perfect for both beginners and experienced developer
    45 hours 27 minutes 58 seconds
  • Learn to Create Web Applications using Go thumbnail

    Learn to Create Web Applications using Go

    Sources: usegolang.com
    Why can't anyone point me to a concrete example of how to hash and store user passwords? Or how to build the rest of an authentication system? Why is it so frustrating simply…
    43 hours 35 minutes 37 seconds
  • Master Go thumbnail

    Master Go

    Sources: appliedgo.com (Christoph Berger)
    A few years ago, I discovered Go and immediately fell in love with this language. I loved how the incredibly clean design of the language, as well as the awesome toolchain…
    6 hours 32 minutes 20 seconds