FBBI

Flaming Bovine Befunge-98 Interpreter

version 0.98a, Mar 26 2003

Copyright (c)1998-2003 Cat's Eye Technologies. All rights reserved.
See the file license.txt for license information.

Description

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."

Funge-98 Interpreter Information

FBBI's handprint is 0x46424249 ('FBBI'). FBBI v0.93 implements the fingerprints 0x4e554c4c NULL and 0x524f4d41 ROMA.

Distribution

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.

Files in this Distribution

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

Usage

Loads the file 'sourcefile' and runs it as a Befunge-98 source file.

Limitations

Compliance

Except for any limitations noted above or hitherto undiscovered, FBBI v0.98 is 100% compliant with the Funge-98 Final Specification, located at

h, l, and m are all Trefunge-specific, and thus are not implemented. This is not Concurrent Funge, so t is not implemented either. FBBI passes Cat's Eye Technologies' Befunge Diagnostics version 0.98, 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.