Awesome
bfckr
A simple to use brainfuck interpreter with built in debugger written in C.
How to run
- Type "make"
- Read this
- Create your own brainfuck software
- let bfckr run your own .bf code
Usage
Usage: ./bfckr [OPTION]
-h Show this help.
-d Enable debugger.
-f Execute brainfuck code given as file.
-e Execute brainfuck expression given as argument.
examples:
./bfckr -f examples/pi.bf
3.14070455282885
./bfckr -d -f examples/pi.bf
[ENTER]: single step [c]: continue
Source viewer:
------------------------------------------------------------
>+++++++++++++++[<+>>>>>>>>+++
^
ip=0
------------------------------------------------------------
Memory viewer:
------------------------------------------------------------
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
^
mp=1
000 000 000 000 000 000 001 002 003 004 005 006 007 008 009
------------------------------------------------------------
Output viewer:
------------------------------------------------------------
------------------------------------------------------------
./bfckr -e "----[---->+<]>++."
A
echo "42=" | ./bfckr -f examples/bintodec.bf
42=101010
Breakpoints
A # in the brainfuck source will be interpreted as breakpoint. You can use them if you want to stop the program flow at a specific point and start the debugger from there. If you are in debugger mode pressing c will get you back to executing the program.
./bfckr -e "----[#---->+<]>++."
[ENTER]: single step [c]: continue
Source viewer:
------------------------------------------------------------
----[#---->+<]>++.
^
ip=5
------------------------------------------------------------
Memory viewer:
------------------------------------------------------------
000 000 000 000 000 000 000 -04 000 000 000 000 000 000 000
^
mp=0
993 994 995 996 997 998 999 000 001 002 003 004 005 006 007
------------------------------------------------------------
Output viewer:
------------------------------------------------------------
------------------------------------------------------------
Licence
Copyright © 2016 Aaron aaron@duckpond.ch This work is free. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See the COPYING file for more details.