#brainfuck #interpreter

brainfrsck

An easy-to-use brainfuck interpreter

5 stable releases

✓ Uses Rust 2018 edition

new 1.0.4 Nov 5, 2019
1.0.3 Oct 26, 2019

#82 in Emulators

32 downloads per month

GPL-3.0-only

16KB
348 lines

brainfrsck

A brainfrick interpreter written in safe rust

Usage

The main entry point is the eval_string function

Example

use brainfrsck::prelude::eval_string;

let hello_world = "++++++++[>++++[>++>+++>++
+>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++
.>>.<-.<.+++.------.--------.>>+.>++.";

assert_eq!(
    eval_string(hello_world, None)?.to_string(),
    "Hello World!\n".to_owned(),
);

Notes

  • eval_string returns an InterpreterOutput which is essentially a wrapper for a Vec<u8>, it has methods to convert to a String (to_string) and to get the internal Vec (to_vec), as well as Debug writing the Vec and Display writing the String

lib.rs:

This is an implementation of an interpreter for the brainfuck "programming language". Basic functions and structs you may need along the way

No runtime deps