FTH Forth Scripting

About FTH

Fth is a BSD licensed free software package which includes the interpreter fth and the extension library libfth. You can use Fth as a command line interpreter like Awk, Perl, or Ruby, you can write Forth scripts, use the repl for interactive input or you can link libfth into an application using Fth as extension language.

Fth's core language is Ficl, Forth-inspired command language, written by John Sadler . The manipulated Ficl source is included in Fth's source tree. The original Ficl source is slightly modified because of Fth' special needs. The interactive Fth interpreter supports tcsh-like comman-line editing with the Tecla library and big integer arithmetic with bn(3) .

Fth has the following ANS Forth labels:

Label Value Label Value
core yes core-ext yes
/counted-string 1024 /hold 1024
/pad 1024 address-unit-bits 8
floored no max-char 0xFF
max-n (i386 ...) 0x7FFFFFFF max-u (i386 ...) 0xFFFFFFFF
max-n (amd64 ...) 0x7FFFFFFFFFFFFFFF max-u (amd64 ...) 0xFFFFFFFFFFFFFFFF
stack-cells 8192 return-stack-cells 1024
double no double-ext no
exception yes exception-ext yes
locals yes locals-ext yes
#locals 2048 memory-alloc yes
tools yes tools-ext no
file yes file-ext yes
floating yes floating-ext yes
floating-stack 0 max-float >3.4e38
search-order yes search-order-ext yes
wordlists 32

Fth' double word set doesn't eat two stack entries and the so called double word numbers are actually ficl2Integers. An extra float stack doesn't exist.

The Fth library contains object type extensions, for example arrays, hashs, strings, regexp and others. A garbage collector handles the memory management of object types.

You can get the latest fth-1.3.7.tar.bz2 from http://sourceforge.net/projects/fth/ . If you prefer SVN, you can check out the source code with:

% mkdir ~/src
% cd ~/src
% svn checkout svn://svn.code.sf.net/p/fth/code/trunk fth

The directory ~/src/fth contains the source tree; update it with:

% cd ~/src/fth
% svn update

Happy Forthing!

Web Hosting by 000WebHost DNS Hosting by ZoneEdit Forth Programming Language Information

Email: Michael Scholz
ISN: 3842101*1529
Phone: +1-920-965-6373
Last modified: 28-Dec-2014 08:11PM CET