|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.