by Reuben Thomas rrt@sc3d.org
https://github.com/rrthomas/bee
Bee is a simple virtual machine designed for the Forth language. It uses word-based threaded code. An I/O library is implemented.
Bee’s small instruction set is easy to implement, yet also easy to use to write a naive Forth compiler with reasonable performance.
This package comprises an implementation in ISO C99 using POSIX APIs.
The package is distributed under the GNU General Public License version 3, or, at your option, any later version.
THIS PROGRAM IS PROVIDED AS IS, WITH NO WARRANTY. USE IS AT THE USER’S RISK.
Bee should work on any POSIX-1.2001-compatible system. Bee has been tested on x86_64 GNU/Linux with GNU C.
Reports on compatibility are welcomed.
help2man is required to build from source. For building from git, see below.
To build from a release tarball, run
./configure && make && make check
The GNU autotools are required: automake, autoconf and libtool.
Gnulib is also used, with a
third-party bootstrap
module; these are installed automatically.
To build from a Git repository, first run
./bootstrap
Then see "Building from a release tarball" above.
Run bee
(see bee --help
for documentation).
Sorry, there’s only the source code at present.
pForth is an ANSI Forth compiler that runs on Bee.
The C implementation of Bee allows a hash-bang line to be prepended to an object file, so that they can be run directly. A suggested line is:
#!/usr/bin/env bee
Please send bug reports (preferably as GitHub issues) and comments. I’m especially interested to know of portability bugs.