A
linguagem de programação SNOBOL 4 (
Stri
Ng
Oriented sym
BOlic
Language number
4) é a quarta e última encarnação de uma série de linguagens de programação específicas destinadas à manipulação de sequências de
caracteres. É baseada nos princípios de correspondência de padrões (Em inglês:
pattern matching) para solucionar problemas de manipulação de seqüencias. Estas linguagens foram desenvolvidas entre
1962 e
1967 nos
Laboratórios Bell, da
AT&T, por D. J. Farber, R. E. Griswold, e F. P. Polensky.
A linguagem SNOBOL 4 suporta alguns tipos de dados pré-definidos, tais como
números inteiros e
reais de precisão simples, sequências de caracteres, modelos,
matrizes e tabelas, e também permite ao programador a definição de tipos de dados adicionais e de novas funções. Distingue-se das linguagens de programação principais do tempo por modelos (i.e., um tipo de dados cujos valores podem ser manipulados de todas as formas permitidas para todos os outros tipos de dados existentes na linguagem) como um tipo de dados de primeira classe e por disponibilizar
operadores para a
concatenação e alteração de modelos. As sequências de caracteres geradas durante a execução podem ser tratadas como programas e executadas.
Um modelo SNOBOL 4 tanto pode ser muito simples como extremamente complexo. Um modelo simples é apenas uma sequência de texto (ex: "ABCD"), mas um modelo complexo pode ser uma estrutura de grandes dimensões descrevendo, por exemplo, a gramática completa de uma linguagem de computador.