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