*(I wrote this way back in the fall of 2008, when I was a freshman in college.)*

Brainfuck is kind of a joke minimalist programming language, with only 8 commands total for byte manipulation and looping. When I first saw it, I did not understand the language or its purpose at all ("How the hell am I supposed to understand what `.+[.+]` does!?") However, one day I finally decided to look into the odd little language and figure it out. Like many things in life, it was actually quite simple if you really looked at it. And since it was so simple, I thought it would be a good exercise to try writing a simple little interpreter for it.

This is the end result.

I don't think it works entirely well (some brainfuck programs seem to make it cough up), but it works for basic programs, and it conforms to the spec, so I'm happy.

Brainfuck is kind of a joke minimalist programming language, with only 8 commands total for byte manipulation and looping. When I first saw it, I did not understand the language or its purpose at all ("How the hell am I supposed to understand what `.+[.+]` does!?") However, one day I finally decided to look into the odd little language and figure it out. Like many things in life, it was actually quite simple if you really looked at it. And since it was so simple, I thought it would be a good exercise to try writing a simple little interpreter for it.

This is the end result.

I originally wrote this way back in the fall of 2008, when I was a freshman in college. It has since been updated to actually handle nested loops properly, and to be a bit more cleanly written.


Update readme in the light of recent updates
Update readme in the light of recent updates
