- RT @thebarrytone: margin: 0; padding: 0; … margin: 0 !important; padding: 0 !important; … sudo margin: 0 !important; sudo padding: 0 !i… 1 day ago
- RT @RenZelen: Ikea instructions ... devised by Escher. http://t.co/7dUNSMWZzq 3 weeks ago
- estsaver animation test/demo: youtu.be/41AZru9lfl8?a via @YouTube 1 month ago
A listing of random software, tips, tweaks, hacks, and tutorials I made for Ubuntu
bfdk – A brainf*** development kit
January 10, 2013Posted by on
Yes, I know, yet another compiler/interpreter for brainf***… we all know how many there are, we all know how easy it is to write, etc… First, you have to know, that was my 3rd application written in C, and I needed an exercise in C (compilers, interpreters, plugin systems, API design, etc…), so I decided to write this. So for the features:
- Compiler (compiles to C, then runs GCC) and interpreter
- Supports multiple dialects (pbrain, brainlove, ook!, and blub)
- Source slimming (strips all comments)
I know, not very exciting. You’re probably wondering where “development kit” comes in. That’s for later, as I planned to write some sort of shell for it, which would complete it. For now, I think it’s stable enough for general usage.
The source is available here: https://github.com/MiJyn/bfdk. Since this written was before I switched to vim, it uses eclipse makefiles, so it would be simplest for you to compile using eclipse. If you can’t, you can always use
make -f Debug/makefile.
Here are some examples of usage:
bfdk -f hello.bf — Will run hello.bf
bfdk -c -f hello.bf -o hello — Will compile hello.bf to hello
bfdk -s -f hello.bf — Will output a slimmed version of hello.bf (you can also specify an output file using -o)
bfdk -d brainlove -f test.bl — Will run test.bl using the brainlove dialect
bfdk — Will run a shell (currently just a simple EOF thingy)
As I said in the beginning, this is not a serious product, this was just an exercise for fun. If you can find it useful, awesome, if not, don’t blame me for writing a useless product.