SNOBOL

SNOBOL
Paradigmamulti-paradigma: objektově orientované, funkcionální, logické
Vznik1962
AutorDavid J. Farber, Ralph E. Griswold and Ivan P. Polonsky
VývojářDavid J. Farber, Ralph E. Griswold, Ivan P. Polonsky, and Bellovy laboratoře
Poslední verzeSNOBOL4 (1967)
Hlavní implementaceSNOBOL, SPITBOL
Ovlivnil jazykyIcon, Lua, SL5

SNOBOL (angl. StriNg Oriented and symBOlic Language) je programovací jazyk vyvíjen v letech 1962 až 1967 v AT&T Bellových laboratořích pány David J. Farber, Ralph E. Griswold a Ivan P. Polonsky, jehož poslední verzí je jazyk SNOBOL4. Byl jedním z několika textově orientovaných jazyků vyvíjených v 50. a 60. letech, mezi které patří i COMIT a TRAC.

SNOBOL4 se liší od většiny programovacích jazyků tím, že má vzory jako primární datový typ (tj. datový typ, jehož hodnoty mohou být měněny všemi způsoby povolenými kterémukoliv jinému datovému typu programovacího jazyka) a poskytováním operátorů pro řetězení a měnění vzorů. S řetězci generovanými během vykonávání programu může být zacházeno jako s programy a mohou být spouštěny.

SNOBOL4 byl v 60. a 70. letech docela široce vyučován na velkých univerzitách a v 70. a 80. letech byl též široce využíván jako jazyk pro práci s textem v humanitních oborech.

V 80. a 90. letech jeho užívání upadávalo, protože nové jazyky, jako například AWK a Perl, umožňovaly manipulaci s řetězci pomocí regulárních výrazů. Vzory SNOBOL4 zahrnují gramatiky BNF, které jsou ekvivalentní bezkontextové gramatice a silnější než regulární výrazy. Regulární výrazy v současných verzích AWK a Perl jsou ve skutečnosti rozšířením regulárních výrazů v tradičním smyslu. Ale regulární výrazy, na rozdíl od vzorů jazyka SNOBOL4, nemohou být rekurzívní, což je značnou výhodou vzorů SNOBOL4. Nicméně regulární výrazy v jazyce Perl mohou být od verze Perl 5.10 (vydané v prosinci roku 2007) také rekurzívní.

Jeden z vývojářů jazyka SNOBOL, Ralph Griswold, navrhl nástupce jazyka SNOBOL4 nazvané „SL5“ a „Icon“, které kromě jiných nově přidaných funkcí také kombinovaly backtracking vzorů SNOBOL4 a obvyklejší ALGOL strukturu.


Developed by StudentB