.he 'SNO (I)'2/9/73'SNO (I)'
NAME sno -- SNOBOL interpreter
SYNOPSIS sno
\b\b\b___ [ file ]
is a SNOBOL III (with slight differences)
compiler and interpreter.
sno
\b\b\b___ obtains input from the
concatenation of file
\b\b\b\b____ and the standard input.
All input through a statement
containing the label 'end' is
considered program and is compiled.
The rest is available to 'syspit'.
The following is a list of differences
between sno
\b\b\b___ and SNOBOL III:
There are no unanchored searches.
a ** b unanchored search for b
a *x* b = x c unanchored assignment
a *x* x unanchored search for "abc"
Different function declaration.
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.
All labels except 'define' (even 'end')
must have a non-empty statement.
If 'start' is a label in the program,
program execution will start there.
If not, execution begins with the first
('define' is not an executable statement)
There are no builtin functions
at the end of a pattern match are not treated
They still match the shortest rather than
Parentheses for arithmetic are not needed.
Normal (eg FORTRAN) precedence applies.
Because of this, the arithmetic
must be set off by space.
The right side of assignments
Either ' or " may be used for literal quotes.
The pseudo-variable 'sysppt' is not available.
SEE ALSO SNOBOL III manual.
(JACM
\b\b\b\b____; Vol. 11 No. 1; Jan 1964; pp 21)
DIAGNOSTICS As appropriate
rather than the executing statement line number.