sno
PURPOSE
Provides a SNOBOL interpreter.
SYNOPSIS
sno [ files ]
DESCRIPTION
The sno command provides a SNOBOL compiler and inter-
preter, with some differences from standard SNOBOL. It
reads the named files and the standard input. It com-
piles all input through a statement containing the label
end. The rest is available to syspit. The sno command
differs from SNOBOL in the following ways:
o There are no unanchored searches. To get the same
effect:
a ** b Unanchored search for b
a *x* b = x c Unanchored assignment.
o There is no back referencing.
x = "abc"
a *x* x Unanchored search for abc.
o Function declaration is done at compile time by the
use of the (nonunique) label define. Execution of a
function call begins at the statement following the
define. Functions cannot be defined at run time, and
the use of the name define is preempted. There is no
provision for automatic variables other than parame-
ters. Examples:
define f()
define f(a, b, c)
o All labels except define (even end), must have a non-
empty statement.
o Labels, functions, and variables must all have dis-
tinct names. In particular, the nonempty statement
on end cannot merely name a label.
o If start is a label in the program, program execution
begins there. If not, execution begins with the
first executable statement. define is not an execut-
able statement.
o There are no built-in functions.
o Parentheses for arithmetic are not needed. Normal
precedence applies. Because of this, the arithmetic
operators \ (backslash) and * (asterisk) must be set
off by spaces.
o The right side of assignments must be nonempty.
o Either ' (single quotation mark) or " (double quota-
tion mark) can be used for literal quotation marks.
o The pseudo-variable sysppt is not available.
RELATED INFORMATION
The following command: "awk."