Annotation of researchv10dc/cmd/icon/docs/icont.1, revision 1.1.1.1

1.1       root        1: .ds M \fH
                      2: .de Ds
                      3: .nf
                      4: .in +.5i
                      5: .ft H
                      6: .sp .5
                      7: ..
                      8: .de De
                      9: .ft R
                     10: .in -.5i
                     11: .fi
                     12: .sp .5
                     13: ..
                     14: .TH ICONT 1 "The University of Arizona \- 5/27/86"
                     15: .SH NAME
                     16: icont \- process Icon programs
                     17: .SH SYNOPSIS
                     18: \*Micont\fR
                     19: [ option ... ] file ... [
                     20: \*M\-x\fR
                     21: arg ... ]
                     22: .SH DESCRIPTION
                     23: The program \*Micont\fR
                     24: is a command processor for running Version 6.0 Icon programs.
                     25: Used in its simplest form,
                     26: it produces a file suitable for interpretation by the Icon
                     27: interpreter.
                     28: Processing consists of two phases:
                     29: \fItranslation\fR
                     30: and
                     31: \fIlinking\fR.
                     32: During translation,
                     33: each Icon source file is translated into an intermediate language called \fIucode\fR;
                     34: during linking,
                     35: the one or more ucode files are combined and a single
                     36: \fIicode\fR file is produced.
                     37: Unless the
                     38: \*M\-o\fR
                     39: option is specified, the name of the resulting icode file is
                     40: formed by deleting the suffix of the first input file named on the
                     41: command line.
                     42: If the
                     43: \*M\-x\fR
                     44: argument is used,
                     45: the file is automatically executed by the interpreter
                     46: and any arguments following the
                     47: \*M\-x\fR
                     48: are passed as execution arguments to the Icon program itself.
                     49: .PP
                     50: Files whose names end in \*M.icn\fR are assumed to be Icon source programs.
                     51: These programs are translated, and the intermediate code is left in two ucode files of
                     52: the same name with \*M.u1\fR and \*M.u2\fR substituted for \*M.icn\fR.
                     53: The ucode code files normally are deleted when \*Micont\fR completes.
                     54: Files whose names end in \*M.u1\fR are assumed to refer to ucode
                     55: files from a previous translation; these files and the corresponding \*M.u2\fR
                     56: files are included in the linking phase after any \*M.icn\fR
                     57: files have been translated.
                     58: A \*M.u1\fR or \*M.u2\fR file that is explicitly named is not deleted.
                     59: Icon source programs may be read from standard input.
                     60: The argument
                     61: \*M\-\fR
                     62: signifies the use of standard input as a source file.
                     63: In this case, the ucode files are named \*Mstdin.u1\fR and \*Mstdin.u2\fR
                     64: and the icode file is named \*Mstdin\fR.
                     65: .PP
                     66: The following options are recognized by
                     67: \*Micont\fR:
                     68: .TP 4
                     69: \*M\-c\fR
                     70: Suppress the linking phase.
                     71: The ucode code files are not deleted.
                     72: .TP
                     73: \*M\-m\fR
                     74: Preprocess each \*M.icn\fR source file
                     75: with the \fIm4\^(1)\fR
                     76: macro processor before translation.
                     77: .TP
                     78: \*M\-o \fIoutput\fR
                     79: Name the icode file
                     80: \fIoutput\fR.
                     81: .TP
                     82: \*M\-s\fR
                     83: Suppress informative messages from the translator and
                     84: linker.
                     85: Normally, both informative messages and error messages are sent
                     86: to standard error output.
                     87: .TP
                     88: \*M\-t\fR
                     89: Arrange for \*M&trace\fR to have an initial value of \-1
                     90: when the program is executed.
                     91: Normally, \*M&trace\fR has an initial value of 0.
                     92: .TP
                     93: \*M\-u\fR
                     94: Issue warning messages for undeclared identifiers in the program.
                     95: The warnings are issued during the linking phase.
                     96: .PP
                     97: Icon has several tables related to the translation and linking
                     98: of programs.
                     99: These tables are large enough for most programs, but their sizes can be
                    100: changed, if necessary, by the \*M\-S\fR option. This option has the
                    101: form \*M\-S\^[cfgilrstCL]\fI n\fR, where the letter following the
                    102: \*MS\fR specifies the table and \fIn\fR is the number of storage units to
                    103: allocate for the table.
                    104: Some sizes depend on the size of the address space of the computer.
                    105: For this purpose, a VAX has a large address space,
                    106: while a PDP-11 has a small address space.
                    107: The tables and their default sizes for computers
                    108: with large and small memory sizes are:
                    109: .nf
                    110: .in +.5i
                    111: .sp
                    112: .ta .3i 2.5iR 3.3iR
                    113:                \fIlarge        small\fR
                    114: .sp .5
                    115: \*Mc\fR        constant table  100     100
                    116: \*Mf\fR        field table     100     100
                    117: \*Mg\fR        global symbol table     200     200
                    118: \*Mi\fR        identifier table        500     500
                    119: \*Ml\fR        local symbol table      100     100
                    120: \*Mr\fR        field table for records 100     100
                    121: \*Ms\fR        string space    15,000  7,500
                    122: \*Mt\fR        tree space      15,000  5,000
                    123: \*MC\fR        code buffer     20,000  4,000
                    124: \*ML\fR        labels  500     500
                    125: .sp
                    126: .in -.5i
                    127: .fi
                    128: The units depend on the table involved, but the default values can
                    129: be used as a general guide for appropriate settings of \*M\-S\fR
                    130: options without knowing the units.
                    131: .PP
                    132: The environment variable \*MIPATH\fR controls the location of files
                    133: specified in link directives. The value of \*MIPATH\fR should be a blank-separated
                    134: form \fIp1\0p2 \*(El\0 pn\fR where the \fIpi\fR name directories.
                    135: Each directory is searched in turn to locate files named in link
                    136: directives. The default value for \*MIPATH\fR is \*M.\fR , that is, the current
                    137: directory.
                    138: .PP
                    139: The icode
                    140: file produced by the Icon linker is
                    141: executable.
                    142: \fRFor example, the command
                    143: .nf
                    144: .in +.5i
                    145: \*M
                    146: .sp -.5
                    147: icont hello.icn
                    148: .ft R
                    149: .in -.5i
                    150: .sp .5
                    151: .fi
                    152: produces a file named \*Mhello\fR
                    153: that can be run by the command
                    154: .nf
                    155: .in +.5i
                    156: \*M
                    157: .sp -.5
                    158: hello
                    159: .ft R
                    160: .in -.5i
                    161: .sp .5
                    162: .fi
                    163: .PP
                    164: Arguments can be passed to the Icon program by following the program
                    165: name with the arguments.  Any such arguments are passed to the main
                    166: procedure as a list of strings.
                    167: .PP
                    168: When an Icon program is executed, several environment variables
                    169: are examined to determine certain execution parameters.
                    170: The values assigned to these variables should be numbers.
                    171: The variables that affect execution
                    172: and the interpretations of their values are as follows:
                    173: .TP 4
                    174: \*MTRACE\fR
                    175: Initialize the value of \*M&trace\fR.
                    176: If this variable has a value, it overrides the translation-time
                    177: \*M\-t\fR
                    178: option.
                    179: .TP
                    180: \*MNBUFS\fR
                    181: The number of i/o buffers to use for files.
                    182: When a file is opened, it is assigned an i/o buffer if one is available
                    183: and the file is not a tty.
                    184: If no buffer is available, the file is not buffered.
                    185: \*M&input\fR, \*M&output\fR, and \*M&errout\fR are buffered if buffers
                    186: are available.
                    187: On large-memory systems, the default value of \fINBUFS\fR is 10.
                    188: On small-memory systems, it is 5.
                    189: .TP
                    190: \*MNOERRBUF\fR
                    191: If set, \*M&errout\fR is not buffered.
                    192: .TP
                    193: \*MICONCORE\fR
                    194: If set, a core dump is produced for error termination.
                    195: .TP
                    196: \*MSTRSIZE\fR
                    197: The initial size of the string space, in bytes.
                    198: The string space grows if necessary, but it never shrinks.
                    199: On large-memory systems, the default value of \*MSTRSIZE\fR is 51,200;
                    200: on small-memory systems, it is 10,240.
                    201: .TP
                    202: \*MHEAPSIZE\fR
                    203: The initial size of the allocated block region, in bytes.
                    204: The heap grows if necessary, but it never shrinks.
                    205: On large-memory systems, the default value of \*MHEAPSIZE\fR is 51,200;
                    206: on small-memory systems, it is 10,240.
                    207: .TP
                    208: \*MCOEXPSIZE\fR
                    209: The size, in words, of each co-expression block.
                    210: On large-memory systems, the default value of \*MCOEXPSIZE\fR is 2,000;
                    211: on small-memory systems, it is 1,000.
                    212: .TP
                    213: \*MMSTKSIZE\fR
                    214: The size, in words, of the main interpreter stack. On large-memory
                    215: systems, the default value of \*MMSTKSIZE\fR is 10,000;
                    216: on small-memory systems, it is 3,000.
                    217: .TP
                    218: \*MSTATSIZE\fR
                    219: The size, in bytes, of the static region in which co-expression blocks
                    220: are allocated. On large-memory systems, the default value of \*MSTATSIZE\fR
                    221: is 20,480; on small-memory systems, it is 1,024.
                    222: .TP
                    223: \*MSTATINCR\fR
                    224: The size of the increment used when the static region is expanded.
                    225: The default increment is one-fourth of the initial size of the static
                    226: region.
                    227: .SH FILES
                    228: .ta \w'\*Mitran\fR     'u
                    229: \*Micont\fR    Icon command processor
                    230: .br
                    231: \*Mitran\fR    Icon translator
                    232: .br
                    233: \*Milink\fR    Icon linker
                    234: .br
                    235: \*Miconx\fR    Icon run-time system
                    236: .br
                    237: .SH SEE ALSO
                    238: \fIThe Icon Programming Language\fR,
                    239: Ralph E. Griswold and Madge T. Griswold,
                    240: Prentice-Hall Inc.,
                    241: Englewood Cliffs, New Jersey,
                    242: 1983.
                    243: .LP
                    244: \fIVersion 6.0 of Icon\fR, Ralph E. Griswold, William H. Mitchell,
                    245: and Janalee O'Bagy,
                    246: TR 86-10,
                    247: Department of Computer Science, The University of Arizona,
                    248: May 1986.
                    249: .LP
                    250: m4\^(1), icon_pi(1)
                    251: .SH BUGS
                    252: .LP
                    253: Icode files do not stand alone; the Icon run-time system must be
                    254: present.
                    255: An icode
                    256: file produced on one system will not work on another system unless
                    257: the Icon run-time system is in the same place on both systems and
                    258: the run-time system is of the same version of Icon as the linker
                    259: that produced the icode file.
                    260: .LP
                    261: Stack overflow is checked using a heuristic that is not always effective.
                    262: .LP
                    263: If the
                    264: \*M\-m\fR
                    265: option is used,
                    266: line numbers reported in error messages or tracing messages
                    267: are from the file after, not before, preprocessing.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.