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

1.1     ! root        1: .TH SNO 1
        !             2: .SH NAME
        !             3: sno \- Snobol language interpreter
        !             4: .SH SYNOPSIS
        !             5: .B sno
        !             6: [
        !             7: .I file ...
        !             8: ]
        !             9: .SH DESCRIPTION
        !            10: .I Sno\^
        !            11: is a
        !            12: .SM SNOBOL\*S3
        !            13: (with slight differences)
        !            14: compiler and interpreter.
        !            15: .I Sno\^
        !            16: obtains input from the
        !            17: concatenation of the named
        !            18: .IR file s
        !            19: and the standard input.
        !            20: All input through a statement
        !            21: containing the label
        !            22: .B end
        !            23: is considered program and is compiled.
        !            24: The rest is available to
        !            25: .BR syspit .
        !            26: .PP
        !            27: .I Sno\^
        !            28: differs from
        !            29: .SM SNOBOL\*S3
        !            30: in the following ways:
        !            31: .PP
        !            32: There are no unanchored searches.
        !            33: To get the same effect:
        !            34: .IP 
        !            35: .LR "a ** b" "    unanchored search"
        !            36: .br
        !            37: .LR "a *x* b = x c" "    unanchored assignment"
        !            38: .PP
        !            39: There is no back referencing.
        !            40: .IP
        !            41: .L x = \&"abc"
        !            42: .br
        !            43: .LR "a *x* x" "    unanchored search for
        !            44: .L \&"abc"
        !            45: .PP
        !            46: Function declaration is
        !            47: done at compile time by the use of the (non-unique) label
        !            48: .BR define .
        !            49: Execution of a function call begins at the
        !            50: statement following the
        !            51: .BR define .
        !            52: Functions cannot be defined at run time,
        !            53: and the use of the name
        !            54: .B define
        !            55: is preempted.
        !            56: There is no provision for automatic variables
        !            57: other than parameters.
        !            58: Examples:
        !            59: .IP
        !            60: .EX
        !            61: define f( )
        !            62: define f(a, b, c)
        !            63: .EE
        !            64: .PP
        !            65: All labels except
        !            66: .B define
        !            67: (even
        !            68: .BR end )
        !            69: must have a non-empty statement.
        !            70: .PP
        !            71: Labels, functions and variables must all have
        !            72: distinct names.
        !            73: In particular, the non-empty statement on
        !            74: .B end
        !            75: cannot merely name a label.
        !            76: .PP
        !            77: If
        !            78: .B start
        !            79: is a label in the program,
        !            80: program execution will start there.
        !            81: If not, execution begins with the first
        !            82: executable statement;
        !            83: .B define
        !            84: is not an executable statement.
        !            85: .PP
        !            86: There are no builtin functions.
        !            87: .PP
        !            88: Parentheses for arithmetic are not needed.
        !            89: Normal precedence applies.
        !            90: Because of this, the arithmetic
        !            91: operators
        !            92: .B /
        !            93: and
        !            94: .B *
        !            95: must be set off by spaces.
        !            96: .PP
        !            97: The right side of assignments
        !            98: must be non-empty.
        !            99: .PP
        !           100: Either
        !           101: .L '
        !           102: or
        !           103: .L \&"
        !           104: may be used for literal quotes.
        !           105: .PP
        !           106: The pseudo-variable
        !           107: .B sysppt
        !           108: is not available.
        !           109: .SH SEE ALSO
        !           110: .IR spitbol (1), 
        !           111: .IR snocone (1), 
        !           112: .IR awk (1)
        !           113: .br
        !           114: .I \s-1SNOBOL\s+1, a String Manipulation Language,
        !           115: by D.\ J. Farber, R.\ E. Griswold, and I.\ P. Polonsky,
        !           116: .I JACM\^
        !           117: .B 11
        !           118: (1964), pp.\ 21-30.
        !           119: .DT

unix.superglobalmegacorp.com

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