• RunFunge - A Befunge-93 Interpreter
    1 replies, posted
So I recently found the source of a Befunge-93 interpreter I had written some years ago and decided to release it (GPL'd). It's written in C++ and understands all instructions of the Befunge-93 standard. Optionally, you can use a set of additional instructions I came up with (or stole from Befunge-98). The source can be found on [URL="https://bitbucket.org/Dienes/runfunge"]Bitbucket[/URL]. [B]What is Befunge?[/B] [URL="http://en.wikipedia.org/wiki/Befunge"]Befunge[/URL] is an esoteric programming language. Every instruction consists of one single character (much like in the better-known Brainfuck language) but - and that's the cool thing - the process order may change during runtime in two dimensions. Hard to explain this one, I suggest reading the wiki entry. In addition, it's fully reflective, meaning the code can change itself during runtime. [B]What are the additional instructions added?[/B] * Pushing hexadecimal values to the stack * IP jumps * More conditional movements * 90° turns and mirrors * Constant random movements * Second stack to switch to * Stack clearing * Retrieval of stack size * Pushing current IP coordinates * Execute system command * Quit with return value * Coolest: Defining and calling sub-routines Code is not thoroughly tested, I just did some cleanup and refactoring before upping it to Bitbucket. If you encounter any issues, open a ticket or post here. Have fun :)
I've seen Befunge code before and just thought it was another brainfuck-like language, but looking at the Wikipedia article you linked, I now realize how beautiful the language really is. It's so simple and elegant!
Sorry, you need to Log In to post a reply to this thread.