/brainfucked

A stack based, streaming brainfuck interpreter written in golang ;)

Primary LanguageGoMIT LicenseMIT

brainfucked

Build Coverage

A stack based, streaming brainfuck interpreter written in golang ;)

Running

cd brainfuck && go run . ../programs/helloworld.bf

Testing

cd interpret && go test -v -cover

Adding as a package

Add the interpret package => go get github.com/swd543/brainfucked/interpret

Initialize the interpreter state

state := interpret.NewState[int](programReader, programOutputWriter, inputReader)

Adding custom commands (for squaring)

state.AddOrReplaceCommand('*', func(state *interpret.State[int]) {
  state.Data[state.Dp] *= state.Data[state.Dp]
  state.Pc++
})