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

1.1       root        1: .pa 1
                      2: .he 'SNO (I)'2/9/73'SNO (I)'
                      3: .ti 0
                      4: NAME           sno -- SNOBOL interpreter
                      5: .sp
                      6: .ti 0
                      7: SYNOPSIS       sno___ [ file ]
                      8: .sp
                      9: .ti 0
                     10: DESCRIPTION    sno___
                     11: is a SNOBOL III (with slight differences)
                     12: compiler and interpreter.
                     13: sno___ obtains input from the
                     14: concatenation of file____ and the standard input.
                     15: All input through a statement
                     16: containing the label 'end' is
                     17: considered program and is compiled.
                     18: The rest is available to 'syspit'.
                     19: 
                     20: The following is a list of differences
                     21: between sno___ and SNOBOL III:
                     22: 
                     23: .in +3
                     24: There are no unanchored searches.
                     25: To get the same effect:
                     26: 
                     27: .ti +3
                     28: a ** b         unanchored search for b
                     29: .ti +3
                     30: a *x* b = x c  unanchored assignment
                     31: 
                     32: No back referencing
                     33: 
                     34: .ti +3
                     35: x = "abc"
                     36: .ti +3
                     37: a *x* x                unanchored search for "abc"
                     38: 
                     39: Different function declaration.
                     40: The function declaration is
                     41: done at compile time by the use of the label 'define'.
                     42: Thus there is no ability to define functions at run time
                     43: and the use of the name 'define' is preempted.
                     44: There is also no provision for 'automatic' variables
                     45: other than the parameters.
                     46: 
                     47: .ti +3
                     48: define f()
                     49: .ti +3
                     50:        or
                     51: .ti +3
                     52: define f(a,b,c)
                     53: 
                     54: All labels except 'define' (even 'end')
                     55: must have a non-empty statement.
                     56: 
                     57: If 'start' is a label in the program,
                     58: program execution will start there.
                     59: If not, execution begins with the first
                     60: executable statement.
                     61: ('define' is not an executable statement)
                     62: 
                     63: There are no builtin functions
                     64: 
                     65: Variable length patterns
                     66: at the end of a pattern match are not treated
                     67: specially.
                     68: They still match the shortest rather than
                     69: longest text.
                     70: 
                     71: Parentheses for arithmetic are not needed.
                     72: Normal (eg FORTRAN) precedence applies.
                     73: Because of this, the arithmetic
                     74: operators '/' and '*'
                     75: must be set off by space.
                     76: 
                     77: The right side of assignments
                     78: must be non-empty.
                     79: 
                     80: Either ' or " may be used for literal quotes.
                     81: 
                     82: The pseudo-variable 'sysppt' is not available.
                     83: .in -3
                     84: .sp
                     85: .ti 0
                     86: FILES          --
                     87: .sp
                     88: .ti 0
                     89: SEE ALSO       SNOBOL III manual.
                     90: (JACM____; Vol. 11 No. 1; Jan 1964; pp 21)
                     91: .sp
                     92: .ti 0
                     93: DIAGNOSTICS    As appropriate
                     94: .sp
                     95: .ti 0
                     96: BUGS           Runtime
                     97: diagnostics give the
                     98: last program line number
                     99: rather than the executing statement line number.

unix.superglobalmegacorp.com

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