LINA(1)

NAME
lina ciforth - ISO Forth Language And Environment

SYNOPSIS
lina [ -AEHMRV ]
lina -C <source>
lina -F [ forth code ]
lina -G <N> <binary-path>
lina -I <binary-path> <library-path> [<shell-path>]
lina -L <library> [ params ]
lina -S <script> [ params ]

DESCRIPTION
Forth is a tried and proven language for evolutionary ("check as you go") programming, ideal for rapid prototyping and embedded systems. lina is the Linux version of ciforth (common Intel Forth), an interpreter environment, scripter and compiler for Forth. It is (large and by) compliant with the ISO Forth standard; the CORE wordset is fully implemented. The small, classic, indirect threaded kernel contains the essential, i.a. file access and exceptions. Its power is multiplied by an extensive source library, that add i.a. a decompiler and integrated 386 assembler. It is simple, fully self contained and intended to be customized by you; if you want to understand a compiler in all details, this is your best, if not only, choice. ciforth sports the highest documentation to binary proportion in the EDP industry, barring m4 on Coherent. This is largely due to an extremely small binary.

OPTIONS
lina without options starts an interactive system. If used as a filter, lina doesn't reflect its input and exits at end of input. Options are implemented by a simple mechanism through the source library, and hence are configurable. The first letter after the - (or DEC-style /) determines the option. It is case insensitive and further letters are ignored. Usually one option only is processed. If the interactive interpreter is started, that is indicated.

-A, -R
    Make the word REQUIRE available. Then start the interpreter.

-C file.frt
    Compile file.frt to the binary file.

-E  Load the electives , i.e. tools for interactive development. Then start the interpreter.

-F words
    Execute the forthcode words . Then start the interpreter.

-G N binary-path
    Expand the system by N Megabytes, then save it under the name binary-path. N may be negative, and in that case the system is made smaller.

-H  Print help, i.e. the option summary.

-I binary-path library-path [shell-path]
    Install the current compiler into binary-path and the current library into library-path. Optionally specify the path of the command interpreter to be used. This must be fully qualified names, not directories. The system is configured accordingly.

-L library-path [arguments]
    Close the default library, and open the library at library-path. Shift the arguments such as to make the -L option invisible. Process any other options, then start the interpreter.

-S script-path [arguments]
    (Intended to be used in a script with ``#!lina -s'' as the first line.) Shift the arguments such as to make the -S option invisible. Interpret the file script-path , ignoring its first line.

-T file.frt
    Try to load the file file.frt automatically, by possibly unsafe means, Report facilities that were required, then start the interpreter.

-M, --, --help, --version
    print help, version and copyright information.

-V  print version and copyright information.

AVAILABILITY
lina is one of the configurations of ciforth.
The generic system can be fetched from

    http://home.hccnet.nl/a.w.m.van.der.horst/ciforth.html

MS-DOS, "windows" , stand alone and Alpha Linux binary versions are available.

ENVIRONMENT
Configuration is done fully internal.

FILES
forth.lab contains a Forth source library. This is configurable at install time.

SEE ALSO
lina.info documents all language features implemented and has a tutorial. Further documentation is beneficial but not mandatory. lina.html contains only the reference documentation, heavily cross referenced.
/usr/share/doc/lina/lina.texinfo allows you to generate the documentation in html, ps and pdf form.
/usr/share/doc/lina/lina.asm and forth.lab are source code and can be viewed.
gforth(1) GNU Forth, a faster and more complicated Forth system.
nasm(1) The Netwide Assembler.

DIAGNOSTICS
Uncaught exceptions will show the error number. Positive error numbers are ciforth-specific and explained in the documentation. Negative error numbers are OS-specific. A mnemonic message is fetched from the library file and displayed, if possible.

DEFECTS
Mistakes can easily crash lina. lina is case sensitive, so ISO words must be entered in upper case. Linux error numbers are not officially related to messages (a Linux defect). A Forth program intended for systems where no Forth library is installed must take care of error messages itself. The library should contain a full complement of the ISO Forth language.

AUTHOR
Copyright © 2000-2004 Albert van der Horst albert@spenarnc.xs4all.nl. ciforth is made available under the GNU Public License: quality, but NO warranty.