@dqn/brainfuck-js
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

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

name type default
input string ""
maxSteps number Number.POSITIVE_INFINITY

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @dqn/brainfuck-js

Weekly Downloads

3

Version

0.1.0

License

MIT

Unpacked Size

9.36 kB

Total Files

10

Last publish

Collaborators

  • dqn