Skip to content

Implementation of an interpreter for the Monkey language written in Rust, currently under active development.

License

Notifications You must be signed in to change notification settings

DeveloperC286/monkey_interpreter

Repository files navigation

Monkey Interpreter

GitHub Release Conventional Commits License

The Monkey Programming Language Logo

Implementation of an interpreter for the Monkey language written in Rust, currently under active development.

What is Monkey?

The Monkey programming language was devised by Thorsten Ball for use in his follow along books Writing An Interpreter In Go and Writing A Compiler In Go.

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.

Content

Usage

Run the interpreter via

monkey_interpreter 

Compiling

Checkout the code repository locally, change into the repository's directory and then build via Cargo. Using the --release flag produces an optimised binary but takes longer to compile.

git clone [email protected]:DeveloperC286/monkey_interpreter.git
cd monkey_interpreter/
cargo build --release

The compiled binary is present in target/release/monkey_interpreter.

Unit Testing

The unit test suite has several parameterised tests, Cargo is used to set up and run all the unit tests.

cargo test

Issues/Feature Requests

To report a bug/issue or request a new feature use https://github.com/DeveloperC286/monkey_interpreter/issues.

About

Implementation of an interpreter for the Monkey language written in Rust, currently under active development.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •