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.