Snostorm

From Wikipedia, the free encyclopedia
Jump to: navigation, search

SnoStorm is a structured version of the SNOBOL language, and in particular SNOBOL4. The language was also known as SnoStorm3, and compensated for the near absence of structuring programming constructs in SNOBOL by providing IF, WHILE, REPEAT statements and others. It was originally designed and implemented as a preprocessor for SPITBOL by Fred G. Swartz running under the Michigan Terminal System (MTS) at the University of Michigan Computing Center during the 1970s.

Features[edit]

The syntax of SnoStorm3 is largely insensitive to spaces and newlines, but not entirely so because of its dependence upon SNOBOL4 for execution.

Extra features include Procedures, If structures, Loop structures, Case structures and Initialisation structures

The grammar includes:

AND, NOT and OR operators
IF ELSEIF ELSE ENDIF statements
LOOP WHILE, LOOP UNTIL and LOOP FOR statements
EXITLOOP statement
NEXTLOOP statement
ENDLOOP statement
DOCASE statement
ELSECASE statement
ENDCASE statement
PROCEDURE statement
EXITPROCEDURE statement
ENDPROCEDURE statement
INITIAL statement

In addition MTS Snostorm provided options for prettyprinting and for debugging with the Spitbol compiler.

Implementation[edit]

A SnoStorm3 compiler existed at University College London (UCL) from 1982 to 1984 and worked by compiling SnoStorm3 into SNOBOL4, which could then be executed using the SNOBOL4 interpreter or by using a Spitbol compiler to create an executable.

External links[edit]