id101010 / bfckr

A little brainfuck interpreter and debugger written in C.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bfckr Build Status

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

WTFPL

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.

About

A little brainfuck interpreter and debugger written in C.

License:Do What The F*ck You Want To Public License


Languages

Language:C 94.4%Language:Makefile 5.6%