yabfig is a BF interpreter written in Go. It has also been extended to lint code (by removing un-interpreted characters) and to include a gdb-style interpreter.
The following packages must be installed on your system.
This program is written by Humaid AlQassimi, and is distributed under the BSD 2 Clause license.
$ go get -u git.sr.ht/~humaid/yabfig $ go install git.sr.ht/~humaid/yabfig
Usage: yabfig [option] <file> Options: -lint Lint (format) a Brainfuck file by removing spaces and non-instruction characters and output it to standard output. -debug Run an interactive gdb-style debugger.
To run the example program
$ yabfig programs/hello-world.bf
Using the debugger to set breakpoints:
$ yabfig -debug programs/hello-world.bf yabfig debugger for Brainfuck. Commands are similar to gdb, type "help" for a list of compatible commands. (yabfig-dbg) help List of commands: run -- Run the program print [pos] -- Print value at memory position next [count] -- Execute next instruction[s] jump [pos] -- Jump to a program position and resume break [pos] -- Add breakpoint at program position clear [pos] -- Delete breakpoint at program position watch [n = x] -- Set watchpoint when memory position n is x kill -- Kill program execution (yabfig-dbg) b 98 Breakpoint #1 at position 98 (yabfig-dbg) b 102 Breakpoint #2 at position 102 (yabfig-dbg) b 106 Breakpoint #3 at position 106 (yabfig-dbg) r Running program: programs/hello-world.bf Hello WorldBreakpoint hit at position 98 (yabfig-dbg) c !Breakpoint hit at position 102 (yabfig-dbg) c Breakpoint hit at position 106 (yabfig-dbg) c Program exited (yabfig-dbg)