Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/parsonsmatt/smoltok
- Owner: parsonsmatt
- Created: 2017-08-19T18:43:23.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-21T16:02:12.000Z (over 6 years ago)
- Last Synced: 2024-10-10T16:29:36.093Z (27 days ago)
- Language: Rust
- Size: 25.4 KB
- Stars: 15
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
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.