Ruskey
- PLATFORM All
- STACK
- rust
- WEBSITE https://github.com/yuann3/Ruskey
- GITHUB https://github.com/yuann3/Ruskey
Ruskey π¦
An implementation of the Monkey programming language interpreter in Rust, based on the book βWriting An Interpreter In Goβ by Thorsten Ball.
About
π§ Work In Progress π§
This project is currently under active development. Itβs a Rust implementation of the Monkey programming language introduced in the book βWriting An Interpreter In Goβ. It serves as both a learning exercise for Rust and interpreter design.
The Monkey language features:
- C-like syntax
- Variable bindings
- Integer and boolean data types
- Functions as first-class citizens
- Closures
- A simple object system
Project Structure
ruskey/
βββ src/ # Source code
β βββ token.rs # Token definitions
β βββ lexer.rs # Lexical analyzer
β βββ ast.rs # Abstract Syntax Tree
β βββ parser.rs # Parser
β βββ ...
βββ tests/ # Test suite
βββ ...
Progress
- Lexer implementation
- Parser implementation
- AST evaluator
- Object system
- Environment
- Function evaluation
Building and Running
# Build the project
cargo build
# Run tests
cargo test
# Run the REPL
cargo run
Learning Resources
If youβre interested in learning more about interpreters or following along with this project:
- βWriting An Interpreter In Goβ by Thorsten Ball