Annotation of researchv10dc/dist/man/v4/man1/sno.1, revision 1.1.1.1

1.1       root        1: .th SNO I 2/9/73
                      2: .sh NAME
                      3: sno \*- Snobol interpreter
                      4: .sh SYNOPSIS
                      5: .bd sno
                      6: [ file ]
                      7: .sh DESCRIPTION
                      8: .it Sno
                      9: is a Snobol III (with slight differences)
                     10: compiler and interpreter.
                     11: .it Sno
                     12: obtains input from the
                     13: concatenation of
                     14: .it file
                     15: and the standard input.
                     16: All input through a statement
                     17: containing the label `end' is
                     18: considered program and is compiled.
                     19: The rest is available to `syspit'.
                     20: .s3
                     21: .it Sno
                     22: differs from Snobol III in the following ways.
                     23: .s3
                     24: There are no unanchored searches.
                     25: To get the same effect:
                     26: .s3
                     27:        a ** b          unanchored search for b
                     28: .br
                     29:        a *x* b = x c   unanchored assignment
                     30: .s3
                     31: There is no back referencing.
                     32: .s3
                     33:        x = "abc"
                     34: .br
                     35:        a *x* x         is an unanchored search for `abc'
                     36: .s3
                     37: .i0
                     38: Function declaration is different.
                     39: The function declaration is
                     40: done at compile time by the use of the label `define'.
                     41: Thus there is no ability to define functions at run time
                     42: and the use of the name `define' is preempted.
                     43: There is also no provision for automatic variables
                     44: other than the parameters.
                     45: For example:
                     46: .s3
                     47: .lp +5 5
                     48: .bd "define    f( )"
                     49: .s3
                     50: .i0
                     51: or
                     52: .s3
                     53: .lp +5 5
                     54: .bd "define f(a,b,c)"
                     55: .s3
                     56: .i0
                     57: All labels except `define' (even `end')
                     58: must have a non-empty statement.
                     59: .s3
                     60: If `start' is a label in the program,
                     61: program execution will start there.
                     62: If not, execution begins with the first
                     63: executable statement.
                     64: `define' is not an executable statement.
                     65: .s3
                     66: There are no builtin functions.
                     67: .s3
                     68: Parentheses for arithmetic are not needed.
                     69: Normal precedence applies.
                     70: Because of this, the arithmetic
                     71: operators `/' and `*'
                     72: must be set off by space.
                     73: .s3
                     74: The right side of assignments
                     75: must be non-empty.
                     76: .s3
                     77: Either \*a or " may be used for literal quotes.
                     78: .s3
                     79: The pseudo-variable `sysppt' is not available.
                     80: .sh "SEE ALSO"
                     81: Snobol III manual.
                     82: (JACM;
                     83: Vol. 11 No. 1; Jan 1964; pp 21)
                     84: .sh BUGS

unix.superglobalmegacorp.com

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