Skip to content
/ yabf Public

Yet Another Brainfuck Interpreter

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

serd223/yabf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yet Another Brainfuck Interpreter

Crate API

yabf_rs is a simple crate that can be used to embed Brainfuck programs into your Rust programs. Documentation on docs.rs

Features

  • Can parse and execute Brainfuck code.
  • Highly customizable IO system.
  • Allows you to inspect/modify data about your program during runtime.

Basic example

The following program outputs the letter 'H' to the terminal.

use yabf_rs::*;
fn main() {
    let program = Program::from(">++++++++[<+++++++++>-]<.");
    let mut bf = BfInstance::from(program);
    bf.run(&mut default_input_source, &mut default_flush);
}

More examples

For more examples, look at the examples directory in the repository.

Running examples

Prerequisites

git clone https://github.com/serd223/yabf
cd yabf
cargo run --example hello_world

Example projects written using yabf_rs

yabf_cli

  • yabf_cli is a simple command line tool for debugging/running Brainfuck code.

yabf_gui

  • yabf_gui is a proof of concept project that uses egui with the eframe framework for the GUI part.

Adding yabf_rs to your project

cargo add yabf_rs

Why yabf_rs instead of just yabf?

yabf was already taken...

About

Yet Another Brainfuck Interpreter

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages