- My new sounds: Bonds of Friendship (WIP 3) soundcloud.com/mijyn/bonds-of… on #SoundCloud 2 days ago
- My new sounds: Happy-ish epic-ish music idea-ish soundcloud.com/mijyn/happy-is… on #SoundCloud 4 days ago
- I just checked out "Star Citizen"... MAN! The graphics!!! And the shaders!!! I have NEVER seen anything as good as that before!! 5 days ago
- Man, the track, with the video .... it's pure brilliant!!! It's soooo amazing! youtu.be/G2n3mNoSITY via @youtube 1 week 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.