A compiler for the Monkey programming language written in Rust
This repository is forked from Monkey-Rust. The original repository stores the Rust version of Writing An Interpreter In Go by the same author. This repository borrows the codes of parser/ and lexer/ of the mentioned repository, which I used as part of my implementation of the Rust version of the compiler.
Monkey has a C-like syntax, supports variable bindings, prefix and infix operators, has first-class and higher-order functions, can handle closures with ease and has integers, booleans, arrays and hashes built-in.
There is a book about learning how to make a compiler: Writing A Compiler In Go. This is where the Monkey programming language come from.
$ cargo build
$ cargo test
$ cargo run --release --bin monkey_repl
$ cargo run --release --bin monkey_exe -- --src examples/hash.mk