СНОБОЛ

СНОБОЛ

- алгоритмический язык, предназначенный для программирования задач обработки символьной информации, т. е. представленной словами в нек-ром алфавите. В литературе по программированию такие слова наз. строками, или цепочками, а образующие их буквы - литерами. На основе начального варианта С., разработанного в нач. 1960-х гг., было создано несколько версий языка, из к-рых наиболее стабильной оказалась версия С.-4. Аналогично рефалу, С. имеет своей теоретич. предпосылкой нормальные алгорифмы А. А. Маркова, в к-рых основной вычислительной операцией является обнаружение в слове Авхождения заданного подслова Вс последующей заменой этого вхождения на другое слово С.
Общая структура программ на С. типична для алго-ритмич. языков. Программа имеет вид последовательности операторов (инструкций) присваивания, сопоставления с образцом, замещения, передачи управления, ввода, вывода и останова. В выражениях могут употребляться как примитивные операции, предикаты и функции, так и функции, определяемые программистом (в т. ч. и рекурсивные). Любая инструкция может быть помечена. Метка в С. может трактоваться как строковая переменная, значением к-рой является инструкция, помеченная этой меткой. Основными типами данных являются строки, целые и действительные числа, имена, образцы. Базисным типом является строка, все остальные данные имеют строковое представление, совпадающее с их способом записи в программе, Однородные данные могут объединяться в массивы и таблицы, произвольные данные объединяются в наборы заданной длины и с заданными именами для каждой позиции (поля) набора. Имена обозначают переменные, метки, формальные параметры и функции. Строки в С. могут быть любой длины. Переменные не имеют постоянно приписываемого им типа, однако операнды каждой операции или примитивной функции ожидают данных определенного типа, преобразуя аргументы к ожидаемому типу либо выдавая сообщение об ошибке.
Наиболее характерной операцией С. является сопоставление строки с образцом. Образец - это особое выражение С., создающее в нек-poй последовательности группу контрольных строки определенную дисциплину движения слева направо (сканирования) вдоль сопоставляемой строки, называемой субъектом. Сопоставление - это последовательность элементарных проверок. Элементарная проверка устанавливает, является ли очередная контрольная строка подстрокой остатка (справа от точки сканирования) субъекта. В зависимости от успеха или неуспеха элементарной проверки происходит либо выработка сообщения об успехе или неуспехе сопоставления в целом, либо переход к следующей контрольной строке образца и перенос точки сканирования. В результате успешного сопоставления в субъекте выделяется последовательность нек-рых подстрок. Эти подстроки могут быть присвоены указанным переменным либо замещены на другие подстроки.
Примитивным образцом является выражение, значение к-рого ость строка, а успехом сопоставления с ней является вхождение этой строки в субъект. Конкатенация АВ образцов Аи . создает образец, успех в сопоставлении с к-рым требует успеха в сопоставлении с А, а затем - успеха в сопоставлении остатка субъекта с образцом В. Альтернаця А|В образцов А и В создает образец, сопоставление с к-рым успешно при сопоставимости либо с А, либо с В. Если А - образец и X - переменная, то конструкция А, X означает образец, успешное сопоставление с к-рым сохраняет в качестве значения Xту контрольную строку, вхождение к-рой в субъект привело к успеху.
Инструкция сопоставления с образцом имеет вид VA, где V - переменная-субъект и А - образец. Условная передача управления изображается инструкцией VA: F(M1)S( М2). где M1 и М2 - метки перехода в случае неудачи и удачи сопоставления соответственно. Инструкция замещения имеет вид VA = Е, где Е- строковое выражение, значение к-рого при успешном сопоставлении замещает в Vвыделенную подстроку.
С. имеет развитую библиотеку примитивных функций, к-рые в сочетании с операциями конкатенации и альтернации позволяют создать емкие образцы и компактно записывать в виде инструкции замещения весьма сложные правила анализа и преобразования строк. Программы на С. обрабатываются программирующим процессором интерпретационного типа. Программа транслируется в промежуточную форму, к-рая исполняется с помощью интерпретатора. С. реализован для всех главных архитектур современных ЭВМ. Реализация этого языка содействовала разработке эффективных алгоритмов манипулирования в памяти ЭВМ строками переменной длины.

Лит.:[1] Farhеr D. J., Griswо1d R. Е., Polonsky I. P., лJ. Assoc. Comput. Mach.


Математическая энциклопедия. — М.: Советская энциклопедия. . 1977—1985.

Игры ⚽ Нужна курсовая?

Полезное


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

  • Снобол — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей. Снобол …   Википедия

  • снобол — у, ч. Непроцедурна мова програмування, признач. для опису задач перетворення та обробки текстових даних …   Український тлумачний словник

  • снобол — (анг. SNOBOL, скр. ѕ tri nog Oriented symbolic Language) комп. програмски јазик од високо ниво, првенствено наменет за создавање на апликации за обработка на текст …   Macedonian dictionary

  • Хронология языков программирования — Списки языков программирования По категориям Хронологический Генеалогический Хронология языков программирования  упорядоченный в хронологическом порядке список языков программирования. Содержание …   Википедия

  • Icon (язык программирования) — У этого термина существуют и другие значения, см. Icon (значения). Icon Семантика: мультипарадигменный: императивный, логический …   Википедия

  • Генеалогический список языков программирования — Списки языков программирования По категориям Хронологический Генеалогический Приведён генеалогический список языков программирования. Языки классифицируются в соответствии с предшествующими языками, которые оказали сильное влияние на формирование …   Википедия

  • Snobol — Снобол язык программирования высокого уровня, разработанный в 1962 1967 гг. и предназначенный преимущественно для обработки текстовых данных. Основной целью языка Снобол являлось показать принцип (возможность его полноценного существования), что… …   Википедия

  • AWL (язык программирования) — AWL (Alternative Web Language) Класс языка: мультипарадигмальный: функциональный, процедурный, объектно ориентированный Тип исполнения: интерпретируемый Появился в: 2005 г. Типизация данных: динамическая …   Википедия

  • МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ — ЭВМ, программное обеспечение, совокупность программ и программных комплексов, посредством к рых происходит преобразование алгоритмов программы пользователя, записанных на алгоритмич. языках высокого уровня, в последовательность команд, понимаемых …   Математическая энциклопедия

  • ПРОГРАММИРОВАНИЯ ЯЗЫК — формальная знаковая система, служащая общению человека с ЭВМ. Решая вычислительные задачи или управляя исполнительными механизмами, ЭВМ с ее программным обеспечением демонстрирует сложные формы поведения, обычно относимые к умственной… …   Математическая энциклопедия


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

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