Snobol linguaggio di programmazione | |
---|---|
Autore | David J. Farber, Ralph E. Griswold, Ivan P. Polonsky |
Data di origine | 1962 |
Ultima versione | 4 |
Utilizzo | general purpose e analisi di testi |
Paradigmi | Imperativo |
Tipizzazione | dinamica |
Estensioni comuni | sno, spt (Spitbol) |
Influenzato da | FORTRAN II e COMIT |
Ha influenzato | Icon, Lua, SL5 |
Implementazione di riferimento | |
Implementazione | CSNOBOL4 release 2.3 2022.03 |
Sistema operativo | Unix-like, Windows, OSX |
Licenza | varie |
Sito web | www.regressive.org/snobol4/ |
SNOBOL (StriNg Oriented and symBOlic Language) è il nome generico di un linguaggio di programmazione per calcolatore sviluppato tra il 1962 e il 1967 da David J. Farber, Ralph E. Griswold e Ivan P. Polonsky presso i Laboratori AT&T Bell. L'ultima versione del linguaggio ha preso il nome di SNOBOL4. SNOBOL è stato uno di una serie di linguaggi orientati alle stringhe sviluppato tra gli anni cinquanta e i sessanta (tra gli altri, COMIT e TRAC).
SNOBOL4 si differenzia dalla maggior parte dei linguaggi di programmazione poiché fornisce il pattern come tipo di dato di prima classe (ovvero, un tipo di dato i cui valori possono essere manipolati in qualsiasi modo permesso a qualsiasi altro tipo di dato nel linguaggio) e operatori per concatenazione e alternanza di pattern. Le stringhe generate durante l'esecuzione possono essere trattate come programmi e quindi eseguite.
SNOBOL4 è stato spesso insegnato in grandi università statunitensi verso la fine degli anni 1960 e all'inizio degli anni 1970 ed è stato ampiamente utilizzato nei due decenni seguenti come linguaggio di manipolazione del testo in ambito umanistico.
In anni recenti SNOBOL ha ceduto il passo a nuovi linguaggi quali Awk e Perl, che hanno reso di moda la manipolazione di stringhe mediante espressioni regolari. Tuttavia, i pattern di SNOBOL4 sussumono le grammatiche BNF, che sono equivalenti alle grammatiche libere dal contesto e più potenti delle espressioni regolari.[1] Le espressioni regolari implementate da Awk e Perl, infatti, sono estensioni delle espressioni regolari intese in senso tradizionale, ma esse - al contrario dei pattern di SNOBOL4 - non possono essere ricorsive.[2]
Uno dei progettisti di SNOBOL, Ralph Griswold, ne ideò due successori, chiamati SL5 e Icon, che combinavano il meccanismo di pattern matching di SNOBOL4 con una strutturazione più standard stile ALGOL.