Snobol

Snobol

Снобо́л - язык программирования высокого уровня, разработанный в 1962-1967 гг. и предназначенный преимущественно для обработки текстовых данных.

Основной целью языка Снобол являлось показать принцип (возможность его полноценного существования), что всё есть строка. Внешне язык выглядит, в так называемом, старом стиле: современные идеи процедур в нём даже не узнать, однако мощь его ничуть не уступает LISP по работе в среде "искусственного интеллекта".

Сопоставление с образцом на основе НФБ-грамматик. Полностью динамический язык, включая объявления, типы, распределение памяти, даже точки входа и выхода из процедуры. Реализация использует виртуальные макрокоманды обработки строк - простой перезаписью макрокоманд для любого существующего компьютера.

Язык, который является языком написания компиляторов, в котором основной принцип, что всё есть строка и имеющий такой "некрасивый" синтаксис не мог естественным путём не "переродиться" в совершенно другой, внешне даже не похожий: Icon. Первоначально он был одной лишь надстройкой над Снобол4, но вскоре стал самостоятельным языком программирования.

Содержание

История

Разработка началась в 1962г. Ральфом Грисвольдом, Иваном Полонским и Дэвидом Фарбером, сотрудниками лаборатории AT&T Bell Labs. Их целью было создание языка обработки строк для работы с формулами и анализа графиков.

В 1950 г. Ингве (Yngve) из MIT разработал язык COMIT для обработки естественных языков на основе правил НФБ, однако группа из Bell Labs сочла COMIT слишком ограниченным для своих целей.

Изначально язык назывался SCL7 (Symbolic Computation Language 7), затем его название сменилось на SEXI (String Expression Interpreter), которое по понятным причинам было осуждено в 60-е гг., и, наконец, он стал называться SNOBOL (StriNg Oriented symBOlic Language) - искусственно созданный акроним, лишенный интуитивно понятного смысла. Было разработано несколько версий языка Снобол - SNOBOL, SNOBOL2, SNOBOL3 и SNOBOL4. Последний пользовался успехом в 70-е гг.

Пример

Найти среди вводимых строк палиндром, составленный из 0 и 1, максимальной нечетной длины:

START GRAMMAR = 0 | 1| 0 *GRAMMAR 0 | 1 *GRAMMAR 1
* Устанавливает в качестве образца НФБ-грамматику
LOOP NEWLINE - TRIMCINPUT) : F(END)
* Получает следующую строку без завершающих пробелов.
* В случае ошибки переход на END.
NEWLINE (POS(O) SPANC'Ol") PROS(O)) : F(BAD)
* Проверяет строку на наличие только нулей и единиц.
* SPAN - строка из нулей и единиц.
* POS(O) - первая позиция.
* PROS(O) - последняя.
SN = SIZE(NEWLINE)
NEXT NEWLINE POS(O) GRAMMAR . PALINDROME POS(SN)
- :S(OK) F(NOTOK)
* Строка проверяется на соответствие грамматике через POS(SN)
* Если сравнение не прошло, переход в последнюю позицию.
* Если успешно, печатается ответ.
* Совпавшая часть присваивается PALINDROME
OK OUTPUT="MATCH: " PALINDROME :(LOOP)
NOTOK SN = SN - 1 :(NEXT)
BAD OUTPUT = "IMPROPER INPUT: " NEWLINE :(LOOP)
END

Ссылки

Литература

  • Роберт В Себеста 2.9. Два ранних динамических языка: APL и SNOBOL // Основные концепции языков программирования = Concepts of Programming Languages. — 5-е изд. — М.: «Вильямс», 2001. — С. 672. — ISBN 5-8459-0192-8

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Snobol" в других словарях:

  • Snobol — Desarrollador(es) David J. Farber, Ralph E. Griswold, Ivan P. Polonsky y Laboratorios Bell Información general Paradigma Multiparadigma, orientado a objetos, funcional …   Wikipedia Español

  • SNOBOL — 4 (String Oriented symbolic Language number 4) ist die vierte und letzte Ausprägung einer Reihe von Programmiersprachen mit dem Zweck der Manipulation von Zeichenketten. Diese Sprachen wurden zwischen 1962 und 1967 in den Bell Laboratories von AT …   Deutsch Wikipedia

  • Snobol — fue diseñado en los Bell Laboratories por D. J. Farber, R. E. Griswold y F. P. Polensky a principios de los años 60. Se trata de un lenguaje de muy alto nivel orientado a la manipulación de cadenas de caracteres con rasgos muy avanzados. A pesar… …   Enciclopedia Universal

  • SNOBOL —   [Abk. für String Oriented Symbolic Language, dt. »zeichenkettenorientierte symbolische Sprache«], eine 1964 in den AT&T Bell Laboratories entwickelte imperative Programmiersprache zur Verarbeitung von Zeichenfolgen, z. B. von Text. Snobol hat… …   Universal-Lexikon

  • SNOBOL — das; Kunstw.; <wohl nach der verwendeten Zeichenkette> imperative Programmiersprache für Textverarbeitung, deren wichtigster Datentyp die Zeichenkette ist (EDV) …   Das große Fremdwörterbuch

  • SNOBOL — /snōˈböl/ noun String Oriented Symbolic Language, a high level computer language for handling strings of symbols …   Useful english dictionary

  • SNOBOL — infobox programming language name = SNOBOL paradigm = multi paradigm: object oriented, functional, logic year = 1962 designer = David J. Farber, Ralph E. Griswold and Ivan P. Polonsky developer = David J. Farber, Ralph E. Griswold, Ivan P.… …   Wikipedia

  • SNOBOL — String Oriented Symbolic Language SNOBOL (abréviation de StriNg Oriented symBOlic Language) est un langage de base de données basé sur le traitement des chaînes de caractères. Ce standard a été défini entre 1960 et 1962 dans les Laboratoires Bell …   Wikipédia en Français

  • SNOBOL — ● np. m. ►LANG►HISTO StriNg Oriented symBOlic Language. Langage de base de données basé sur le traitement de chaîne de caractères, défini entre 1960 et 1962 aux laboratoires Bell. Il est resté peu connu jusqu à sa version 4 (SNOBOL4), qui a eu… …   Dictionnaire d'informatique francophone

  • SNOBOL — String Oriented Symbolic Language (Computing » General) …   Abbreviations dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»