Annotation of 43BSD/contrib/icon/docs/icont.1, revision 1.1.1.1

1.1       root        1: .ds M \fB
                      2: .if t .if !\nd .ds M \fM
                      3: .TH ICONT 1 "The University of Arizona \- 8/20/84"
                      4: .SH NAME
                      5: icont \- translate Icon programs for interpretive execution
                      6: .SH SYNOPSIS
                      7: \f3icont\fR
                      8: [ option ... ] file ... [
                      9: \f3\-x\fR
                     10: arg ... ]
                     11: .SH DESCRIPTION
                     12: .I Icont
                     13: is a translator for Version 5.9 of the Icon programming language,
                     14: which produces a file suitable for interpretation by the Icon
                     15: interpreter.
                     16: Translation consists of two phases:
                     17: .I translation
                     18: and
                     19: .IR linking .
                     20: During translation,
                     21: each Icon source file is translated into an intermediate language;
                     22: during linking,
                     23: the intermediate language files are combined and a single
                     24: output file is produced.
                     25: The output file from the linker is referred to as an \fIinterpretable\fR file.
                     26: Unless the
                     27: \f3\-o\fR
                     28: option is specified, the name of the resulting interpretable file is
                     29: formed by deleting the suffix of the first input file named on the
                     30: command line.
                     31: If the
                     32: \f3\-x\fR
                     33: argument is used,
                     34: the file is automatically executed by the interpreter
                     35: and any arguments following the
                     36: \f3\-x\fR
                     37: are passed as execution arguments to the Icon program itself.
                     38: .PP
                     39: Files whose names end in \*M.icn\fR are assumed to be Icon source programs;
                     40: they are translated, and the intermediate code is left in two files of
                     41: the same name with \*M.u1\fR and \*M.u2\fR substituted for \*M.icn\fR.
                     42: The intermediate code files normally are deleted when compilation has finished.
                     43: Files whose names end in \*M.u1\fR or \*M.u2\fR are assumed to be intermediate
                     44: code files from a previous translation
                     45: (only one should be named \(em the other is assumed);
                     46: these files are included in the linking phase after any \*M.icn\fR
                     47: files have been translated.
                     48: A \*M.u1\fR or \*M.u2\fR file that is explicitly named is not deleted.
                     49: Icon source programs may be read from standard input.
                     50: The argument
                     51: \f3\-\fR
                     52: signifies the use of standard input as a source file.
                     53: In this case, the intermediate code is placed in \*Mstdin.u1\fR and \*Mstdin.u2\fR
                     54: and the interpretable file is \*Mstdin\fR.
                     55: .PP
                     56: The following options are recognized by
                     57: .IR icont .
                     58: .TP 4
                     59: \f3\-c\fR
                     60: Suppress the linking phase.
                     61: The intermediate code files are not deleted.
                     62: .TP
                     63: \f3\-m\fR
                     64: Preprocess each \*M.icn\fR source file
                     65: with the \fIm4\^(1)\fR
                     66: macro processor before translation.
                     67: .TP
                     68: \f3\-o \fIoutput\fR
                     69: Name the interpretable file
                     70: .IR output .
                     71: .TP
                     72: \f3\-s\fR
                     73: Suppress any informative messages from the translator and
                     74: linker.
                     75: Normally, both informative messages and error messages are sent
                     76: to standard error output.
                     77: .TP
                     78: \f3\-t\fR
                     79: Arrange for \*M&trace\fR to have an initial value of \-1
                     80: when the program is executed.
                     81: Normally, \*M&trace\fR has an initial value of 0.
                     82: .TP
                     83: \f3\-u\fR
                     84: Issue warning messages for undeclared identifiers in the program.
                     85: The warnings are issued during the linking phase.
                     86: .PP
                     87: Icon has a number of memory regions related to the translation of programs.
                     88: These regions are large enough for most programs, but their size can be
                     89: changed, if necessary, by the \f3\-S\fR option, which has the
                     90: form \f3\-S[cfgilrstCL]\fI n\fR, where the letter following the
                     91: \f3S\fR specifies the region and \fIn\fR is the number of storage units to
                     92: allocate for the region. The regions are:
                     93: .IP \f3c\fR
                     94: literal table
                     95: .IP \f3f\fR
                     96: field table
                     97: .IP \f3g\fR
                     98: global symbol table
                     99: .IP \f3i\fR
                    100: identifier table
                    101: .IP \f3l\fR
                    102: local symbol table
                    103: .IP \f3r\fR
                    104: field table for record lists
                    105: .IP \f3s\fR
                    106: string space
                    107: .IP \f3t\fR
                    108: tree space
                    109: .IP \f3C\fR
                    110: code buffer
                    111: .IP \f3L\fR
                    112: labels
                    113: .PP
                    114: The environment variable \fIIPATH\fR controls the location of files
                    115: specified in link directives. \fIIPATH\fR should have a value of the
                    116: form \fIp1:p2: .\^.\^. : pn\fR where the \fIpi\fR name directories.
                    117: Each directory is searched in turn to locate files named in link
                    118: directives. The default value for \fIIPATH\fR is \*M.\fR , that is, the current
                    119: directory.
                    120: .PP
                    121: The interpretable
                    122: file produced by the Icon linker is
                    123: .I
                    124: directly executable.
                    125: \fRFor example, the command
                    126: .nf
                    127: .sp 1
                    128: .in +.5i
                    129: \*M
                    130: icont hello.icn
                    131: .ft R
                    132: .in -.5i
                    133: .sp 1
                    134: .fi
                    135: produces a file named \*Mhello\fR
                    136: that can be run by the command
                    137: .nf
                    138: .sp 1
                    139: .in +.5i
                    140: \*M
                    141: hello
                    142: .ft R
                    143: .in -.5i
                    144: .sp 1
                    145: .fi
                    146: The method used to make interpretable files appear to be directly
                    147: executable is system dependent.
                    148: See the Icon installation guide for complete details.
                    149: For most intents and purposes, interpretable
                    150: files are executable programs in the same sense that files produced by
                    151: .IR ld \^(1)
                    152: are executable programs.
                    153: .PP
                    154: Arguments can be passed to the Icon program by following the program
                    155: name with the arguments.  Any such arguments are passed to the main
                    156: procedure as a list of strings.
                    157: .PP
                    158: When an Icon program is executed, a number of environment variables
                    159: are examined to determine certain execution parameters.
                    160: The values assigned to these variables should be numbers.
                    161: The variables that affect execution
                    162: and the interpretations of their values are as follows:
                    163: .TP 4
                    164: .I TRACE
                    165: Initialize the value of \*M&trace\fR.
                    166: If this variable has a value, it overrides the translation-time
                    167: \f3\-t\fR
                    168: option.
                    169: .TP
                    170: .I NBUFS
                    171: The number of i/o buffers to use for files.
                    172: When a file is opened, it is assigned an i/o buffer if one is available
                    173: and the file is not a tty.
                    174: If no buffer is available, the file is not buffered.
                    175: \*M&input\fR, \*M&output\fR, and \*M&errout\fR are buffered if buffers
                    176: are available.
                    177: On VAX systems, ten buffers are allocated initially;
                    178: on PDP-11 systems, five buffers are allocated initially.
                    179: .TP
                    180: .I NOERRBUF
                    181: If set, \*M&errout\fR is not buffered.
                    182: .TP
                    183: .I STRSIZE
                    184: The initial size of the string space, in bytes.
                    185: The string space grows if necessary, but it never shrinks.
                    186: On VAX systems, the string space is initially 51,200 bytes;
                    187: on PDP-11 systems, 10,240 bytes initially.
                    188: .TP
                    189: .I HEAPSIZE
                    190: The initial size of the heap, in bytes.
                    191: The heap grows if necessary, but it never shrinks.
                    192: On VAX systems, the heap is initially 51,200 bytes;
                    193: on PDP-11 systems, 10,240 bytes initially.
                    194: .TP
                    195: .I NSTACKS
                    196: The number of stacks initially available for co-expressions.
                    197: On VAX systems, four stacks are initially allocated; on PDP-11
                    198: systems, two stacks are initially allocated.
                    199: More are automatically allocated if needed.
                    200: .TP
                    201: .I STKSIZE
                    202: The size of each co-expression stack, in words.
                    203: On VAX systems, stacks are normally 2000 words;
                    204: on PDP-11 systems, stacks are normally 1000 words.
                    205: .SH FILES
                    206: .ta \w'\*Mv5g/bin/itran\fR     'u
                    207: \*Mv5g/bin/itran\fR    icon translator
                    208: .br
                    209: \*Mv5g/bin/ilink\fR    icon linker
                    210: .br
                    211: \*Mv5g/bin/iconx\fR    icon run-time system
                    212: .br
                    213: .SH SEE ALSO
                    214: .I
                    215: The Icon Programming Language\fR,
                    216: Ralph E. Griswold and Madge T. Griswold,
                    217: Prentice-Hall Inc.,
                    218: Englewood Cliffs, New Jersey,
                    219: 1983.
                    220: .LP
                    221: \fIVersion 5.9 of Icon\fR, Ralph E. Griswold, Robert K. McConeghy, and William H. Mitchell,
                    222: Department of Computer Science, The University of Arizona,
                    223: August 1984.
                    224: .LP
                    225: \fIInstallation and Maintenance Guide for Version 5.9 of Icon\fR,
                    226: Ralph E. Griswold and William H. Mitchell,
                    227: Department of Computer Science, The University of Arizona,
                    228: August 1984.
                    229: .LP
                    230: m4\^(1), icon-pi(1)
                    231: .SH BUGS
                    232: .LP
                    233: Downward compatibility of interpretable files will not be maintained
                    234: in subsequent releases of Icon.  No checks are performed to determine
                    235: if the interpretable file and the interpreter are compatible.  Peculiar
                    236: program behavior is the only indication of such incompatibility.
                    237: .LP
                    238: Interpretable files do not stand alone; the Icon interpreter must be
                    239: present on the system.  This implies that an interpretable
                    240: file produced on one system will not work on another system unless
                    241: the Icon interpreter is in the same place on both systems and that
                    242: the interpreter is of the same version of Icon as the translator
                    243: that produced the interpretable file.
                    244: .LP
                    245: Because of the way that co-expressions are implemented,
                    246: there is a possibility that programs
                    247: in which they are used may malfunction mysteriously.
                    248: .LP
                    249: Integer overflow on multiplication is not detected.
                    250: .LP
                    251: If the
                    252: \f3\-m\fR
                    253: option is used,
                    254: line numbers reported in error messages or tracing messages
                    255: 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.