1.3.2 • Published 5 years ago

bfrun v1.3.2

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

Brainfuck CLI Interpreter

NodeJS Brainfuck and Brainfuck ♭ console interpreter

Install and use

Prerequisites

  1. NodeJS

Install

  1. npm i -g bfrun

Use

CommandPropertiesDescription
start <file>--verboseRuns brainfuck file
debug <file>--verboseDebug brainfuck project, add * to add a debug breakpoint
test <spec file> <to eval file>Unit test a brainfuck file with brainfuck, compare the memory result
helpHelp from the CLI

Brainfuck Flat (BFF / B♭)

BFF is a Brainfuck derivative inspired by Brainfuck++, it expands standard Brainfuck in two ways: 1. Having two different memory arrays
a. The register array has a fixed 16 cells
b. The standard memory has a dynamic length, it doubles everytime the memory pointer moves past its length 2. Adds this commands:

CommandSpecification
^Swaps between memory strip and registers strip.
#Reads filename until a null byte is reached, input buffer will now be said file, pointer returns to original cell. If file doesn't exists the program will exit.
:Reads filename until a null byte is reached, dumps all non-zero memory except filename in said file. If file doesn't exists the program will exit.
::Reads filename until a null byte is reached, writes file with no content, if a file already existis it will replace it.

Unit testing

Now you can unit test a brainfuck file with another brainfuck file! To use it first create a new brainfuck file, preferably name it like the file you want to test with a _spec after the name and with extension .bf. Inside the file start with the input to test and finish the input with a !, everything before the exclamation mark will be read as input for the evaluated BF.

Insert in memory the final memory dump you expect on the evaluated file. Example: This an example of addition of a + 2 sum_spec.bf

3!
++++++++++++++++++++++++++++++++++++++++++++++++++++

sum.bf

,>++[<+>-]

Then run the command bfrun test sum_spec.bf sum.bf

(If you want header comments on your spec file add it after the exclamation mark)

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago