Version 1.0. Copyright ©1998-2011 Cat's Eye Technologies. All rights reserved.
FBBI is an interpreter for the Befunge-98 language as defined by the Funge-98 Final Specification, written in 100% ANSI C, and placed under a BSD-style license.
FBBI's handprint is 0x46424249 ('FBBI'). FBBI v1.0 implements the fingerprints 0x4e554c4c NULL and 0x524f4d41 ROMA.
See the header comment of fbbi.c
for definitive information about
usage.
This is version 1.0 of the Flaming Bovine Befunge-98 Interpreter. See
the header comment of fbbi.c
for definitive version history
information.
Due to the nature of reality, this list may not be complete.
- Modulo the lovely ambiguities in the Funge-98 Final Specification, this version of FBBI appears to conform to it.
- Perhaps more materially, this version of FBBI substantially passes
the Mycology
test suite. See the header comment of
fbbi.c
for detailed information. - Because FBBI is written in ANSI C, end-of-line sequences which
consist of a single CR may not be readable on MS-DOS machines.
FBBI's strict ANSI policy can be undefined in
config.h
, in which case it should compile to use binary file mode under MS-DOS. - The stack stack, and each stack, is of a user-specified size, not dynamic.
A-Z
semantic stacks are limited to 26 overloads each.h
,l
, andm
are all Trefunge-specific, and thus are not implemented in FBBI, because FBBI only implements Befunge-98.- FBBI does not implement Concurrent Funge, so
t
is not implemented either. - 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.)
- Compliation of this version of FBBI has been tested only under gcc 4.4.5 on Ubuntu 10.10.
-
eg/binary.b98
Tests to see if reading a file in, binary-mode, actually works.
-
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 organisms!
-
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.
-
eg/trim-out.b98
Tests to see if writing a files strips trailing spaces and newlines.
-
eg/under.b98
Test for
u
and storage offset.
Thanks to Sam Holden for providing the initial version of the Makefile.
Thanks to Jeffrey Lee for providing his bug-fixing patches.
Thanks to all those on the Befunge and/or Esolang mailing lists for their bug reports, the fixes for which made their way into patches.
Thanks to Matti Niemenmaa for writing the Mycology Befunge-98 test suite.