SNOBOL

от Уикипедия, свободната енциклопедия

SNOBOL (String Oriented Symbolic Language) е език за програмиране разработен между 1962 и 1967 г. в лабораториите Бел от Дейвид Фарбер, Ралф Грисуорд и Иван Полонски. Преди да се нарече SNOBOL, езикът за програмиране е носел името SEXI – String Expression Interpreter.

SNOBOL осигурява на програмиста асортимент от характеристики. Като резултат е възможно да се като език за обектно-ориентиране, логичен език за програмиране, функционален или стандартно императивен език. SNOBOL също така свързва нишки, които са разположени една до друга в аргумент и ги запазва на групички в паметта.

В практиката това се извършва от интерпретатор поради трудността, която се открива в изпълнението на някои от особеностите, които са на сравнително по-високо ниво от други, но затова има и компилатор, SNOBOL компилатор, който осигурява приспособления, нужни на интерпретатора.

Оригиналната система на SNOBOL е създадена в BEFAP и събрана за IBM 7090. Основният езиков дефект е била липсата на съставни функции. Новата реализация на SNOBOL отстранява този дефект и създава версията SNOBOL2 (1964 г.) Програмист добавя и дефинира нови функции и така се появява и SNOBOL3 (1965 г.)

SNOBOL3 е изпратен на IBM 7040/7044 и независимите изпълнения са били направени за други машини включително Burroughs 5500q CDC 3600Q IBM 1620, DEC PDP – 6, RCA 601 и SDS 930. Ранните версии на Unix идват с интерпретатор, наречен сно. Множеството изпълнения причинили разпространение на езикови диалекти – съзнателни и несъзнателни.

Най-новата версия на SNOBOL3 (в Java) е направена от Денис Хеймбигнер от Лабораторията за софтуерно инженерно проучване в Департамента по компютърни науки в университета в Колорадо.

Настъпването на трето поколение компютри с по-голяма памет и по-бърз процесор е осигурило и компютри, с които да работи SNOBOL4 и допълнителните елементи познати на SNOBOL4, а именно: подобрени образци, цифрената част на типове данни, списъци, таблици.

Работата върху SNOBOL4 започва през 1966 г. и е трябвало да бъде преносима поначало. Изпълнителният език SNOBOL или SIL е трябвало да бъде реализиран като съставен макро тип. Тази негова реализация понякога е наричана Macro SNOBOL4. Изпълнението започва от IBM 7094, след което се мести в MULTICS – Virtual Memory System on the GE 645. След като лабораториите Бел изтеглили проекта от MULTICS, развитието продължило в IBM System/360. Macro SNOBOL4 е изпратен на повече от 50 системи, включително: CDC 6600, GE 635, UNIVAC 1108, RCA Spectra 70, Ferranti Atlas 2, SDS Sigma 7, DEC PDP-10, Burroughs 6700, Multics и много други.

Macro SNOBOL4 не е бил добре разположен между малките машини и не е могъл да се намести в 16-битовото адресно пространство на много микрокомпютри. Macro SNOBOL4 се свързва с 8086 (IBM PC) включително Catspaw Vanilla SNOBOL4 и SNOBOL4+ Minnesota SNOBOL4.

Версията SNOBOL4 е четвъртото и последното въплъщение на такава серия от специфични целесъобразни езици за програмиране.

Езиковият вариант на SNOBOL4 осигурява голям брой типове данни нато например – цели числа и с ограничена прецизност реални числа, линии, образци, списъци, таблици и също така позволява на програмиста да определи допълнителните типове данни и нови функции. Приспособлението на SNOBOL4 за дефиниране на типове данни се е подобрило през времето. SNOBOL4 е доста различен от основния поток езици за програмиране по това време, защото притежава първокласни образци на типове данни (типове данни, чийто стойности могат да бъдат използвани по всякакви начини допуснати до всякакъв друг вид типове данни в езика за програмиране) и чрез осигуряване на оператори, които да отговарят за свързаността и последователността на образците.

Един образец на SNOBOL4 може да бъде много прост или изключително сложен. Простият образец е текстова линия, а комплексния образец може да бъде голяма структура, която да обяснява например граматичните правила на езика за програмиране.

Езикът за програмиране Icon е потомък на SNOBOL4. По-късните изпълнения на езика включват: SPITBOL\360 SPITBOL\370 (високо настроен компилатор), Macro SPITBOL(портативно изпълнение включващо MaxSPITBOL, SPITBOL-386), (всичко е от Робърт Б. К. Деуар), SITBOL, FASBOL, ELFBOL и други.

Външни препратки[редактиране | редактиране на кода]