An automated mirror of Gforth's Git repository on Savannah (https://savannah.gnu.org/projects/gforth/). Updates hourly.
Forth C C++ Makefile Shell Emacs Lisp Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
arch
asm
compat
contrib better division speed benchmark contrib/divspeed2.fs Apr 5, 2016
debian
doc
ec
engine
kernel-ec
kernel
m4
minos2
netlib
test
unix
vim
vmgen-ex
vmgen-ex2
wordlibs
.cvsignore
.gitattributes
.gitignore
.travis.yml
2012words.fs
AUTHORS
Agenda
BUGS
BUILD-FROM-SCRATCH
Benchres
COPYING
COPYING.DOC
COPYING.LIB
ChangeLog
INSTALL
INSTALL.BINDIST
INSTALL.DOS
INSTALL.md
Makedist.in
Makefile.in
NEWS
NEWS.vmgen
NEWS.vmgen.future
README
README.md
README.vmgen
ToDo
ToDo-native
abi-code-test.fs
add.fs
ans-report.fs
ansi.fs
answords.fs
archive.fs
assert.fs
autogen.sh Add --ltdl switch to libtoolize for debdist Oct 7, 2016
backtrac.fs
blocked.fb
blocks.fs
bubble.fs
bufio.fs
build-ec.in
cache-fast0.vmg
cache-fast1.vmg
cache-fast2.vmg
cache-fast3.vmg
cache-fast4.vmg
cache-fast5.vmg
cache-fast6.vmg
cache-fast7.vmg
cache-fast8.vmg
cache-regs1.vmg
cache-regs2.vmg
cache-regs3.vmg
cache-regs4.vmg
cache0.vmg
cache1.vmg
callable.fs
chains.fs
cilk.fs
code.fs
colorize.fs
comp-i.fs
complex.fs updated copyright years Dec 31, 2015
config.bat
configure.ac
configure.cmd
context-struct.fs Makefile changes to compile libraries Jul 19, 2012
cross.fs Removed trampoline for locals; causes more problems than it solves Oct 5, 2016
cstr.fs
date.fs
debug.fs
debugs.fs
depth-changes.fs
dis-gdb.fs
dosconf.h
dosekey.fs updated copyright year after changing license notice Dec 31, 2007
doskey.fs
ds2texi.fs
ekey.fs
elisp-comp
endtry-iferror.fs
environ.fs
envos.dos
envos.fs.in
envos.os2 updated copyright year after changing license notice Dec 31, 2007
errors.fs
etags.fs
exboot.fs
except.fs
extend.fs
fflib.fs
fft-bench.fs
fft.fs
fget.fs
fi2c.fs
fib.fs
filedump.fs
firewall.iss
fixfiles.fs
fixpath.fs
float.fs
forward.fs
fsl-util.4th
fsl-util.fs
gforth-cgi.fs
gforth-rpmlintrc
gforth.dsc
gforth.el
gforth.ico
gforth.lsm
gforth.spec
gforthker.in
gforthmi.bat
gforthmi.cmd
gforthmi.in Use Gforth for mv on Windows Sep 5, 2016
gforthmi.sh.in Fix libccdir in gforthmi Jan 14, 2016
gforthrc.fs
glocals.fs
glosgen.fs
glosgen.glo
gray.fs
growable.fs
hash.fs
heartbleed.fs
help.txt
history.fs
html.fs updated copyright year after changing license notice Dec 31, 2007
httpd.fs
i18n.fs
install-deps.sh
install-swig.sh
install-tags.fs
intcomp.fs
iss.sh
lib.fs
libcc.fs
libffi.fs
libforth.in
list.fs
locals-test.fs
locals.fs updated copyright years Dec 31, 2015
locate.fs
locate1.fs
look.fs
mach16b.fs
mach16l.fs
mach32b.fs
mach32l.fs
mach64b.fs
mach64l.fs
machpc.fs.in
make-app.fs
matrix.fs
mini-oof.fs
mini-oof2.fs
mkdir.fs
mkdosmf.sed
mkinstalldirs
mkos2mf.sed
model
modpath.iss
moof-exm.fs
moof2-example.fs
moofglos.fs
more.fs
notfound.fs
objects.fs
objex1.fs
objex2.fs
objexamp.fs
oldlib.fs
onebench.fs
oof.fs Replace 1 cells - with cell- Sep 20, 2012
oofsampl.fs
options.fs
os2conf.h
other.fs updated copyright years Dec 31, 2013
parsedto.fs
peeprules.vmg
preforth.in
prelude.fs started on prelude concept Sep 5, 2009
prim Save images with C bindings work; though many of the C bindings and t… Oct 18, 2016
prims2cl.fs
prims2x.fs
prims2x0.6.2.fs
prof-inline.fs
profile.fs
proxy.fs
quotations.fs
quotedstring.fs
quotes.fs
random.fs
rec-env.fs
rec-scope.fs
recognizer2.fs
recover-endtry.fs updated copyright notices for GPL v3 Dec 31, 2007
regexp-test.fs
regexp.fs some small changes to documentation Aug 22, 2016
savesys.fs
script.fs
search.fs
sections.fs
see-ext.fs
see.fs
set-compsem.fs
siev.fs Replace 1 cells - with cell- Sep 20, 2012
sieve.fs
simp-see.fs
siteinit.fs
smartdots.fs More debugging Sep 20, 2012
sokoban.fs
source.fs
startup.fs
status.fs
str-exec.fs
string.fs
struct-val.fs
struct.fs
struct0x.fs
stuff.fs
substitute.fs
table.fs
tags.fs
tasker.fs
termsize.fs
testall
testclean
testdist
testdist1
timings.sc
traceall.fs
tt.fs
unbuffer.fs
update-copyright
update-copyright-blacklist
user-object.fs
utf-8.fs
utf16.fs
versions.bsh
vmgen.in
vt100.fs
vt100key.fs
webform.fs
wf.fs
wininst.sh
wordinfo.fs
wordlib.fs
wordlib.mk
wordsets.fs
xhash.fs
xwords.fs
xxxprim updated copyright year after changing license notice Dec 31, 2007

README.md

Gforth README

Gforth is a fast and portable implementation of the ANS Forth language. It works nicely with the Emacs editor, offers some nice features such as input completion and history, backtraces, a decompiler and a powerful locals facility, and it has a comprehensive manual. Gforth combines traditional implementation techniques with newer techniques for portability and performance: its inner interpreter is direct threaded with several optimizations, but you can also use a traditional-style indirect threaded interpreter. Gforth is distributed under the GNU General Public license (see COPYING).

Supported Systems

Gforth runs under GNU, BSD, and similar systems, MS Windows and MacOS X and should not be hard to port to other systems supported by GCC. This version has been tested successfully on the following platforms:

  • GNU/Linux
    • amd64
    • arm64
    • armel
    • armhf
    • i386
    • mips
    • mipsel
    • powerpc
  • Android/Linux
    • amd64
    • arm64
    • arm
    • i386
    • mips
  • Gforth EC(embedded): r8c, 4stack, misc, 8086
  • Windows
    • amd64
    • i386
  • MacOS
    • amd64
    • i386

Installation

Read INSTALL for installation instructions from tarball, or INSTALL.md for from git, or INSTALL.BINDIST if you have a binary package distributed as .tar.xz file. If you received a self-installing executable, just run it and follow the instructions.

To start the system, just say gforth (after installing it).

Download

You can find new versions of Gforth at gforth.org/gforth or at ftp://ftp.gnu.org/gnu/gforth/

Files

On popular request, here are the meanings of unusual file extensions:

*.fs Forth stream source file (include with "include " from within gforth, or start with "gforth ...") *.fi Forth image files (start with "gforth -i ") *.fb Forth blocks file (load with "use 1 load") *.i C include files *.texi.in documenation source *TAGS etags files

A number of Forth source files are included in this package that are not necessary for building Gforth. Not all of them are mentioned in the rest of the documentation, so here's a short overview:

Add-ons: code.fs random.fs more.fs ansi.fs colorize.fs oof.fs oofsampl.fs objects.fs blocked.fb tasker.fs

Utilities: ans-report.fs etags.fs glosgen.fs filedump.fs

Games: tt.fs sokoban.fs

Test programs (for testing Forth systems): test/*.fs

Benchmarks: bubble.fs siev.fs matrix.fs fib.fs

ANS Forth implementations of Gforth extensions: compat/*.fs

C-Bindings: unix/*.fs

Support

For discussions about Gforth, use the Usenet newsgroup comp.lang.forth. If you prefer not to post on Usenet, there is also a mailing list: gforth@gnu.org. You have to subsribe to post there. You can subscribe through http://lists.gnu.org/mailman/listinfo/gforth. The list is archived at http://lists.gnu.org/pipermail/gforth/.

You can also report bugs through these channels, or you can report them through our bug database:

https://savannah.gnu.org/bugs/?func=addbug&group=gforth

This file is part of Gforth.

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

This 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.