| • Science | • People | • Locations | • Timeline |
SNOBOL was widely used in the 1970s and 1980s as a text manipulation language in the humanities, but in recent years, its popularity has faded as newer and more efficient languages such as Awk and Perl have made string manipulation by means of regular expressions popular; it is now mostly a special interest language used mainly by enthusiasts, and new implementations are rare. The classic implementation was on the PDP-10The PDP-10 was a computer manufactured by Digital Equipment Corporation (DEC) from the late 1960s on; the name stands for "Programmed Data Processor model 10". It was the machine that made time-sharing common; it looms large in hacker folklore because of; it has been used to study compilerA compiler is a computer program that translates a computer program written in one computer language (called the source language into an equivalent program written in another computer language (called the output or the target language . Introduction and hs, formal grammarIn computer science a formal grammar is an abstract structure that describes a formal language precisely, i. a set of rules that mathematically delineates a (usually infinite) set of finite-length strings over a (usually finite) alphabet. Formal grammarss, and artificial intelligenceThis article is about modelling human thought with computers,. For other uses of the term AI see Ai''. Artificial intelligence also known as machine intelligence is defined as intelligence exhibited by anything manufactured (i. artificial) by humans or ot, especially machine translationMachine translation (MT) is a form of translation where a computer program analyses the text in one language the "source text" and then attempts to produce another, equivalent text in another language the target text without human intervention. Currently and machine comprehension of natural languageThe term natural language is used to distinguish languages spoken by humans for general-purpose communication from constructs such as computer-programming languages or the "languages" used in the study of formal logic, especially mathematical logic. In ths.
SNOBOL was originally called SEXI - String EXpression Interpreter.
The SNOBOL4 (StriNg Oriented symBOlic Language number 4) version is the fourth and final incarnation of such a series of special purpose programming languages for character string manipulation.
The SNOBOL4 variant of the language supports a number of built-in data types, such as integerThe integers consist of the positive natural numbers (1, 2, 3, …) the negative natural numbers (−1, −2, −3,. and the number zero. The set of all integers is usually denoted in mathematics by Z (or Z in blackboard bold, ), which sts and limited precision real numbers, strings, patterns, arrays, and table s, and also allows the programmer to define additional data types and new functions. SNOBOL4's programmer-defined data type facility was advanced at the time (it preceded, and resembles, PASCAL's "records" and C's "structs.").
SNOBOL4 stands apart from the mainstream programming languages of that time by having patterns as a first-class data type (i.e. a data type whose values can be manipulated in all ways permitted to any other data type in the programming language) and by providing operators for pattern concatenation and alternation. Strings generated during execution can be treated as programs and executed.
A SNOBOL pattern can be very simple or extremely complex. A simple pattern is just a text string (e.g. "ABCD"), but a complex pattern may be a large structure describing, for example, the complete grammar of a computer language.
SNOBOL provides the programmer with a rich assortment of features including some rather exotic ones. As a result it is possible to use SNOBOL as if it were an object-oriented language, a logical programming language, a functional language or a standard imperative language by changing the set of features used to write a program. It also concatenates strings that are simply placed next to each other in a statement. It keeps strings in a memory heap, and frees programmers from concerns about memory allocation and management for strings.
It is normally implemented as an interpreter because of the difficulty in implementing some of its very high-level features, but there is a compiler, the SPITBOL compiler, which provides nearly all the facilities that the interpreter provides.
The Icon programming language is a descendant of SNOBOL4.
During the 1950s and 1960s there was a flourishing of interest in special-purpose computer languages. SNOBOL was one of a number of text-string-oriented languages, and one of the more successful; others included COMIT and TRAC.