This document describes how to use the SNOBOL4 language on the IBM Personal Computer and includes a reference summary for the SNOBOL4 language. Familiarity with the SNOBOL4 language is assumed. This manual does not attempt to teach SNOBOL4. It is only a reference to the language features and a guide for its use on the IBM Personal Computer. The authoritative manual for the SNOBOL4 language is entitled "The SNOBOL4 Programming Language, Second Edition," by R. E. Griswold, J. F. Poage and I. P. Polonsky, published by Prentice-Hall 1971. This book is out of print, however. Prentice Hall destroyed the remaining copies without notice. Ownership of the copyright for the book is quite complicated and it is unclear whether anyone else can arrange to publish it again. We have heard rumors that an Acrobat version might become available at some time in the future. We actually have a small number of copies left.

The SNOBOL4 language is primarily a string processing language, yet has all of the needed constructs to write complex programs for other applications. Some of the most powerful features of the language include string pattern matching, tables (which are really associative arrays) and programmer defined data types. What makes programming in SNOBOL4 better is that these many powerful features are built into the language, including automatic garbage collection, and one does not have to find or write some separate software package to do these things. Thus, SNOBOL4 programs tend to require fewer statements than programs written in other languages.

The full SNOBOL4 language has been implemented except for a few operating system related items. The LOAD and UNLOAD functions are not supported. In other systems they dynamically load subroutines from libraries and can then be called from SNOBOL4 programs. Actually, there is primitive LOAD and UNLOAD support, but it requires the use of assembly language and an in-depth understanding of how the interpreter is implemented. Its use is discouraged at this time because the architecture of the interface is being changed.

A few extra features have been added which are not part of the vanilla SNOBOL4 specification. These include a few pattern elements such as MAXARB, built-in functions such as SORT, and several string padding functions.

This SNOBOL4 implementation for the IBM Personal Computer was derived from the original SNOBOL4 Implementation Language (SIL) implementation by Prof. Ralph E. Griswold, while at Bell Telephone Laboratories. Details about SIL and the entire SNOBOL4 implementation are available in the book "The Macro Implementation of SNOBOL4" by Ralph E. Griswold, 1972, W. H. Freeman and Company, also out of print.

The Minnesota SNOBOL4 Interpreter runs source programs that you have written in the SNOBOL4 programming language. The SNOBOL4 interpreter runs your programs under the IBM Disk Operating System (IBM DOS) or an equivalent such as MS DOS, OS/2, Windows 95 and others.

At least 256K of memory is recommended. If you wish to use any floating point operations, you also need a Math Co-processor (x87) or a 486DX system or higher. Without the Co-processor, an attempt to use a floating point operation will cause the SNOBOL4 interpreter to terminate with an error indicating that the operation is not defined.

Prior Page, Next Page, First Page of the Minnesota SNOBOL4 Reference