    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 -