Es una implementación del lenguaje Forth desarrollada por el proyecto GNU. Forth es un lenguaje de programación basado en pilas [stack], interactivo y extensible, que se usa en sistemas embebidos, aplicaciones científicas y como herramienta educativa.
$ gforth
Algunos ejemplos de uso de una pila de operaciones:
> 5 3 + . (suma los dígitos e imprime el resultado: "8 ok")
> 10 4 * . (multiplica imprime resultado)
> 7 2 - . (resta e imprime resultado)
> 8 3 / . (Divide e imprime 2, porque usa división entera)
> : cuadrado dup * ; (define una palabra "cuadrado" [función] que eleva al cuadrado el número en la pila)
> 4 cuadrado . (imprime 16)
1.-
Estructuras de control
> : es-positivo? ( n -- )
> 0 > if ." Es positivo" else ." No es positivo" then ;
> 7 es-positivo? (imprime "Es positivo")
> -2 es-positivo? (imprime "No es positivo")
2.-
Bucles
> : contar-10 ( -- )
> 10 0 do i . loop ; (imprime números del 0 al 9)
> contar-10
3.-
Ejecutar un intérprete
$ nano factorial.fs
: factorial ( n -- n! )
dup 1 > if
dup 1 - recurse *
else
drop 1
then ;
$ gforth factorial.fs
> 5 factorial . (imprime 120)