- @MrWillHuxtable It's *puts on glasses* sublime! 1 day ago
- @MrWillHuxtable Sublime text! :D 2 days ago
- @BronyTunesApp I'd like to be a part of BronyTunes! Please add me as an artist with the name: MiJyn 1 week ago
- Shards of Disharmony Preview: youtu.be/4ChmOvahdqM via @YouTube 3 weeks ago
- @AndrewWestra np! thank _you_ for following me first! =D 3 weeks 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.