PFE - The Portable Forth Environment


group_id=1922

Project

The Portable Forth Environment (PFE) is based on the ANSI Standard for Forth. The PFE has been created by Dirk-Uwe Zoller and had been maintained up to the 0.9.x versions (1993-1995). Tektronix has adopted the PFE package in 1998 and made a number of extensions. It is now fully multithreaded and it features a module system. You can load additional C objects at runtime to extend the Forth dictionary. It is best targeted for embedded environments since you can easily exchange the terminal driver and the initilization routines.

Snapshot

Snapshots are taken on a regular basis. Have a look at
http://pfe.sourceforge.net/pub

There is currently no CVS at sourceforge. The main releases are to be found at the
PFE sourceforge project page (id 1922)

Documentation

The standard documenation is automatically generated and benefits from comments directly integrated in the PFE sources. See the unpacked documentation on this site, and fetch a copy of the compressed archive from the snapshot directory. In any case, you should read some documentation that encompasses the ANSI Forth Standard, e.g.
the Draft Proposal for ANSI Forth (dpans).

Author

Guido Draheim has been working on PFE at Tektronix in the last years. The released version is now maintained by me, Guido Draheim on a sparetime basis. You can contact me by e-mail, <guidod@gmx.de>.

In 1998 I had been contacting the original author Dirk-Uwe Zoller - well, his e-mail adress had changed since 1995 but I did find him. He told me that he has no intentions at all to do anything about Forth again, and so it came that I did not inform him any further about changes to the PFE. Please don't bother him either about anything that has to do with Forth, 'cause his mind is set elsewhere these days.

Changelog

 
2000-04-10new <guidod@gmx.de>
 * hey, I found out how to instruct automake to instruct libtool
   to create a nonlib shared object - the p4ed.so (Linux/Solaris).
   Sadly, it isn't loadable by an unknown reason :-(, well it says
   "no such file" even if given the full path. Grr.
 * Okay, let's put EPREFIX and LIBDIR into config.h.in - that's about
   easy if you just use AC_DEFINE_UNQUOTED and autoheader. :-)=)
   (unix.c:MODULE_DIR does now default to LIBDIR/PACKAGE (not LIBDIR))
 * hey, I've made it: automake does not correctly compile&link&install
   the p4ed.so module. It can get loaded and works. The automake
   isn't a fine tool but there's so much in it already, it would
   be no use to rebuild it on my own. So, I'll live with these hairy
   tricks that I found out to make it work here...

2000-04-09new <guidod@gmx.de>
 * revive the mk/ subdir. It had been holding makefile snippets
   that formed the basis for the 0.1x.x make generating system,
   much in the spirit of duz'pfe src/config system. Again I have
   need of some makefile snippets, now for certain targets that 
   need some specialties to build correctly. These snippets will
   be activated thru configure.in. In surplus this directory
   will contain the scripts needed during some parts of the 
   build process.
 * mk/sourceforge.html is used as the pfe.sourceforge.net/index.html,
   and this file is generated - it will include the first 4 items
   from the Changelog which gets parsed and fontified.

2000-04-08new <guidod@gmx.de>
 * tweaked the 'make dist' and 'make pre' to bzip2 to ../pub 
   in an automagical fashion. Now snapshots can be taken easily.
 * many problems with egcs-2.91 --with-regs on i32, put back the
   default for autoconf to --with-regs=no
 * reworked the toplevel-Makefile again, have a make.sh now
 * lots of cleanups in --with-regs compilation, need to include
   p4e.h before system-includes!! now have an extra p4_missing.h
   as a spin off from p4_config.h
 * add configuration-screen at end of configure.in, so the user 
   will be informed that she compiled --without-regs (as default).
 * rewrite toplevel configure completely
 * Release as 0.28.17

2000-04-07new <guidod@gmx.de>
 * solaris and gcc 2.9* pushed me into adding $OPTIM and a new
   $UNSIGNEDCHAR variables into $CFLAGS. Weee, that goes off fast.
   Well, it did help that I fixed the warnings for Linux, now in
   Solaris there aren't any left.
 * done a lot about configure.in and Makefile.am to squeeze out more
   funtionality. Sadly enough, the p4ed.so isn't generated yet, you
   have to wait for pfe-tool.in in the next release :-(
 * Release as 0.28.16 at pfe.sourceforge.net

 

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

The complete License should come with the distribution archive (COPYING.LIB) or look for the latest version at the FSF website. The HTML-version of the LGPL-License can also be obtained from OpenSource.org.

As with all free software, there are no warranties for use cases that the copyright holders have not given an explicit liability. The distributor of the program should give you more information about support options to pay for.

The program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


(P) 2000-04-10 "PFE - Portable Forth Environment" guidod @ pc3