SNO (I) 2/9/73 SNO (I) 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 la- bel 'end' is considered program and is compiled. The rest is available to 'syspit'. The following is a list of differences between sno and SNOBOL III: There are no unanchored searches. To get the same effect: a ** b unanchored search for b a *x* b = x c unanchored assignment No back referencing x = "abc" 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 abil- ity 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. define f() or define f(a,b,c) 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 executable statement. ('define' is not an executable statement) There are no builtin functions Variable length patterns at the end of a pat- tern match are not treated specially. They still match the shortest rather than longest text. Parentheses for arithmetic are not needed. Normal (eg FORTRAN) precedence applies. Be- cause 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. The pseudo-variable 'sysppt' is not available. FILES -- SEE ALSO SNOBOL III manual. (JACM; Vol. 11 No. 1; Jan 1964; pp 21) DIAGNOSTICS As appropriate BUGS Runtime diagnostics give the last program line number rather than the executing statement line number.