by Reuben Thomas (email@example.com)
pForth is a simple Forth compiler. Originally based on Forth-83, it was
modified to conform to the ANSI standard. It is a simple compiler, intended
for portability and study. It has been principally used as an environment
for building other Forth compilers: metacompiling itself for RISC OS and the
Beetle virtual machine; compiling a cut-down version called mForth for RISC
OS and Beetle, and building Machine Forth systems.
pForth is released purely in the hope that it might be interesting or useful
(I am aware that there are other Forth compilers called pForth; the
duplication was unintentional.)
Installation and use
pForth comes pre-compiled for the Beetle VM (src/beetle/pForthImage) and for
RISC OS 3 (see !pForth). For Beetle, which is a portable C program, see
Copyright and Disclaimer
The package is distributed under the GNU Public License version 3, or, at
your option, any later version. A copy is available from my web page (address
THIS PROGRAM IS PROVIDED AS IS, WITH NO WARRANTY. USE IS AT THE USER'S RISK.
Thanks to Hanno Schwalm for improved 0=, U< and U> primitives for the ARM
version, and to the authors of RISC Forth, the first Forth system I studied
closely, which inspired me to write pForth.
Details of Beetle and my Machine Forth implementations are available from
Bugs and comments
Please file bug reports and make comments on GitHub, or by email (see above).
I will probably fix any bugs. Any future development is likely to involve a
total rewrite; I'm particularly interested in rewriting pForth in a more
Forth-like manner (more decomposed, rather than implementing each word as a
single word), and perhaps using object orientation.
Last updated 2016/07/04