FORM(1)

NAME
FORM - Symbolic manipulation system

SYNOPSIS
form [ options ] inputfile

DESCRIPTION

FORM is a symbolic manipulation system. The form command reads a text file (which should have a name that ends with the extension .frm, or - to read the standard input) containing definitions of mathematical expressions as well as statements that tell it how to manipulate these expressions. It is widely used in the theoretical particle physics community, but it is not restricted to applications in this specific field.

tform is the threaded version using POSIX Threads.

parform is the multiprocessing version using MPI.

OPTIONS

-   Read the input from stdin instead of from a file.

-c  Error checking only. Notice that this will not work properly if there are conditionals in the preprocessor phase that depend on results obtained at earlier stages of the program.

-C  Next argument is the filename of the log file. The default is the filename of the FORM script with the .log extension.

-d, -D
    Next argument/option is the name of a preprocessor variable that will be defined before the run starts. A specific value can be assigned with the syntax -d VARIABLENAME=VALUE. The default value is 1.

-f  Output goes only to log file.

-F  Output only to log file. Further like -L or -ll.

-h  Wait for some key to be touched before finishing the run. Basically only for some old window based systems.

-I  Next argument/option is the path of a directory for include, procedure and subroutine files.

-l  Make a regular log file.

-ll, -L
    Make a log file without intermediate statistics.

-M  Put the PID (process identifier) in the name of the temporary files. This makes for longer names, but gives a better guarantee of uniqueness. If a file with the created name exists already it will be overwritten. This option is for when several instances of FORM are started at nearly the same time as can happen from minos or make (with the make -j option).

-p  Next argument/option is the path of a directory for input, include, procedure and subroutine files.

-pipe
    Indicates that FORM is started up as the receiving end of a pipe. Action will be taken to set up the proper communication channels.

-q, -si
    Quiet option. Only output expressions are printed.

-R  Recover from a crash.

-s  Next argument/option is the path of a directory for a setup file.

-S  Next argument/option is the name of a setup file.

-t  Next argument/option is the path of a directory for temporary files.

-ts Next argument/option is the path of a directory for temporary sort files.

-T  Puts FORM in a mode in which the maximum totalsize is measured and printed at the end of the program.

-v  Only the version will be printed. The program terminates immediately after it.

-w  This should be followed immediately by a number without any space. The number indicates the number of worker threads for tform. All other versions of FORM ignore this parameter.

-W  Turn on the wall-clock time mode in the statistics.

-z  The number following is a timelimit for the program in second.

-Z  Removes the .str file on crash, whatever its contents. Under ordinary circumstances at a crash a .str file will not be removed if it has a nonzero content.

-y  Run only the preprocessor and dump its output.

ENVIRONMENT

FORMPATH
    The directory in which FORM will look for procedures and header files, assuming it cannot find them in the current directory.

FORMTMP
    The directory in which FORM will make its temporary files.

FORMTMPSORT
    The directory in which FORM will make its temporary sort files.

FORMSETUP
    The full path and name of a setup file.

SEE ALSO

https://www.nikhef.nl/~form/
    The FORM home site.

https://github.com/vermaseren/form/
    The repository on GitHub.