0.1.0 • Published 3 years ago

@dqn/brainfuck-js v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

brainfuck-js

npm version CI

Lightweight and debuggable Brainfuck interpreter.

Installation

Using npm:

$ npm install @dqn/brainfuck-js

Using yarn:

$ yarn add @dqn/brainfuck-js

Example

const { createInterpreter } = require("@dqn/brainfuck-js");

const bf = createInterpreter("++++++++[>++++++++<-]>+.+.+.");
const output = bf.interpret(); // Return value is output string

console.log(output); // => ABC
console.log(bf.getMemory()); // => [0, 67]
console.log(bf.getMemoryIndex()); // => 1

// Initialize states
bf.init();

// Run next one step
bf.nextStep();

// Run to the end of the program
while (bf.nextStep()) {
  console.log(bf.getMemory());
  console.log(bf.getMemoryIndex());
  console.log(bf.getSrcIndex());
  console.log(bf.getOutput());
}

// With options
const bfWithOptions = createInterpreter("+[,+.-]", {
  input: "ABC",
  maxSteps: 100,
});

console.log(bfWithOptions.interpret()); // => BCD

Options

nametypedefault
inputstring""
maxStepsnumberNumber.POSITIVE_INFINITY

License

MIT