Skip to content

An attempt to work through Ronald Mak's book, "Writing Compilers and Interpreters", using Go

License

Notifications You must be signed in to change notification settings

object88/writing-compilers-and-interpreters

Repository files navigation

Writing Compilers And Interpreters

This project is an attempt to work through Ronald Mak's book, "Writing Compilers and Interpreters" (3rd ed., 2009), using the Go programming language.

Like the book's original content, this project is designed to compile and interpret the Pascal programming language. Or, more pointedly, to learn the mechanics behind compiling and interpreting a programming language.

Certain changes have been made, which should not have any impact on the content of the work. In particular, Steve Francia's cobra package is used to handle command line parsing.

Other changes are natural occurances due to the differences between Go and Java.

  • Go has no exceptions, while Java depends on them extensively. The Go code in this project depends heavily on returned error instances, which changes the signature of functions. We have to be mindful of how this effects the logical flow of the functions themselves.
  • Implementations of Message know how to format themselves as strings

About

An attempt to work through Ronald Mak's book, "Writing Compilers and Interpreters", using Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages