aglais is an implementation of the io language in Go. I started this because as I was fooling around with the original language implementation, I wanted to make my own changes. Here's the problem: it's written in C. I hate C. Go is much nicer.
However, this is not a direct translation. I am also using this opportunity to learn Go, as well as compiler design.
go get github.com/mitchell-riley/aglais
- Jonathan Boyett's inspiring europa
- Rob Pike's concurrent lexer design
- Christoph Zenger's course notes on grammar manipulation
- Context free grammar checkers:
- Recursive descent parsers: