Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An automated mirror of Gforth's Git repository on Savannah ( Updates hourly.

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 arch
Octocat-spinner-32 asm
Octocat-spinner-32 compat
Octocat-spinner-32 contrib
Octocat-spinner-32 doc
Octocat-spinner-32 ec
Octocat-spinner-32 engine
Octocat-spinner-32 kernel-ec
Octocat-spinner-32 kernel
Octocat-spinner-32 libltdl
Octocat-spinner-32 netlib
Octocat-spinner-32 test
Octocat-spinner-32 unix
Octocat-spinner-32 vmgen-ex
Octocat-spinner-32 vmgen-ex2
Octocat-spinner-32 wordlibs
Octocat-spinner-32 .cvsignore
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 Agenda
Octocat-spinner-32 BUGS
Octocat-spinner-32 BUILD-FROM-SCRATCH
Octocat-spinner-32 Benchres
Octocat-spinner-32 COPYING
Octocat-spinner-32 COPYING.DOC
Octocat-spinner-32 COPYING.LIB
Octocat-spinner-32 ChangeLog
Octocat-spinner-32 INSTALL
Octocat-spinner-32 INSTALL.BINDIST
Octocat-spinner-32 INSTALL.DOS
Octocat-spinner-32 NEWS
Octocat-spinner-32 NEWS.vmgen
Octocat-spinner-32 NEWS.vmgen.future
Octocat-spinner-32 README
Octocat-spinner-32 README.vmgen
Octocat-spinner-32 ToDo
Octocat-spinner-32 ToDo-native
Octocat-spinner-32 abi-code-test.fs
Octocat-spinner-32 add.fs
Octocat-spinner-32 ans-report.fs
Octocat-spinner-32 ansi.fs
Octocat-spinner-32 answords.fs
Octocat-spinner-32 archive.fs
Octocat-spinner-32 assert.fs
Octocat-spinner-32 backtrac.fs
Octocat-spinner-32 blocked.fb
Octocat-spinner-32 blocks.fs
Octocat-spinner-32 bubble.fs
Octocat-spinner-32 bufio.fs
Octocat-spinner-32 cache-fast0.vmg
Octocat-spinner-32 cache-fast1.vmg
Octocat-spinner-32 cache-fast2.vmg
Octocat-spinner-32 cache-fast3.vmg
Octocat-spinner-32 cache-fast4.vmg
Octocat-spinner-32 cache-fast5.vmg
Octocat-spinner-32 cache-fast6.vmg
Octocat-spinner-32 cache-fast7.vmg
Octocat-spinner-32 cache-fast8.vmg
Octocat-spinner-32 cache-regs1.vmg
Octocat-spinner-32 cache-regs2.vmg
Octocat-spinner-32 cache-regs3.vmg
Octocat-spinner-32 cache-regs4.vmg
Octocat-spinner-32 cache0.vmg
Octocat-spinner-32 cache1.vmg
Octocat-spinner-32 callable.fs
Octocat-spinner-32 chains.fs
Octocat-spinner-32 code.fs
Octocat-spinner-32 colorize.fs
Octocat-spinner-32 comp-i.fs
Octocat-spinner-32 complex.fs
Octocat-spinner-32 config.bat
Octocat-spinner-32 config.guess
Octocat-spinner-32 config.sub
Octocat-spinner-32 configure.cmd
Octocat-spinner-32 context-struct.fs
Octocat-spinner-32 cross.fs
Octocat-spinner-32 cstr.fs
Octocat-spinner-32 date.fs
Octocat-spinner-32 debian.changelog
Octocat-spinner-32 debian.control
Octocat-spinner-32 debian.rules
Octocat-spinner-32 debug.fs
Octocat-spinner-32 debugs.fs
Octocat-spinner-32 depth-changes.fs
Octocat-spinner-32 dis-gdb.fs
Octocat-spinner-32 dosconf.h
Octocat-spinner-32 dosekey.fs
Octocat-spinner-32 doskey.fs
Octocat-spinner-32 ds2texi.fs
Octocat-spinner-32 ekey.fs
Octocat-spinner-32 elisp-comp
Octocat-spinner-32 endtry-iferror.fs
Octocat-spinner-32 environ.fs
Octocat-spinner-32 envos.dos
Octocat-spinner-32 envos.os2
Octocat-spinner-32 errors.fs
Octocat-spinner-32 etags.fs
Octocat-spinner-32 exboot.fs
Octocat-spinner-32 except.fs
Octocat-spinner-32 extend.fs
Octocat-spinner-32 fflib.fs
Octocat-spinner-32 fft-bench.fs
Octocat-spinner-32 fft.fs
Octocat-spinner-32 fget.fs
Octocat-spinner-32 fi2c.fs
Octocat-spinner-32 fib.fs
Octocat-spinner-32 filedump.fs
Octocat-spinner-32 fixpath.fs
Octocat-spinner-32 float.fs
Octocat-spinner-32 fsl-util.4th
Octocat-spinner-32 fsl-util.fs
Octocat-spinner-32 gfgen
Octocat-spinner-32 gforth-cgi.fs
Octocat-spinner-32 gforth.dsc
Octocat-spinner-32 gforth.el
Octocat-spinner-32 gforth.lsm
Octocat-spinner-32 gforth.spec
Octocat-spinner-32 gforthmi.bat
Octocat-spinner-32 gforthmi.cmd
Octocat-spinner-32 gforthrc.fs
Octocat-spinner-32 glocals.fs
Octocat-spinner-32 glosgen.fs
Octocat-spinner-32 glosgen.glo
Octocat-spinner-32 gray.fs
Octocat-spinner-32 growable.fs
Octocat-spinner-32 hash.fs
Octocat-spinner-32 heartbleed.fs
Octocat-spinner-32 history.fs
Octocat-spinner-32 html.fs
Octocat-spinner-32 httpd.fs
Octocat-spinner-32 i18n.fs
Octocat-spinner-32 install-sh
Octocat-spinner-32 install-tags.fs
Octocat-spinner-32 intcomp.fs
Octocat-spinner-32 lib.fs
Octocat-spinner-32 libcc.fs
Octocat-spinner-32 libffi.fs
Octocat-spinner-32 list.fs
Octocat-spinner-32 locals-test.fs
Octocat-spinner-32 locals.fs
Octocat-spinner-32 locate.fs
Octocat-spinner-32 look.fs
Octocat-spinner-32 mach16b.fs
Octocat-spinner-32 mach16l.fs
Octocat-spinner-32 mach32b.fs
Octocat-spinner-32 mach32l.fs
Octocat-spinner-32 mach64b.fs
Octocat-spinner-32 mach64l.fs
Octocat-spinner-32 make-app.fs
Octocat-spinner-32 matrix.fs
Octocat-spinner-32 mini-oof.fs
Octocat-spinner-32 mini-oof2.fs
Octocat-spinner-32 missing
Octocat-spinner-32 mkdir.fs
Octocat-spinner-32 mkdosmf.sed
Octocat-spinner-32 mkinstalldirs
Octocat-spinner-32 mkos2mf.sed
Octocat-spinner-32 model
Octocat-spinner-32 moof-exm.fs
Octocat-spinner-32 moof2-example.fs
Octocat-spinner-32 moofglos.fs
Octocat-spinner-32 more.fs
Octocat-spinner-32 objects.fs
Octocat-spinner-32 objexamp.fs
Octocat-spinner-32 oldlib.fs
Octocat-spinner-32 onebench.fs
Octocat-spinner-32 oof.fs
Octocat-spinner-32 oofsampl.fs
Octocat-spinner-32 os2conf.h
Octocat-spinner-32 other.fs
Octocat-spinner-32 parsedto.fs
Octocat-spinner-32 peeprules.vmg
Octocat-spinner-32 prelude.fs
Octocat-spinner-32 prim
Octocat-spinner-32 prims2cl.fs
Octocat-spinner-32 prims2x.fs
Octocat-spinner-32 prims2x0.6.2.fs
Octocat-spinner-32 prof-inline.fs
Octocat-spinner-32 profile.fs
Octocat-spinner-32 proxy.fs
Octocat-spinner-32 quotations.fs
Octocat-spinner-32 quotedstring.fs
Octocat-spinner-32 quotes.fs
Octocat-spinner-32 random.fs
Octocat-spinner-32 recover-endtry.fs
Octocat-spinner-32 regexp-test.fs
Octocat-spinner-32 regexp.fs
Octocat-spinner-32 savesys.fs
Octocat-spinner-32 script.fs
Octocat-spinner-32 search.fs
Octocat-spinner-32 see-ext.fs
Octocat-spinner-32 see.fs
Octocat-spinner-32 siev.fs
Octocat-spinner-32 sieve.fs
Octocat-spinner-32 simp-see.fs
Octocat-spinner-32 siteinit.fs
Octocat-spinner-32 smartdots.fs
Octocat-spinner-32 sokoban.fs
Octocat-spinner-32 source.fs
Octocat-spinner-32 startup.fs
Octocat-spinner-32 status.fs
Octocat-spinner-32 str-exec.fs
Octocat-spinner-32 string.fs
Octocat-spinner-32 struct.fs
Octocat-spinner-32 struct0x.fs
Octocat-spinner-32 stuff.fs
Octocat-spinner-32 substitute.fs
Octocat-spinner-32 table.fs
Octocat-spinner-32 tags.fs
Octocat-spinner-32 tasker.fs
Octocat-spinner-32 termsize.fs
Octocat-spinner-32 testall
Octocat-spinner-32 testclean
Octocat-spinner-32 testdist
Octocat-spinner-32 testdist1
Octocat-spinner-32 traceall.fs
Octocat-spinner-32 tt.fs
Octocat-spinner-32 unbuffer.fs
Octocat-spinner-32 update-copyright
Octocat-spinner-32 update-copyright-blacklist
Octocat-spinner-32 user-object.fs
Octocat-spinner-32 utf-8.fs
Octocat-spinner-32 versions.bsh
Octocat-spinner-32 vt100.fs
Octocat-spinner-32 vt100key.fs
Octocat-spinner-32 webform.fs
Octocat-spinner-32 wf.fs
Octocat-spinner-32 wordinfo.fs
Octocat-spinner-32 wordlib.fs
Octocat-spinner-32 wordsets.fs
Octocat-spinner-32 xhash.fs
Octocat-spinner-32 xwords.fs
Octocat-spinner-32 xxxprim
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).

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:

 gcc-2.95.2 19991024 (release)
 gcc-2.95.4 20011002 (Debian prerelease) 
 gcc-3.3.6 (Debian 1:3.3.6-15) 
 gcc-3.4.6 (Debian 3.4.6-5) 
 gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 gcc-3.3.6 (Debian 1:3.3.6-15)
 broken: gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 gcc-2.95.4 20011002 (Debian prerelease) 
 gcc-3.3.5 (Debian 1:3.3.5-13) 
 gcc-3.4.4 20050314 (prerelease) (Debian 3.4.3-13sarge1)
 broken: gcc-3.4.3
 gcc-2.95.4 20011002 (Debian prerelease) 
 gcc-3.2.3 (Debian) 
 gcc-3.3.6 (Debian 1:3.3.6-15) 
 gcc-3.4.6 (Debian 3.4.6-8) 
 gcc-4.0.3 20060128 (prerelease) (Debian 4.0.2-8) 
 gcc-4.1.3 20080623 (prerelease) (Debian 4.1.2-23) 
 gcc-3.4.6 (Debian 3.4.6-5) 
 gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 gcc-3.4.3 (csl-sol210-3_4-branch+sol_rpath) 
 gcc-3.3.6 (Debian 1:3.3.6-15) 
 gcc-3.4.6 (Debian 3.4.6-5) 
 gcc-4.0.4 20060904 (prerelease) (Debian 4.0.3-7) 
 gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 gcc-4.1.3 20080623 (prerelease) (Debian 4.1.2-23) 
 gcc-4.2.4 (Debian 4.2.4-3) 
gforth-ec: r8c, 4stack, misc, 8086

Read INSTALL for installation instructions from source, or INSTALL.DOS
for DOS, Windows, and OS/2 from source, or INSTALL.BINDIST if you have
a binary package distributed as .tar.gz or .zip 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).

You can find new versions of Gforth at
and its mirrors or at

The latter site also contains binary distributions of Gforth for some
popular platforms.

If you want to work on Gforth, mail me. Tasks to be done can be found
in ToDo; but if you would like to do something not mentioned there,
it's ok, too. In any case, we would like to hear what you are
doing. The most important task IMO is the foreign language interface
for C.

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

*.fs	Forth stream source file (include with "include <file>" from within
        gforth, or start with "gforth <file1> <file2> ...")
*.fi	Forth image files (start with "gforth -i <image file>")
*.fb	Forth blocks file (load with "use <block file> 1 load")
*.i	C include files
*.ds	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:

code.fs random.fs more.fs ansi.fs colorize.fs
oof.fs oofsampl.fs objects.fs blocked.fb tasker.fs

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

tt.fs sokoban.fs

Test programs (for testing Forth systems):

bubble.fs siev.fs matrix.fs fib.fs

ANS Forth implementations of Gforth extensions:

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:  You have to subsribe to post there.
You can subscribe through
<>.  The list is archived
at <>.

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

- anton
Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2006,2007,2008,2009 Free Software Foundation, Inc.

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
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
Something went wrong with that request. Please try again.