swd543 / brainfucked

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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++
})

About

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

License:MIT License


Languages

Language:Go 67.1%Language:Brainfuck 32.7%Language:Beef 0.1%