Gforth is the Forth implementation of the GNU project (Current release 0.7.3, have a look to the User Manual). Source distributions can be found on GNU's Gforth directory, source and binary distributions for popular platforms such as Windows, GNU/Linux, etc. can be found in Home of Gforth, as well as snapshots of the development version in the git repository on Savannah. Read the updated documentation for the snapshots in Gforth's snapshot manual.
Gforth uses GCC to compile a fast direct or indirect threaded Forth; Gforth is fully ANS FORTH compliant. Authors of Gforth are Anton Ertl, Bernd Paysan, Jens Wilke, Neal Crook, David Kühling and others.
The goal of the Gforth Project is to develop a standard model for ANSI Forth. This can be split into several subgoals:
To achieve these goals Gforth should be
There's an object oriented package, written in almost plain ANS Forth (now part of Gforth's distribution).
is a decimal prefix:
10 now produces (decimal) 10
-50.
Bug fixes (installation on big-endian machines sometimes did not work)
Changes in behaviour:
S"
: interpreted use now ALLOCATE
s the string (they live until BYE
).
Operating environment:
tags.fs
(usage like etags.fs
).
gforth.el
mostly rewritten.
New words:
EDIT-LINE
K-PRIOR
K-NEXT
K-DELETE
SLURP-FILE
SLURP-FID
ID. .ID WORDLIST-WORDS SIMPLE-SEE
[DEFINED]
[UNDEFINED]
CONST-DOES>
]]
PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE
STR= STR< STRING-PREFIX?
S\" .\" \"-PARSE
F.RDP F>STR-RDP F>BUF-RDP
Miscellaneous:
Changes in behaviour:
1 OFFSET !
to establish the old
behaviour.
READ-LINE
now interprets LF, CR, and CRLF as
newlines. Newlines on output are in the OSs favourite format.
SEE
now disassembles primitives (or hex- DUMP
s the code if no
disassembler is available).
>HEAD
(aka >NAME
) now returns 0 (instead of the nt of ???) on failure.
Operating environment:
THROW
) in batch processing.
gforthmi --application
..." to build an image that
processes the whole command-line when invoked directly (instead of
through gforth -i
).
Ports:
New words:
EKEY EKEY? EKEY>CHAR
CPUTIME UTIME
V*
FAXPY
F~ABS
F~REL
[IS]
Nested number output:
<<# #>>
TRY RECOVER ENDTRY
OPEN-DIR READ-DIR CLOSE-DIR FILENAME-MATCH
]L PUSH-ORDER
Miscellaneous:
Operating environment:
gforth
and gforthmi
is now more GNU standards compliant (wrt
command-line options).
--die-on-signal
Ports:
New, changed, and removed words:
F0
to FP0
(avoids unexpected behaviour in hex), added aliases SP0
, RP0
, LP0
(recommended for future use) for S0
, R0
, L0
.
PARSE-WORD
into SWORD
(PARSE-WORD
is used with the meaning of NAME
in OpenBoot and
dpans6 A.6.2.2008)
FPICK
(suggested by Julian Noble).
EXCEPTION
.
S" gforth" ENVIRONMENT?
now produces the version-string.
Miscellaneous:
There's a mailing list around Gforth-related topics: gforth@gnu.org.
Read old postings in the list archive of the Gforth list.
Subscribe by filling out the Form here.
Copyright © 1997-2013 Free Software Foundation, Inc.
This page is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.