FTH Forth Scripting |
|---|
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 |
| max-d | 0x7FFFFFFFFFFFFFFF | max-ud | 0xFFFFFFFFFFFFFFFF |
| 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.5.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 SourceForge | DNS Hosting by ZoneEdit | Forth Programming Language Information |
|