Portable Forth Environment


Table of Contents

1. PFE Documentation 0.33.x
How To Write A PFE Module
The Current State
The Name Of The Module
Create the File And Add It To Makefile.am
What Must Be In The Source File
Semant - advanced words of PFE
Runtime - preparing PFE for call-threading
WordSets in External Modules
External Modules
WordSet Activation
Available Modules
Tuning The Portable Forth Environment
Loop unrolling in the inner interpreter
Using global register variables
Choosing registers to use
How To Make A Dist
'make doc', 'make dist-doc' and 'make install-doc'
'make rpm' and friends
How Uppercased Words Are Found
Historic Approaches
Supporting Import Of Third-Party Symbols
The Problems Of A Per-Wordlist Flag
The Double-Buffer Search
Advantages And Recommended Use
Differences And Pitfalls
Header Fields and Terms
Terminology
Traditional Word Entry Layout
Searching A Word
Mechanics Of VARIABLE and VALUE
PFE Threading types
CFA Threaded
CALL Threaded
SBR Threading
SBR-ARG Threading
extra RP or not
Porting SBR-Threading
Choosing an ARG-register
Traditional CPU
RISC w/ LR type CPU
Summary
Internal Decisions
The Head.aux Field
The Flag.byte Field
The Head Layout
Non-Const >BODY
StateSmart Words and POSTPONE
Locals in PFE
ANS Locals
Explicit Locals
Using POCKETs
Special Implementation Strategies
Environment Vocabulary
[defined] / [undefined]
state-smart over exec-only
Quoted-Parse Idea
Literature
Dirk Zoller's README
What is it?
Legalese
Why did I do it?
Design objectives
Status
Usage
Documentation
Contributions
Acknowledgements
Known Problems
The Underline on ABORT
loading an INCLUDE-file at boot or on the command line
Problems in 0.32.x
Interfacing directly with POSIX File I/O
History
Other Systems
Sockets
License
The GNU Lesser General Public License (LGPL)
GNU LESSER GENERAL PUBLIC LICENSE
Preamble
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
NO WARRANTY
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.
<xi:include></xi:include>