Skip to content

A Brainfuck Interpreter, Compiler, Debugger, and Optimizer, written in Rust.

License

Notifications You must be signed in to change notification settings

TimBednarzyk/brfk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

brfk

A Brainfuck Interpreter, Compiler, Debugger, and Optimizer written in Rust.

Features

Planned Features

  • Languages
  • Compiler1
    • To an executable
    • To C
    • To Rust
    • To Java
    • To JavaScript
    • To Python
    • To Brainfuck
      • This will allow one to generate optimized Brainfuck code and/or code for another variant of Brainfuck
    • To any language that is suggested
  • Debugger
    • Will support all supported languages
  • Optimizations1
  • Ability to choose cell size of 8, 16, 32, and 64 bits
  • Ability to choose a custom number of cells or to have a variable number of cells
    • Extended Types II and III will always have a variable number of cells due to their ability to add/remove cells

License

brfk is licensed under the MIT license. Please read the LICENSE file in this repository for more information.


1: Due to their self-modifying nature, the following variants will never be supported:


brfk 0.1.1
Tim Bednarzyk <timbednarzyk@gmail.com>
A Brainfuck Interpreter, Compiler, Debugger, and Optimizer.
Currently only has a working interpreter, and only supports basic and Extended Type I Brainfuck.

USAGE:
    brfk [OPTIONS] --path <FILE>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -p, --path <FILE>    The path to the Brainfuck source code
        --mode=<MODE>    The mode that the Brainfuck code should be parsed in.
                         b     Basic mode (Default)
                         x1    Extended Type I mode

About

A Brainfuck Interpreter, Compiler, Debugger, and Optimizer, written in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages