Convert docs to Markdown. Add README and LICENSE.
--HG--
rename : doc/fbbi.html => doc/fbbi.md
Chris Pressey
10 years ago
0 | Copyright (c)1998-2011 Chris Pressey, Cat's Eye Technologies. | |
1 | All rights reserved. | |
2 | ||
3 | Redistribution and use in source and binary forms, with or without | |
4 | modification, are permitted provided that the following conditions | |
5 | are met: | |
6 | ||
7 | 1. Redistributions of source code must retain the above copyright | |
8 | notices, this list of conditions and the following disclaimer. | |
9 | 2. Redistributions in binary form must reproduce the above copyright | |
10 | notices, this list of conditions, and the following disclaimer in | |
11 | the documentation and/or other materials provided with the | |
12 | distribution. | |
13 | 3. Neither the names of the copyright holders nor the names of their | |
14 | contributors may be used to endorse or promote products derived | |
15 | from this software without specific prior written permission. | |
16 | ||
17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
18 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT | |
19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |
20 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
21 | COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
22 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |
23 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
26 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |
27 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
28 | POSSIBILITY OF SUCH DAMAGE. |
0 | FBBI | |
1 | ==== | |
2 | ||
3 | This is FBBI, the Flaming Bovine Befunge-98 Intepreter — the "first and | |
4 | worst" of the [Funge-98](http://catseye.tc/node/Funge-98) interpreters available. | |
5 | ||
6 | It's actually not so bad anymore, after a | |
7 | [patch-applying and bug-killing session back in 2011](http://catseye.tc/node/OMG_WTF_FBBI_1.0_SIAS_EVVK!). | |
8 | Still, it should probably not be your first choice for a Befunge-98 interpreter, | |
9 | nor does it claim to be the reference implementation of the language. It was | |
10 | just an early one. | |
11 | ||
12 | See the file [doc/fbbi.md](doc/fbbi.md) for FBBI's documentation. | |
13 | ||
14 | FBBI is open-source software, distributed under a BSD-style license. See the | |
15 | file [LICENSE](LICENSE) for more information. |
0 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
1 | <!-- encoding: UTF-8 --> | |
2 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> | |
3 | <head> | |
4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
5 | <title>FBBI: The Flaming Bovine Befunge-98 Interpreter</title> | |
6 | <!-- begin html doc dynamic markup --> | |
7 | <script type="text/javascript" src="/contrib/jquery-1.4.1.min.js"></script> | |
8 | <script type="text/javascript" src="/scripts/documentation.js"></script> | |
9 | <link rel="stylesheet" type="text/css" href="/stylesheet/catseye.css" /> | |
10 | <link rel="stylesheet" type="text/css" href="/stylesheet/index.css" /> | |
11 | <link rel="stylesheet" type="text/css" href="/stylesheet/infopage.css" /> | |
12 | <!-- end html doc dynamic markup --> | |
13 | </head> | |
14 | <body> | |
15 | ||
16 | <h1>FBBI: The Flaming Bovine Befunge-98 Interpreter</h1> | |
17 | ||
18 | <p>Version 1.0. Copyright ©1998-2011 Cat's Eye Technologies. All rights reserved.</p> | |
19 | ||
20 | <h2>Introduction</h2> | |
21 | ||
22 | <p><dfn>FBBI</dfn> is an interpreter for the Befunge-98 language | |
23 | as defined by the <a href="http://catseye.tc/projects/funge98/">Funge-98 Final Specification</a>, | |
24 | written in 100% ANSI C, and placed under a BSD-style license.</p> | |
25 | ||
26 | <h3>Funge-98 Interpreter Information</h3> | |
27 | ||
28 | <p>FBBI's handprint is 0x46424249 ('FBBI'). FBBI v1.0 implements the fingerprints | |
29 | <a href="http://catseye.tc/projects/funge98/library/NULL.html">0x4e554c4c NULL</a> | |
30 | and <a href="http://catseye.tc/projects/funge98/library/ROMA.html">0x524f4d41 ROMA</a>.</p> | |
31 | ||
32 | <h3>Usage</h3> | |
33 | ||
34 | <p>See the header comment of <code><a href="../src/fbbi.c">fbbi.c</a></code> for | |
35 | definitive information about usage.</p> | |
36 | ||
37 | <h3>History</h3> | |
38 | ||
39 | <p>This is version 1.0 of the Flaming Bovine Befunge-98 Interpreter. | |
40 | See the header comment of <code><a href="../src/fbbi.c">fbbi.c</a></code> for | |
41 | definitive version history information.</p> | |
42 | ||
43 | <h3>Conformancy and Implementation Notes</h3> | |
44 | ||
45 | <p>Due to the nature of reality, this list may not be complete.</p> | |
46 | ||
47 | <ul> | |
48 | <li>Modulo the lovely ambiguities in the Funge-98 Final Specification, this version of FBBI appears to conform to it.</li> | |
49 | <li>Perhaps more materially, this version of FBBI substantially passes the <a class="external" href="http://users.tkk.fi/~mniemenm/befunge/mycology.html">Mycology</a> | |
50 | test suite. See the header comment of <code><a href="../src/fbbi.c">fbbi.c</a></code> for detailed information.</li> | |
51 | <li>Because FBBI is written in ANSI C, end-of-line sequences which consist of a single CR | |
52 | may not be readable on MS-DOS machines. FBBI's strict ANSI policy can be undefined | |
53 | in <code>config.h</code>, in which case it should compile to use binary file mode under MS-DOS.</li> | |
54 | <li>The stack stack, and each stack, is of a user-specified size, not dynamic.</li> | |
55 | <li><code>A-Z</code> semantic stacks are limited to 26 overloads each.</li> | |
56 | <li><code>h</code>, <code>l</code>, and <code>m</code> are all Trefunge-specific, and thus are not implemented | |
57 | in FBBI, because FBBI only implements Befunge-98.</li> | |
58 | <li>FBBI does not implement Concurrent Funge, so <code>t</code> is not implemented either.</li> | |
59 | <li>The C source code for the interpreter should be 100% ANSI C (except where noted above | |
60 | in regards to CR as a sole end-of-line marker on MS-DOS systems.)</li> | |
61 | <li>Compliation of this version of FBBI has been tested only under gcc 4.4.5 on Ubuntu 10.10.</li> | |
62 | </ul> | |
63 | ||
64 | <h3>Included Befunge-98 Example Programs</h3> | |
65 | ||
66 | <ul> | |
67 | <li> | |
68 | <code>eg/binary.b98</code> | |
69 | <p>Tests to see if reading a file in, binary-mode, actually works.</p> | |
70 | </li> | |
71 | <li> | |
72 | <code>eg/finger.b98</code> | |
73 | <p>Demonstrates NULL and ROMA fingerprints with <code>(</code> and <code>)</code>.</p> | |
74 | </li> | |
75 | <li> | |
76 | <code>eg/hello.b98</code> | |
77 | <p>Demonstrates SGML-style spaces in stringmode.</p> | |
78 | </li> | |
79 | <li> | |
80 | <code>eg/randdna.b98</code> | |
81 | <p>Perfect for synthesizing random organisms!</p> | |
82 | </li> | |
83 | <li> | |
84 | <code>eg/script.b98</code> | |
85 | <p>Demonstrates FBBI's -script command line option.</p> | |
86 | </li> | |
87 | <li> | |
88 | <code>eg/cgi.b98.cgi</code> | |
89 | <p>Another Befunge-98 script; this one should run as a CGI.</p> | |
90 | </li> | |
91 | <li> | |
92 | <code>eg/trim-out.b98</code> | |
93 | <p>Tests to see if writing a files strips trailing spaces and newlines.</p> | |
94 | </li> | |
95 | <li> | |
96 | <code>eg/under.b98</code> | |
97 | <p>Test for <code>u</code> and storage offset.</p> | |
98 | </li> | |
99 | </ul> | |
100 | ||
101 | <h3>Acknowledgements</h3> | |
102 | ||
103 | <p>Thanks to Sam Holden for providing the initial version of the Makefile.</p> | |
104 | ||
105 | <p>Thanks to Jeffrey Lee for providing his bug-fixing patches.</p> | |
106 | ||
107 | <p>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.</p> | |
108 | ||
109 | <p>Thanks to Matti Niemenmaa for writing the Mycology Befunge-98 test suite.</p> | |
110 | ||
111 | </body> | |
112 | </html> |
0 | FBBI: The Flaming Bovine Befunge-98 Interpreter | |
1 | =============================================== | |
2 | ||
3 | Version 1.0. Copyright ©1998-2011 Cat's Eye Technologies. All rights | |
4 | reserved. | |
5 | ||
6 | Introduction | |
7 | ------------ | |
8 | ||
9 | FBBI is an interpreter for the Befunge-98 language as defined by the | |
10 | [Funge-98 Final Specification](http://catseye.tc/projects/funge98/), | |
11 | written in 100% ANSI C, and placed under a BSD-style license. | |
12 | ||
13 | ### Funge-98 Interpreter Information | |
14 | ||
15 | FBBI's handprint is 0x46424249 ('FBBI'). FBBI v1.0 implements the | |
16 | fingerprints [0x4e554c4c | |
17 | NULL](http://catseye.tc/projects/funge98/library/NULL.html) and | |
18 | [0x524f4d41 ROMA](http://catseye.tc/projects/funge98/library/ROMA.html). | |
19 | ||
20 | ### Usage | |
21 | ||
22 | See the header comment of `fbbi.c` for definitive information about | |
23 | usage. | |
24 | ||
25 | ### History | |
26 | ||
27 | This is version 1.0 of the Flaming Bovine Befunge-98 Interpreter. See | |
28 | the header comment of `fbbi.c` for definitive version history | |
29 | information. | |
30 | ||
31 | ### Conformancy and Implementation Notes | |
32 | ||
33 | Due to the nature of reality, this list may not be complete. | |
34 | ||
35 | - Modulo the lovely ambiguities in the Funge-98 Final Specification, | |
36 | this version of FBBI appears to conform to it. | |
37 | - Perhaps more materially, this version of FBBI substantially passes | |
38 | the [Mycology](http://users.tkk.fi/~mniemenm/befunge/mycology.html) | |
39 | test suite. See the header comment of `fbbi.c` for detailed | |
40 | information. | |
41 | - Because FBBI is written in ANSI C, end-of-line sequences which | |
42 | consist of a single CR may not be readable on MS-DOS machines. | |
43 | FBBI's strict ANSI policy can be undefined in `config.h`, in which | |
44 | case it should compile to use binary file mode under MS-DOS. | |
45 | - The stack stack, and each stack, is of a user-specified size, not | |
46 | dynamic. | |
47 | - `A-Z` semantic stacks are limited to 26 overloads each. | |
48 | - `h`, `l`, and `m` are all Trefunge-specific, and thus are not | |
49 | implemented in FBBI, because FBBI only implements Befunge-98. | |
50 | - FBBI does not implement Concurrent Funge, so `t` is not implemented | |
51 | either. | |
52 | - The C source code for the interpreter should be 100% ANSI C (except | |
53 | where noted above in regards to CR as a sole end-of-line marker on | |
54 | MS-DOS systems.) | |
55 | - Compliation of this version of FBBI has been tested only under gcc | |
56 | 4.4.5 on Ubuntu 10.10. | |
57 | ||
58 | ### Included Befunge-98 Example Programs | |
59 | ||
60 | - `eg/binary.b98` | |
61 | ||
62 | Tests to see if reading a file in, binary-mode, actually works. | |
63 | ||
64 | - `eg/finger.b98` | |
65 | ||
66 | Demonstrates NULL and ROMA fingerprints with `(` and `)`. | |
67 | ||
68 | - `eg/hello.b98` | |
69 | ||
70 | Demonstrates SGML-style spaces in stringmode. | |
71 | ||
72 | - `eg/randdna.b98` | |
73 | ||
74 | Perfect for synthesizing random organisms! | |
75 | ||
76 | - `eg/script.b98` | |
77 | ||
78 | Demonstrates FBBI's -script command line option. | |
79 | ||
80 | - `eg/cgi.b98.cgi` | |
81 | ||
82 | Another Befunge-98 script; this one should run as a CGI. | |
83 | ||
84 | - `eg/trim-out.b98` | |
85 | ||
86 | Tests to see if writing a files strips trailing spaces and newlines. | |
87 | ||
88 | - `eg/under.b98` | |
89 | ||
90 | Test for `u` and storage offset. | |
91 | ||
92 | ### Acknowledgements | |
93 | ||
94 | Thanks to Sam Holden for providing the initial version of the Makefile. | |
95 | ||
96 | Thanks to Jeffrey Lee for providing his bug-fixing patches. | |
97 | ||
98 | Thanks to all those on the Befunge and/or Esolang mailing lists for | |
99 | their bug reports, the fixes for which made their way into patches. | |
100 | ||
101 | Thanks to Matti Niemenmaa for writing the Mycology Befunge-98 test | |
102 | suite. |