blazefuck

A blazingly-fast (interactive) Brainfuck interpreter, written in Rust.

Description

A tiny, efficient Brainfuck interpreter, with a REPL for easy, on-the-fly evaluation

Brainfuck is a simple esoteric language with a minimal subset of commands, you can read more here.

Getting Started

Dependencies

Installing

Executing program

``` $ blazefuck blazefuck 1.0.0 on windows, run with "-h" or "--help" for more information. Use "cells" to show the cell stack and "exit" to exit the interpreter.

_ ```
You can then use the normal Brainfuck commands, as follows:

| | | |-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | > | Increment the data pointer (to point to the next cell to the right). | | < | Decrement the data pointer (to point to the next cell to the left). | | + | Increment (increase by one) the byte at the data pointer. | | - | Decrement (decrease by one) the byte at the data pointer. | | . | Output the byte at the data pointer. | | , | Accept one byte of input, storing its value in the byte at the data pointer. | | [ | If the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the matching ] command. | | ] | If the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the matching [ command. |

Also cells and exit will show the current cell stack and exit the REPL, respectively.

* Alternatively a source file can be specified with blazefuck [FILE], some examples can be found here. ``` $ blazefuck hello.bf Hello World!

$ _ ```

Building from source

Version History

License

This project is licensed under the MIT License, more details here.