Code Monkey home page Code Monkey logo

ghuwk / gforth Goto Github PK

View Code? Open in Web Editor NEW

This project forked from forthy42/gforth

1.0 0.0 0.0 130.9 MB

Gforth mirror on GitHub (original is on Savannah)

License: GNU General Public License v3.0

Forth 64.32% Shell 1.84% C 26.00% Makefile 1.69% Java 0.72% Assembly 0.45% C++ 1.51% Verilog 0.11% TeX 0.82% Python 0.25% SuperCollider 0.26% Scheme 0.01% OpenEdge ABL 0.09% QMake 0.07% Awk 0.01% Emacs Lisp 1.30% Batchfile 0.16% Lex 0.06% Yacc 0.16% Pascal 0.17%

gforth's Introduction

Gforth README

Build Status Travis pipeline status pipeline status

Gforth is a fast and portable implementation of the ANS Forth/Forth 200x 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 is part of the GNU Operating System, developed by the GNU Project. To learn more about Free (libre) Software, you can read this page: https://gnu.org/philosophy/free-sw.html

If you are the author of an awesome program and want to join us in writing Free (libre) Software, please consider making it an official GNU program and become a GNU Maintainer. You can find instructions on how to do this here: https://www.gnu.org/help/evaluation

Another way to contribute to the Forth community is by uploading your program as a package to the Forth Net: https://theforth.net

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 _<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
\*.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: [email protected]. 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


Authors: Bernd Paysan, Anton Ertl, Gerald Wodni Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2006,2007,2008,2009,2016,2017,2018,2019,2020 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 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/.

gforth's People

Contributors

antonertl avatar bendlas avatar earl avatar forthy42 avatar geraldwodni avatar geyslan avatar horttanainen avatar larsbrinkhoff avatar lennart-benschop avatar tuffnatty avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.