Annotation of researchv10dc/man/mana/spitbol.1, revision 1.1

1.1     ! root        1: .TH SPITBOL 1
        !             2: .SH NAME
        !             3: spitbol \- Snobol language compiler
        !             4: .SH SYNOPSIS
        !             5: .B spitbol
        !             6: [
        !             7: .I options
        !             8: ]
        !             9: .I ifile ...
        !            10: .SH DESCRIPTION
        !            11: .I Spitbol
        !            12: is an upward compatible
        !            13: dialect of SNOBOL4.
        !            14: .PP
        !            15: All names used in a program are normally mapped to UPPER CASE during
        !            16: compilation and execution. 
        !            17: For strict compatibility with SNOBOL4, use the \-f
        !            18: option or \-CASE control statement.
        !            19: .PP
        !            20: Each
        !            21: .IR ifile
        !            22: is read in order before the standard input.
        !            23: Standard output comes only from assignments to OUTPUT and from
        !            24: error messages.
        !            25: .PP
        !            26: Compiler options:
        !            27: .TP "\w'-u string  'u"
        !            28: .B \-f
        !            29: don't fold lower case names to UPPER CASE
        !            30: .TP
        !            31: .B \-e
        !            32: don't send error messages to the terminal 
        !            33: .TP
        !            34: .B \-l
        !            35: generate source listing
        !            36: .TP
        !            37: .B \-c
        !            38: generate compilation statistics
        !            39: .TP
        !            40: .B \-x
        !            41: generate execution statistics
        !            42: .TP
        !            43: .B \-a
        !            44: like
        !            45: .B "\-lcx"
        !            46: .TP
        !            47: .B \-p
        !            48: long listing format; generates form feeds
        !            49: .TP
        !            50: .B \-z
        !            51: use standard listing format
        !            52: .TP
        !            53: .B \-h
        !            54: write
        !            55: .I spitbol
        !            56: header to standard output
        !            57: .TP
        !            58: .B \-n
        !            59: suppress execution
        !            60: .TP
        !            61: .BI \-m dd
        !            62: max size (words) of created object
        !            63: (default 8192)
        !            64: .TP
        !            65: .BI \-s dd
        !            66: maximum size (words) of stack space
        !            67: (default 2048)
        !            68: .TP
        !            69: .BI \-i dd
        !            70: size (words) of increment by which dynamic area is increased
        !            71: (default 4096)
        !            72: .TP
        !            73: .BI \-d dd
        !            74: size (words) of maximum allocated dynamic area
        !            75: (default 256K)
        !            76: .TP
        !            77: .BI \-u " string"
        !            78: executing program may retrieve string with HOST(0)
        !            79: .TP
        !            80: .BI \-o " ofile"
        !            81: write listing, statistics and dump to
        !            82: .I ofile
        !            83: and OUTPUT to standard output
        !            84: .PP
        !            85: Note:
        !            86: .I dd
        !            87: can be followed by a
        !            88: .B k
        !            89: to indicate units of 1024.
        !            90: .PP
        !            91: .PP
        !            92: .I Spitbol
        !            93: has two input-output modes,
        !            94: .I line mode,
        !            95: where records are delimited by new-line characters, and
        !            96: .I "raw mode"
        !            97: where a predetermined number of bytes
        !            98: is transferred.
        !            99: Modes are specified in INPUT or OUTPUT function calls.
        !           100: The maximum length of an input record is set by the
        !           101: .B \-l
        !           102: or
        !           103: .B \-r
        !           104: argument.
        !           105: The form of the INPUT/OUTPUT function call is
        !           106: .IP
        !           107: INPUT/OUTPUT(.name,channel,file_name args)
        !           108: .PP
        !           109: where
        !           110: .I name
        !           111: is the variable name to be input/output associated and
        !           112: .I "channel"
        !           113: is an integer or string that identifies the association
        !           114: to be used in subsequent calls for EJECT, ENDFILE,
        !           115: INPUT, OUTPUT, REWIND, and SET.
        !           116: If the
        !           117: .I channel
        !           118: is omitted or the null string, the association is 
        !           119: made to the system's standard input or output stream.
        !           120: .I "file_name args"
        !           121: specifies the source/destination of the
        !           122: input/output and any IO processing arguments. The
        !           123: .I file_name
        !           124: can be either a path name to a file or a
        !           125: command string. Command strings are distinguished from
        !           126: file names by a leading "!". The character following the
        !           127: "!" is the delimiter used to separate the command string
        !           128: from any IO processing arguments. The ending delimiter
        !           129: may be omitted if there are no IO processing arguments.
        !           130: There must always be at least one space between the
        !           131: .I file_name
        !           132: and
        !           133: .I args,
        !           134: even if the
        !           135: .I file_name
        !           136: is null.
        !           137: .PP
        !           138: .PP
        !           139: Input/output arguments are:
        !           140: .TP
        !           141: .B \-a
        !           142: Append output to existing file. If file doesn't exist
        !           143: then it is created.
        !           144: If
        !           145: .B \-a
        !           146: is not specified then file
        !           147: is created.
        !           148: .TP
        !           149: .BI \-b dd
        !           150: Set internal buffer size to
        !           151: .I dd
        !           152: characters. This value
        !           153: is the byte count used on all input/output transfers
        !           154: except for the last write to an output file
        !           155: (default 4096).
        !           156: .TP
        !           157: .B \-c
        !           158: Like
        !           159: .BI \-r 1
        !           160: .TP
        !           161: .BI \-f dd
        !           162: Use
        !           163: .I dd
        !           164: as file desciptor for IO.
        !           165: .I spitbol
        !           166: assumes that
        !           167: .I dd
        !           168: has been opened by the shell. File names and
        !           169: .BI \-f dd
        !           170: arguments are mutually exclusive.
        !           171: File descriptors 
        !           172: 0, 1, and 2
        !           173: may
        !           174: be accessed in this manner.
        !           175: .TP
        !           176: .BI \-l dd
        !           177: Line mode: maximum input record length is
        !           178: .I dd
        !           179: characters (default 4096).
        !           180: .TP
        !           181: .BI \-r dd
        !           182: Raw mode: input record length is
        !           183: .I dd
        !           184: characters.
        !           185: .TP
        !           186: .B \-w
        !           187: On output, each record is directly written to the
        !           188: file without any intermediate buffering (default for terminals).
        !           189: On input, each input operation uses exactly one
        !           190: .IR read (2),
        !           191: and fails if 
        !           192: .I read
        !           193: returns 0.
        !           194: .PP
        !           195: More than one type of transfer may be associated with a channel.
        !           196: This is accomplished by calling INPUT/OUTPUT after the initial
        !           197: call with the name, channel, and file arguments. The
        !           198: file name or
        !           199: .B \-f
        !           200: argument must not be specified on calls subsequent
        !           201: to the first.
        !           202: .PP
        !           203: Standard functions:
        !           204: .RI SET( channel,integer,integer )
        !           205: The arguments are same as those to the
        !           206: .IR lseek (2),
        !           207: escept that
        !           208: the first argument identifies a spitbol channel instead of
        !           209: a file descriptor.
        !           210: .TP 
        !           211: EXIT(\fIcommand-string\fP)
        !           212: causes the value of
        !           213: .I command-string
        !           214: to be handed to the Shell to be executed after
        !           215: .I spitbol
        !           216: terminates.
        !           217: .TP 
        !           218: EXIT(\fIn\fP)
        !           219: If
        !           220: .I n
        !           221: is greater than 0, a load module will be written in
        !           222: .I a.out
        !           223: before termination.
        !           224: Executing this load module will restore the state of the
        !           225: .I spitbol
        !           226: system to what it was when EXIT was called, except that
        !           227: any files other than the standard input, output, and error
        !           228: will have been closed.
        !           229: To the SNOBOL4 program, it will appear as if
        !           230: EXIT had returned a null string.
        !           231: If
        !           232: .I n
        !           233: is exactly 1,
        !           234: the generated load module will identify
        !           235: the version of
        !           236: .I spitbol
        !           237: that created it in a message when it
        !           238: begins execution.
        !           239: If
        !           240: .I n
        !           241: is greater than 1,
        !           242: it will resume quietly.
        !           243: .TP
        !           244: HOST()
        !           245: returns the host string read from /usr/lib/spithost.
        !           246: .TP
        !           247: HOST(0)
        !           248: returns the string specified with the
        !           249: .B \-u
        !           250: option
        !           251: on the command line.
        !           252: If
        !           253: .B \-u
        !           254: was not specified the
        !           255: null string is returned.
        !           256: .TP
        !           257: HOST(1,"command string")
        !           258: executes the command string
        !           259: and continues.
        !           260: .TP
        !           261: HOST(2,\fIn\fP)
        !           262: returns argument number
        !           263: .I n
        !           264: from the command line.
        !           265: It fails if
        !           266: .I n
        !           267: is out of range or not an integer.
        !           268: .TP
        !           269: HOST(3)
        !           270: returns the index of the first command line argument
        !           271: that was not examined by
        !           272: .IR spitbol .
        !           273: .TP
        !           274: HOST(4,"var")
        !           275: returns the value of the environment variable
        !           276: .IR var .
        !           277: If the value is too long for an internal buffer
        !           278: (presently 512 bytes) it is quietly truncated.
        !           279: .TP
        !           280: HOST(5,n)
        !           281: sets (if n > 0) or resets (if n < 0) a trap for
        !           282: signal number \|n\|
        !           283: (see
        !           284: .IR signal (2)).
        !           285: It returns 0 if no trap was previously set for that signal,
        !           286: 1 if a trap has been previously set but the signal has not occurred since
        !           287: the last call, or 2 if the signal has occurred.
        !           288: .SH "MISCELLANY"
        !           289: A file is not actually opened until the first attempt
        !           290: to read, write, SET, or REWIND it.
        !           291: .PP
        !           292: Folding of names to UPPER CASE can be controlled during compilation
        !           293: by the \-CASE control statement and during execution by the &CASE keyword.
        !           294: A value of 0 prevents folding to UPPER CASE and a value of 1
        !           295: forces folding to UPPER CASE.
        !           296: .PP
        !           297: Integers are represented by 32-bit quantities.
        !           298: Real numbers are implemented in single precision.
        !           299: .PP
        !           300: Setting &STLIMIT = \-1 inhibits statement limit checking and provides
        !           301: a way to execute arbitrarily many statements.
        !           302: .PP
        !           303: The name TERMINAL is available with default associations for input and
        !           304: output to the terminal.
        !           305: .PP
        !           306: If the first line of the first input file begins with
        !           307: .B #!
        !           308: then that line is ignored.
        !           309: This meshes with the way that
        !           310: .IR exec (2)
        !           311: treats files beginning with
        !           312: .BR #! .
        !           313: .PP
        !           314: Setting &PROFILE = 1 causes
        !           315: .I spitbol
        !           316: to accumulate profile information during program execution
        !           317: and print this information after the program terminates.
        !           318: .SH "FILES"
        !           319: /usr/lib/vaxspitv35.err  \- Error text.
        !           320: .br
        !           321: /usr/lib/spithost \- Host computer and operating system identifier.
        !           322: .SH "SEE ALSO"
        !           323: .I "Macro SPITBOL Program Reference Manual"
        !           324: by R. B. K. Dewar, A. P. McCann, R. E. Goldberg, and Steven G. Duff
        !           325: .br
        !           326: .I "The SNOBOL4 Programming Language, Second Edition"
        !           327: by R. E. Griswold, J. F. Poage and I. P. Polonsky
        !           328: .br
        !           329: .IR sno (1), 
        !           330: .IR snocone (1)

unix.superglobalmegacorp.com

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