Menu

Tree [8a5338] master /
 History

HTTPS access


File Date Author Commit
 build-aux 2022-04-11 Reuben Thomas Reuben Thomas [4cfdae] Generate version string from git
 gl-mod 2019-08-30 Reuben Thomas Reuben Thomas [3b5b9a] gl-mode/bootstrap: update bootstrap module
 m4 2022-04-25 Reuben Thomas Reuben Thomas [fe1eed] m4: update some macros, needed for autoconf > 2.69
 mijit-bee 2022-04-13 Reuben Thomas Reuben Thomas [7826b9] Remove m0 and msize registers
 src 2022-10-17 Reuben Thomas Reuben Thomas [8a5338] src/Makefile.am: remove build ddep on help2man ...
 tests 2022-04-15 Reuben Thomas Reuben Thomas [c344fa] Move debug code into a private library in tests/
 .appveyor.yml 2022-01-13 Alistair Turnbull Alistair Turnbull [bd8e7c] AppVeyor: fix the builds
 .gitignore 2022-04-11 Reuben Thomas Reuben Thomas [4cfdae] Generate version string from git
 .gitmodules 2018-08-19 Reuben Thomas Reuben Thomas [12a593] Add gnulib git submodule to git
 COPYING 2015-08-18 Reuben Thomas Reuben Thomas [de1a77] Add COPYING as file, not symlink; closes #1 (th...
 Makefile.am 2022-04-11 Reuben Thomas Reuben Thomas [4cfdae] Generate version string from git
 README.md 2022-03-20 Reuben Thomas Reuben Thomas [039f25] README.md: fix a cross-reference
 TODO 2022-01-27 Reuben Thomas Reuben Thomas [67615d] TODO: remove entries that only apply to Beetle
 bootstrap 2019-08-28 Reuben Thomas Reuben Thomas [58f538] bootstrap: update, to clone enough of gnulib
 bootstrap.conf 2022-04-11 Reuben Thomas Reuben Thomas [4cfdae] Generate version string from git
 configure.ac 2022-04-15 Reuben Thomas Reuben Thomas [105f9f] Stop generating bee.h with configure
 README 2018-02-13 Reuben Thomas Reuben Thomas [dd9e8f] Update bootstrap

Read Me

Bee

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.

Installation and compatibility

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.

Building from a release tarball

help2man is required to build from source. For building from git, see below.

To build from a release tarball, run

./configure && make && make check

Building from git

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.

Use

Run bee (see bee --help for documentation).

Documentation

Sorry, there’s only the source code at present.

pForth

pForth is an ANSI Forth compiler that
runs on Bee.

Running Bee object files

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

Bugs and comments

Please send bug reports (preferably as GitHub issues)
and comments. I’m especially interested to know of portability bugs.