SNO(VI)                       2/9/73                      SNO(VI)
NAME
     sno - Snobol interpreter
SYNOPSIS
     sno [ file ]
DESCRIPTION
     Sno  is  a Snobol III (with slight differences) compiler and
     interpreter.  Sno obtains input from  the  concatenation  of
     file  and the standard input.  All input through a statement
     containing the label `end' is considered program and is com-
     piled.  The rest is available to `syspit'.
     Sno differs from Snobol III in the following ways.
     There are no unanchored searches.  To get the same effect:
          a ** b         unanchored search for b
          a *x* b = x c  unanchored assignment
     There is no back referencing.
          x = "abc"
          a *x* x        is an unanchored search for `abc'
     Function declaration is different.  The function declaration
     is done at compile time by the use of  the  label  `define'.
     Thus there is no ability to define functions at run time and
     the use of the name `define' is preempted.  There is also no
     provision for automatic variables other than the parameters.
     For example:
     define f( )
     or
     define f(a,b,c)
     All labels except `define' (even `end') must have a non-emp-
     ty statement.
     If `start' is a label in the program, program execution will
     start there.  If not, execution begins with the  first  exe-
     cutable statement.  `define' is not an executable statement.
     There are no builtin functions.
     Parentheses for arithmetic are not  needed.   Normal  prece-
     dence  applies.   Because  of this, the arithmetic operators
     `/' and `*' must be set off by space.
     The right side of assignments must be non-empty.
     Either ' or " may be used for literal quotes.
                              - 1 -
SNO(VI)                       2/9/73                      SNO(VI)
     The pseudo-variable `sysppt' is not available.
SEE ALSO
     Snobol III manual.  (JACM; Vol. 11 No. 1; Jan 1964; pp 21)
BUGS
                              - 2 -