! HELP file for VMS Icon
! Based on a help file from Lou Burnard, Oxford University (Thanks!)

1 ICONT
  Translates and links an Icon source program, creating a file
  suitable for execution by ICONX.  Optionally, the program may be
  executed; or, alternatively, the linking phase may be suppressed.

  Each .ICN file is translated into an intermediate form called ucode;
  then ucode files are combined to produce a single icode file.

  Format:

	ICONT [options] file-spec [...] [-x arguments]
2 Parameters
 file-spec
 
  Each file-spec with a .ICN file type is assumed to contain Icon
  source code, and is translated and linked.  .ICN is the default if
  no file type is given.

  A file-spec of form "-" causes source code to be read from SYS$INPUT.
  The icode file produced in this case will be named STDIN.

  Each file-spec with a type of .U calls for the two ucode files with
  .U1 and .U2 file types to be read at the linking phase.
2 Options
  Options are used to control the action of the Icon translator.  Each
  option consists of a hyphen and one or more characters.  Options are
  separated by spaces and must precede any file specifications.
3 -c
  Suppresses the linking phase of the translator.  Ucode files created
  by the translator are left undeleted.
3 -o
 -o output-file-spec

  Specifies a name to be used for the icode file produced by linking.
3 -s
  Suppresses informative messages produced during translation and
  linking.
3 -S
 "-S[cfgilnrsCFL]n"

  Alters the amount of memory allocated during translation and linking.
  This option is case sensitive and must therefore be given in double
  quotes.  It is NOT the same as the -s option.

  The letter following the S specifies the table;  n is the number of
  storage units to allocate for the region.  Default table sizes are:

		c     constant table              100
		f     field table                 100
		g     global symbol table         200
		i     identifier table            500
		l     local symbol table          100
		n     line number space          1000
		r     field table for records     100
		s     string space              20000
		t     tree space                15000
		C     code buffer               20000
		F     file names                   10
		L     labels                      500
3 -t
  Arrange for &trace to have an initial value of -1 when the program
  is interpreted.  Normally, &trace has an initial value of 0.
3 -u
  Issue warning messages for undeclared identifiers used in the
  program.  Such messages appear during the linking phase.
2 -x
  If -x follows the file specification[s], the icode file is
  automatically executed.  Any arguments following the -x are passed
  to the Icon program in the same way as if ICONX had been called.
2 IPATH
  The logical name IPATH defines a list of directories to be searched
  for files specified in link directives within Icon source code.
  Each directory is searched in turn.  The default value of IPATH is
  "[]" (the current default directory).

  IPATH can be set by the VMS ASSIGN command.  Directories in the list
  are separated by spaces.

  Example:
	$ ASSIGN "[] [-.MYLIB]"  IPATH
2 Examples
  1.   $ ICONT PROG -X P1 P2

  The Icon source file PROG.ICN is translated, linked, and then
  executed with parameters P1 and P2.

  2.   $ ICONT -O BIG PART1 PART2 PART3

  The three source files PART1.ICN, PART2.ICN, and PART3.ICN are
  compiled and linked together to produce a program BIG.
2 Reference
  The Icon Language is described in the book:

	The Icon Programming Language
	Ralph E. Griswold and Madge T. Griswold
	Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1983
1 ICONX
  Executes an Icon program translated and linked by ICONT.

  Format:

	ICONX [-e efile] file-spec [arguments]
2 -e
 -e efile
  Causes the file efile to be used for &errout.
2 file-spec
  Names a file containing icode, as output by ICONT.  A file type
  of .ICX is assumed.
2 Arguments
  Program arguments of the form <ifile and >ofile cause ifile and
  ofile to be used for &input and &output respectively.

  Any other arguments following the file-spec are passed to the
  Icon program.
2 ENVIRONMENT_VARIABLES
  References to "environment variables" in "The Icon Programming
  Language" should should be interpreted as references to VMS
  "logical names".  See the HELP information on LOGICAL_NAMES.
2 LOGICAL_NAMES
  When an Icon program is interpreted, a number of logical names are
  examined to determine certain interpretation parameters.  These
  should have numeric values.  Values are established using the VMS
  ASSIGN command and removed using the DEASSIGN command.

  Example:
	$ ASSIGN 100 TRACE
	$ ICONX PROG
	$ DEASSIGN TRACE
3 TRACE
  Initialize the value of &trace.  If logical name TRACE has a value,
  it overrides any -t option given at translation time.
3 NOERRBUF
  By default, &errout is buffered.  If NOERRBUF is defined, &errout
  is not buffered.
3 STRSIZE
  The initial size of the string space, in bytes.  The string space
  grows if necessary, but it never shrinks.  The string default value
  is 51,200 bytes.
3 HEAPSIZE
  The initial size of the heap, in bytes.  The heap grows if necessary,
  but it never shrinks.  The default value is 51,200 bytes.
3 COEXPSIZE
  The size of each co-expression block, in words.  The default value
  is 2000 words.
3 MSTKSIZE
  The size in words of the main interpreter stack.  The default value
  is 10,000 words.
3 STATSIZE
  The size in bytes of the static region in which co-expression blocks
  are allocated.  The default value is 20,480.
3 STATINCR
  The size of the increment used when expanding the static region.
  The default is one quarter of the initial size, i.e. 512 bytes if
  STATSIZE is defaulted.
3 MAXMEM
  The maximum amount of memory, in bytes, that can be allocated in
  total by all of Icon's memory regions.  The default value is
  1,000,000.
1 IEXE
  defines a command allowing execution of an Icon program by name.
  The name used is that of the file containing the program.

  Format:

	IEXE file-spec

  Example:

	IEXE MYPROG

	defines MYPROG as a command equivalent to ICONX MYPROG.
