---
name: "icont"
section: "1"
platform: "linux"
package: "icont"
version: "9.5.24b-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/icont"
---

# icont(1)

translate Icon program

## NAME

icont - translate Icon program

## SYNOPSIS

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

## DESCRIPTION

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.

## OPTIONS

The following options are recognized by *icont*:

- **-c**

  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.**

- **-p**

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

- **-s**

  **Suppress informative messages during translation and linking.**

- **-t**

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

- **-u**

  **Diagnose undeclared identifiers.**

- **-v** *i*

  **Set verbosity level of informative messages to** *i***.**

- **-E**

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

- **-N**

  **Don't embed iconx path in executable file.**

- **-V**

  **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.**

- **IPATH**

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

- **LPATH**

  **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.**

- **COEXPSIZE (2000)**

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

- **ICONCORE**

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

- **ICONPROFILE**

  **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.**

- **ICONX**

  **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.**

- **NOERRBUF**

  **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.**

- **TRACE**

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

## SEE ALSO

**[icon(1)](/icon/1.md), a simpler command interface** **for embedding Icon programs in scripts.**

*The Icon Programming Language***.**\
 **Griswold and Griswold, Peer-to-Peer, third edition, 1996.**\
 **http://www.cs.arizona.edu/icon/lb3.htm.**

*Graphics Programming in Icon***.**\
 **Griswold, Jeffery, and Townsend, Peer-to-Peer, 1998.**\
 **http://www.cs.arizona.edu/icon/gb/index.htm.**

*The Icon Programming Language***.**\
 **http://www.cs.arizona.edu/icon/.**

## CAVEATS

**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.**
