A Snobol4 Tutorial

by Mark B. Emmer <marke@snobol4.com>

Copyright © 1985, 1988 Catspaw, Inc.
HTML markup by John English


Table of Contents

Chapter 1 Fundamentals

1.1 Simple Data Types
1.2 Simple Operators
1.3 Variables

Chapter 2 Control Flow and Functions

2.1 Success and Failure
2.2 A SNOBOL4 Statement
2.3 Built-In Functions

Chapter 3 Input/Output and Keywords

3.1 Input/Output
3.2 Keywords
3.3 Programs Without Pattern Matching

Chapter 4 Pattern Matching

4.1 Introduction
4.2 Specifying Pattern Matching
4.3 Subject String
4.4 Pattern Subsequents and Alternates
4.5 Simple Pattern Matches
4.6 The Pattern Data Type
4.7 Capturing Match Results
4.8 Unknowns
4.9 Pattern Matching with Replacement
4.10 Sample Programs
4.11 Anchored and Unanchored Matching

Chapter 5 Additional Operators and Data Types

5.1 Indirect Reference
5.2 Unevaluated Expressions
5.3 Immediate Assignment
5.4 Arrays
5.5 Tables
5.6 The Name Operator

Chapter 6 Program-Defined Objects

6.1 Program-Defined Functions
6.2 Program-Defined Data Types
6.3 Program-Defined Operators

Chapter 7 Advanced Topics

7.1 The ARBNO Function
7.2 Recursive Patterns
7.3 Quickscan and Fullscan
7.4 Other Primitive Patterns
7.5 Other Functions
7.6 Other Unary Operators
7.7 Run-time Compilation

Chapter 8 Debugging and Program Efficiency

8.1 Debugging and Tracing
8.2 Execution Tracing
8.3 Program Efficiency

Chapter 9 Concluding Remarks