Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/parsonsmatt/smoltok

An implementation of Smalltalk 80 in Rust
https://github.com/parsonsmatt/smoltok

Last synced: 14 days ago
JSON representation

An implementation of Smalltalk 80 in Rust

Awesome Lists containing this project

README

        

# smoltok

An implementation of Smalltalk 80 in Rust based on the freely available [blue book](http://www.mirandabanda.org/bluebook/).

## Parser

The parser is implemented using [`combine`](https://github.com/Marwes/combine).
I'm coming from Haskell, so the Parsec inspiration was familiar and welcome.

The parser was initially implemented by reading the first chapter on syntax and following along.
That proved to be a bit treachorous, with quite a few subtle implementation bugs.
Fortunately, the back of the book provided a railway syntax chart, which made it quite easy to write the parser for.