Daniel Pumford's Website

Better Brainfuck

2014-11-06 | Daniel | 822 views

Hello again. Over the past week or so, I've been adding a couple things to my Brainfuck Interpreter that I think have made it a viable tool for Brainfuckers around the world. You should go take a look at it if you haven't already!

There is now a few more features available that can be really helpful when debugging programs. You can now run the code slowly so as to watch the execution with your OWN EYES. In addition, the entire array of bytes is now fully visible and scrollable. I'm not promising that the system is bug-free, but it's still something worth looking at.

The new code builds upon the base code, which is separated into two areas: one that controls the Brainfuck "Machine" and another that controls the interface. The machine, excluding a few bugfixes, is complete, and is defined using a RequireJS module. It has a comprehensive set of functions that I designed to be a standalone block. This means the machine can basically be run so long as the developer loads it into memory: no other code is required. Indeed, I initially developed the code to run straight through my NodeJS engine, so that I could make sure that it didn't need any other code.

The interface controls are another file. After loading the machine, it uses simple jQuery events (or whatever they call them) to hook up actions to the HTML buttons and tables and such. This code is woefully unfinished and unrefined, but it works... so that's good. The recent additions essentially hooked up some more of those events to make the code step, gallop, and fly through its commands.

Writing this, I'm beginning to think I should put the code on the Brainfuck Interpreter page in plaintext. I might just do that!

Keep checking back for more updates on my adventures!