<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BD%D0%BE%D0%B1%D0%BE%D0%BB</id>
	<title>Снобол - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BD%D0%BE%D0%B1%D0%BE%D0%BB"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%A1%D0%BD%D0%BE%D0%B1%D0%BE%D0%BB&amp;action=history"/>
	<updated>2026-07-17T10:27:24Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%A1%D0%BD%D0%BE%D0%B1%D0%BE%D0%BB&amp;diff=16176&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot: Добавление ссылок на электронные версии книг (20251223)) #IABot (v2.0.9.5) (GreenC bot</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%A1%D0%BD%D0%BE%D0%B1%D0%BE%D0%BB&amp;diff=16176&amp;oldid=prev"/>
		<updated>2025-12-24T03:36:33Z</updated>

		<summary type="html">&lt;p&gt;Добавление ссылок на электронные версии книг (20251223)) #IABot (v2.0.9.5) (&lt;a href=&quot;/mediawiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:GreenC_bot&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Участник:GreenC bot (страница не существует)&quot;&gt;GreenC bot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Язык программирования}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Снобо́л&amp;#039;&amp;#039;&amp;#039; — [[язык программирования]] высокого уровня, разработанный в [[1962 год|1962]]—[[1967 год]]ах и предназначенный преимущественно для обработки [[Текстовые данные|текстовых данных]].&lt;br /&gt;
&lt;br /&gt;
Основной целью языка Снобол являлось показать принцип (возможность его полноценного существования), что всё есть [[Строковый тип|строка]]. Внешне язык выглядит в так называемом «старом стиле»: современные идеи процедур в нём сложно узнать, однако мощь его не уступает [[LISP]] по работе в среде «искусственного интеллекта».&lt;br /&gt;
&lt;br /&gt;
[[Сопоставление с образцом]] на основе [[Форма Бэкуса — Наура|БНФ-грамматик]]. Полностью динамический язык, включая объявления, типы, распределение памяти, даже точки входа и выхода из процедуры. Реализация использует виртуальные макрокоманды обработки строк — простой перезаписью макрокоманд для любого существующего компьютера.&lt;br /&gt;
&lt;br /&gt;
Язык, который является языком написания компиляторов, в котором основной принцип, что всё есть строка и имеющий такой «некрасивый» синтаксис, «переродился» в совершенно другой, внешне даже не похожий: [[Icon (язык программирования)|Icon]]. Первоначально он был одной лишь надстройкой над Снобол4, но вскоре стал самостоятельным языком программирования.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== История ==&lt;br /&gt;
Разработка началась в 1962 году Ральфом Грисвольдом, Иваном Полонским и Дэвидом Фарбером, сотрудниками лаборатории AT&amp;amp;T Bell Labs.&lt;br /&gt;
Их целью было создание языка обработки строк для работы с формулами и анализа графиков.&lt;br /&gt;
&lt;br /&gt;
В 1950 году {{iw|Ингве, Виктор|Виктор Ингве|en|Victor Yngve}} из [[Массачусетский технологический институт|Массачусетского технологического института]] разработал язык COMIT для обработки естественных языков на основе правил НФБ, однако группа из Bell Labs сочла COMIT слишком ограниченным для своих целей.&lt;br /&gt;
&lt;br /&gt;
Изначально язык назывался SCL7 (Symbolic Computation Language 7), затем его название сменилось на SEXI (String Expression Interpreter), которое было осуждено в [[1960-е годы]], и, наконец, он стал называться SNOBOL (StriNg Oriented symBOlic Language) — искусственно созданный акроним, лишённый интуитивно понятного смысла. Было разработано несколько версий языка Снобол — SNOBOL, SNOBOL2, SNOBOL3 и SNOBOL4. Последний пользовался успехом в [[1970-е годы]].&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
Найти среди вводимых строк [[палиндром]], составленный из 0 и 1, максимальной нечётной длины:&lt;br /&gt;
 START GRAMMAR = 0 | 1| 0 *GRAMMAR 0 | 1 *GRAMMAR 1&lt;br /&gt;
 * Устанавливает в качестве образца НФБ-грамматику&lt;br /&gt;
 LOOP NEWLINE — TRIMCINPUT) : F(END)&lt;br /&gt;
 * Получает следующую строку без завершающих пробелов.&lt;br /&gt;
 * В случае ошибки переход на END.&lt;br /&gt;
 NEWLINE (POS(0) SPAN(&amp;#039;0l&amp;quot;) PROS(0)) : F(BAD)&lt;br /&gt;
 * Проверяет строку на наличие только нулей и единиц.&lt;br /&gt;
 * SPAN — строка из нулей и единиц.&lt;br /&gt;
 * POS(0) — первая позиция.&lt;br /&gt;
 * PROS(0) — последняя.&lt;br /&gt;
 SN = SIZE(NEWLINE)&lt;br /&gt;
 NEXT NEWLINE POS(0) GRAMMAR . PALINDROME POS(SN)&lt;br /&gt;
 - :S(OK) F(NOTOK)&lt;br /&gt;
 * Строка проверяется на соответствие грамматике через POS(SN)&lt;br /&gt;
 * Если сравнение не прошло, переход в последнюю позицию.&lt;br /&gt;
 * Если успешно, печатается ответ.&lt;br /&gt;
 * Совпавшая часть присваивается PALINDROME&lt;br /&gt;
 OK OUTPUT=&amp;quot;MATCH: &amp;quot; PALINDROME :(LOOP)&lt;br /&gt;
 NOTOK SN = SN - 1 :(NEXT)&lt;br /&gt;
 BAD OUTPUT = &amp;quot;IMPROPER INPUT: &amp;quot; NEWLINE :(LOOP)&lt;br /&gt;
 END&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Icon (язык программирования)|Icon]]&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* {{Cite web|accessdate = 2016-01-05|title = SOURCEFORGE.NET: SNOBOL4 Files|url = https://sourceforge.net/projects/snobol4/files/|publisher = sourceforge.net}}&lt;br /&gt;
* {{Cite web|accessdate = 2016-01-05|title = SNOBOL4 and SPITBOL Information|url = http://www.snobol4.com/|publisher = www.snobol4.com}}&lt;br /&gt;
=== Реализации ===&lt;br /&gt;
* [https://sourceforge.net/projects/snobol4/ SNOBOL4] на [[Sourceforge]]&lt;br /&gt;
* [https://github.com/spitbol страница] реализации языка {{iw|Spitbol}}  на  [[github]]&amp;lt;!-- не АИ но доя будущего раздела о реализациях https://habr.com/ru/companies/1cloud/articles/269787/--&amp;gt;&lt;br /&gt;
* [https://regresive.org/snobol4/csnobol4 CSNOBOL4] &lt;br /&gt;
* [https://www.snobol5.com snobol5.com] — SNOBOL4/SNOBOL5 Programming Language&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* {{Из|Математической энциклопедии|http://uni-content.ru/dictionary-matenc/Снобол|заглавие=СНОБОЛ}}&lt;br /&gt;
* {{cite web | author=Jordan Pearson | url=https://www.vice.com/en/article/78x5ba/this-70-year-old-programmer-is-preserving-an-ancient-coding-language-on-github | title=This 70-Year-Old Programmer Is Preserving an Ancient Coding Language on GitHub | publisher =[[Vice (журнал)|Vice]] | date=2015-09-11}} (перевод: [https://habr.com/ru/companies/paysto/articles/384365/ 70-летний программист пытается сохранить древний язык программирования на GitHub])&lt;br /&gt;
&lt;br /&gt;
=== Обзоры языка в книгах по языкам программирования вообще ===&lt;br /&gt;
* {{книга&lt;br /&gt;
|заглавие = Основные концепции языков программирования&lt;br /&gt;
|часть = &amp;#039;&amp;#039;&amp;#039;2.9. Два ранних динамических языка: APL и SNOBOL&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|оригинал = Concepts of Programming Languages&lt;br /&gt;
|автор = Роберт В Себеста&lt;br /&gt;
|ссылка = https://archive.org/details/isbn_5845901928&lt;br /&gt;
|isbn = 5-8459-0192-8&lt;br /&gt;
|страницы = [https://archive.org/details/isbn_5845901928/page/n658 672]&lt;br /&gt;
|год = 2001&lt;br /&gt;
|издание = 5-е изд&lt;br /&gt;
|место =  М.&lt;br /&gt;
|издательство = [[Вильямс (издательство)|«Вильямс»]]&lt;br /&gt;
}}&lt;br /&gt;
* {{Книга|автор = Теренс Пратт|заглавие = Языки программирования: Разработка и реализация|ответственный = |издание = 1-st ed.|место = М.|издательство = Мир|год = 1979|страницы = 483—516|страниц = 573|isbn = |оригинал = Programming Language Design and Implementation (PLDI)|часть = Снобол 4}}&lt;br /&gt;
* {{Книга|автор = Ralph E. Griswold|заглавие = History of Programming Languages|ссылка = https://archive.org/details/historyofprogram0000hist/page/601|ответственный = Richard L. Wexelblat|издание = |место = |издательство = Academic Press|год = 1981|страницы = 601—660|страниц = 820|isbn = 9780127450407|часть = XIII. SNOBOL Session|серия = ACM monograph series}}&lt;br /&gt;
&lt;br /&gt;
=== Руководства по языку ===&lt;br /&gt;
* {{Книга|автор = Ralph E. Griswold, etc.|заглавие = Snobol 4 Programming Language|ответственный = |издание = 2-nd ed.|место = |издательство = Prentice Hall|год = 1971|страницы = |страниц = |isbn = 9780138153731|серия = Automatic Computation|ссылка = http://www.math.bas.bg/bantchev/place/snobol/gpp-2ed.pdf}} (перевод {{Книга|автор = Грисуолд Р., Поудж Дж., Полонски И.|заглавие = Язык программирования Снобол-4|ответственный = |издание = |место = |издательство = Мир|год = 1980|страницы = |страниц = |isbn = |серия = Математическое обеспечение ЭВМ}})&lt;br /&gt;
* {{Книга|автор = Ralph E. Griswold|заглавие = Macroimplementation of Snobol 4|ссылка = https://archive.org/details/macroimplementat0000gris|ответственный = |издание = |место = |издательство = W.H.Freeman &amp;amp; Co Ltd|год = 1972|страницы = |страниц = |isbn = 9780716704478}}&lt;br /&gt;
* {{Книга|автор = Ralph E. Griswold|заглавие = String and list processing in SNOBOL4; techniques and applications|ссылка = https://archive.org/details/stringlistproces0000gris|ответственный = |издание = |место = |издательство = Prentice-Hall|год = 1975|страницы = |страниц = |isbn = 9780138530105|серия = Prentice-Hall series in automatic computation}}&lt;br /&gt;
* {{Книга|автор = James F. Gimpel|заглавие = Algorithms in SNOBOL4|ссылка = https://archive.org/details/algorithmsinsnob00gimp|ответственный = |издание = |место = |издательство = Wiley|год = 1976|страницы = |страниц = |isbn = 9780471302131}}&lt;br /&gt;
* {{Книга|автор = Susan Hockey|заглавие = Snobol programming for the humanities|ссылка = https://archive.org/details/snobolprogrammin0000hock|ответственный = |издание = |место = |издательство = Clarendon Press; Oxford University Press|год = 1985|страницы = |страниц = |isbn = 9780198246763}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки программирования по алфавиту]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>