Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

awk(1)



sno(1)                         DG/UX R4.11MU05                        sno(1)


NAME
       sno - SNOBOL interpreter and compiler

SYNOPSIS
       sno [ files ]

DESCRIPTION
       Sno is a SNOBOL compiler and interpreter (with slight differences).
       sno obtains input from the concatenation of the named files 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.

       Sno differs from SNOBOL 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 done at compile time by the use of the
              (non-unique) 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 parameters.  Examples:

                     define f( )
                     define f(a, b, c)

              All labels except define (even end) must have a non-empty
              statement.

              Labels, functions and variables must all have distinct names.
              In particular, the non-empty statement on end cannot merely
              name a label.

              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 built-in functions.

              Parentheses for arithmetic are not needed.  Normal precedence
              applies.  Because of this, the arithmetic operators / and *
              must be set off by spaces.

              The right side of assignments must not be empty.

              Either ' or " may be used for literal quotes.

              The pseudo-variable sysppt is not available.

SEE ALSO
       awk(1).


Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026