README.md 4.55 KB
Newer Older
1
# Gforth README
2 3

[![Build Status Travis](https://travis-ci.org/forthy42/gforth.png?branch=master)](https://travis-ci.org/forthy42/gforth)
4
[![pipeline status](https://gitlab.com/forthy42/gforth/badges/master/pipeline.svg)](https://gitlab.com/forthy42/gforth/commits/master)
Bernd Paysan's avatar
Bernd Paysan committed
5
[![pipeline status](https://git.net2o.de/bernd/gforth/badges/master/pipeline.svg)](https://git.net2o.de/bernd/gforth/commits/master)
6

7 8 9 10 11 12 13 14 15 16 17
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
18

19 20 21 22
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:

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
* 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
45 46

## Installation
47 48 49 50

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.\
51 52 53 54 55 56
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
57 58 59 60

You can find new versions of Gforth at\
[gforth.org/gforth](https://gforth.org/gforth)\
or at\
61 62 63
[ftp://ftp.gnu.org/gnu/gforth/](ftp://ftp.gnu.org/gnu/gforth/)

## Files
64

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

Bernd Paysan's avatar
Bernd Paysan committed
67 68 69 70
\*.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`")\
71 72 73
\*.i	C include files\
\*.texi.in	documenation source\
\*TAGS	etags files
74 75 76 77 78

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:

79 80 81
__Add-ons:__
    code.fs random.fs more.fs ansi.fs colorize.fs
    oof.fs oofsampl.fs objects.fs blocked.fb tasker.fs
82

83
__Utilities:__
84 85
    ans-report.fs etags.fs glosgen.fs filedump.fs

86
__Games:__
87 88
    tt.fs sokoban.fs

89 90
__Test programs (for testing Forth systems):__
    test/\*.fs
91

92
__Benchmarks:__
93 94
    bubble.fs siev.fs matrix.fs fib.fs

95 96
__ANS Forth implementations of Gforth extensions:__
    compat/\*.fs
97

98 99
__C-Bindings:__
    unix/\*.fs
100 101

## Support
102

103 104 105 106
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
107 108
[http://lists.gnu.org/mailman/listinfo/gforth](http://lists.gnu.org/mailman/listinfo/gforth).  The list is archived
at [http://lists.gnu.org/pipermail/gforth/](http://lists.gnu.org/pipermail/gforth).
109 110 111 112

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

113
[https://savannah.gnu.org/bugs/?func=addbug&group=gforth](https://savannah.gnu.org/bugs/?func=addbug&group=gforth)
114 115 116

- anton
anton@mips.complang.tuwien.ac.at
117 118 119 120
[http://www.complang.tuwien.ac.at/anton/home.html](http://www.complang.tuwien.ac.at/anton/home.html)

---

121
Authors: Bernd Paysan, Anton Ertl, Gerald Wodni
Anton Ertl's avatar
Anton Ertl committed
122
Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2006,2007,2008,2009,2016,2017,2018 Free Software Foundation, Inc.
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137

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/.