icont - Man Page

translate Icon program


icont [ option ... ] file ... [ -x arg ... ]


Icont translates and links programs written in the Icon language. Translation produces ucode files, suffixed .u1 and .u2, which are linked to produce executable files. Icon executables are shell scripts containing binary data; this data is interpreted by iconx, which must be present at execution time.

File names ending in .icn are Icon source files; the .icn suffix may be omitted from command arguments. An argument of - reads from standard input. A name ending in .u, .u1, or .u2 selects both files of a ucode pair. The specified files are combined to produce a single program, which is named by removing the suffix from the first input file.

An argument of -x may appear after the file arguments to execute the linked program. Any subsequent arguments are passed to the program.

Ucode files produced by translation are normally deleted after linking. If the -c option is given, processing stops after translation and the ucode files are left behind. A directory of such files functions as a linkable library.


The following options are recognized by icont:


Stop after producing ucode files.

-f s

Enable full string invocation by preserving unreferenced procedures during linking.

-o file

Write the executable program to the specified file.


Enable execution-time profiling; implied if ICONPROFILE is set and not empty.


Suppress informative messages during translation and linking.


Activate runtime tracing by arranging for &trace to have an initial value of -1 upon execution.


Diagnose undeclared identifiers.

-v i

Set verbosity level of informative messages to i.


Direct the results of preprocessing to standard output and inhibit further processing.


Don't embed iconx path in executable file.


Announce version and configuration information on standard error.

Translation Environment

Two environment variables control file search paths during translation and linking. These variables contain blank- or colon-separated lists of directories to be searched after the current directory and before the standard library.


Directories to search for for ucode files specified in link directives and on the command line.


Directories to search for source files specified in preprocessor $include directives.

Execution Environment

Several environment variables control the execution of an Icon program. Values in parentheses are the default values.

BLKSIZE (500000)

The initial size, in bytes, of the allocated block region.


The size, in words, of each co-expression stack.


If set, a core dump is produced for error termination.


If set, specifies a file to which profiling data is written upon termination of a program linked with the -p option. The output reports timer ticks and visit counts for each line executed.


The location of iconx, the icon interpreter, overriding the value built into the executable by icont. Not required if the configuration is unchanged since build time or if iconx is in the same directory as the executable.

MSTKSIZE (10000)

The size, in words, of the main interpreter stack for icont.


By default, &errout is buffered.  If this variable is set, &errout is not buffered.

QLSIZE (5000)

The size, in bytes, of the region used for pointers to strings during garbage collection.

STRSIZE (500000)

The initial size, in bytes, of the string space.


The initial value of &trace. If this variable has a value, it overrides the translation-time -t option.

See Also

icon(1), a simpler command interface for embedding Icon programs in scripts.

The Icon Programming Language.
Griswold and Griswold, Peer-to-Peer, third edition, 1996.

Graphics Programming in Icon.
Griswold, Jeffery, and Townsend, Peer-to-Peer, 1998.

The Icon Programming Language.


Icon executables are not self-sufficient, but require the iconx interpreter. When distributing an Icon program in executable form, include a copy of iconx in the same directory.

Referenced By


4 June 2013 University of Arizona