ICONT(1)

πŸ“¦
version 9.5.25a Β· 2 versions
, in debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… ICONT(1) β€” the translate-ur-Icon-program era ✨

okay bestie, so icont is the main character of the Icon toolchain β€” it's the General Commands Manual entry, and it's literally the thing that translates your Icon program. Let's get into it 🫢


🌸 NAME 🌸

icont β€” translate Icon program. that's it, that's the vibe ✨


πŸŽ€ SYNOPSIS πŸŽ€

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

πŸ¦‹ DESCRIPTION πŸ¦‹

So icont translates and links programs written in the Icon language. Translation produces ucode files, suffixed .u1 and .u2, and those get linked together to produce executable files. And here's the tea: Icon executables are actually shell scripts containing binary data 😭 β€” that data is interpreted by iconx, which must be present at execution time. no iconx, no run. periodt.

File names ending in .icn are Icon source files, and lowkey the .icn suffix may be omitted from command arguments. An argument of - reads from standard input (iconic behavior fr fr). A name ending in .u, .u1, or .u2 selects both files of a ucode pair. The specified files get 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. slay.

Ucode files produced by translation are normally deleted after linking. But if the -c option is given, processing stops after translation and the ucode files are left behind πŸ’– β€” and a directory of such files functions as a linkable library. it's giving ✨library era✨.


✨ 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. (quiet luxury πŸŽ€)
  • -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 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. The 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) β€” a simpler command interface for embedding Icon programs in scripts.

Also, the reading list bestie πŸ“š:


πŸ’œ CAVEATS πŸ’œ

Icon executables are not self-sufficient β€” they require the iconx interpreter. When distributing an Icon program in executable form, include a copy of iconx in the same directory. do NOT skip this step bestie, i'm begging πŸ™ˆ

and that's the whole page!! brought to you by University of Arizona, dated 4 June 2013 β€” yeah she's a classic, an icon, the moment, no cap πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from