FBBI is an interpreter for the Befunge-98 language as defined by the Funge-98 Final Specification, written in 100% ANSI C. A distribution is provided which includes both interpreter source code, and executables for MS-DOS and 32-bit Windows. All of the components of FBBI are placed under the BSD license, which means they can freely be used as a basis for derivative works, without forcing those works to also be "free software."
FBBI's handprint is 0x46424249 ('FBBI'). FBBI v0.93 implements the fingerprints 0x4e554c4c NULL and 0x524f4d41 ROMA.
If you plan to make derivative works from this work, please make note that the source code components are not necessarily in their final, polished state.
If you find any bugs or any places where the implementation does not live up to the spec, please post them to the ESOLANG mailing list.
fbbi.html | discombobulated ramblings |
src/Makefile | GNU Makefile to build FBBI executable |
src/fbbi.c, .h | main C source file (and C header) for FBBI |
src/bf98spc.c, .h | C source file (and C header) for large dynamic playfield routines |
src/f98stack.c, .h | C source file (and C header) for Funge-98 stack stack routines |
src/f98ip.c, .h | C source file (and C header) for Funge-98 IP routines |
src/f98i.c, .h | C source file (and C header) for standard Funge-98 instructions |
src/f98fp.c, .h | C source file (and C header) for Funge-98 fingerprint routines |
src/fp/index.h | C header file listing all fingerprints |
src/fp/NULL.c | C source file for NULL fingerprint |
src/fp/ROMA.c | C source file for ROMA fingerprint |
eg/finger.b98 | Demonstrates NULL and ROMA fingerprints with ( and ) |
eg/hello.b98 | Demonstrates SGML-style spaces in stringmode |
eg/randdna.b98 | Perfect for synthesizing random organic creatures |
eg/script.b98 | Demonstrates FBBI's -script command line option |
eg/cgi.b98.cgi | Another Befunge-98 script, this one should run as a CGI |
Except for any limitations noted above or hitherto undiscovered, FBBI v0.98 is 100% compliant with the Funge-98 Final Specification, located at
The C source code for the interpreter should be 100% ANSI C (except where noted above in regards to CR as a sole end-of-line marker on MS-DOS systems.) FBBI should compile under gcc with both -ansi and -pedantic switches turned on. It compiles fine with both DJGPP v2.0 and Borland C++ v3.1, both in "strict ANSI" mode.