Снобол (Snobol) — мова програмування призначена для обробки рядків.

Snobol
Парадигма імперативне програмування
Дата появи 1962
Творці David J. Farberd
Розробник Bell Laboratories
Під впливом від FORTRAN IId і COMITd
Мова реалізації асемблер
Вебсайт snobol4.org

Базові відомості ред.

В мові програмування Снобол рядки можуть складатись із послідовності літер, цифр, та інших знаків. Вихідна інформація в мові програмування Снобол представляється у вигляді рядків. Кожному рядку надається назва. Наприклад, рядок з назвою СТР 1 може складатись із літер «ОДНА БДЖОЛА МЕДУ НЕ НАНОСИТЬ»

Основними видами дій над рядками, які допускаються в мові програмування Снобол, є:

  • створення рядків;
  • пошук входжень рядку заданого зразка в інший рядок;
  • порівняння зразків і заміна частини рядку іншим рядком;
  • підстановка.

Рядки можна утворювати або визначенням змісту рядка в лапках, або використовуючи назви раніше утворених рядків. Дозволяється комбінувати ці способи. Наприклад:

СТР 1 = «КАЛЮЖА»,
СТР 2 = «МОВ» «РОЗЧАВЛЕНИЙ ПАВУК»
ТЕКСТ = СТР 1 «,» СТР 2.

Процес визначення входжень даного рядку в деякий інший називається порівнянням зразків. Так, правило:

СТР 1 «КАЛЮЖА»

перевіряє, чи містить рядок СТР 1 підрядок «КАЛЮЖА» (зразок «КАЛЮЖА»). В зразках можна використовувати рядкові змінні, які використовуються для позначення довільних рядків. Наприклад, правило:

СТР 1 «КАЛЮЖА» * ЗМІН * «ПАВУК»

досліджує, чи містить рядок СТР 1 підрядок «КАЛЮЖА» за якою слідує підрядок «ПАВУК». Однак, між ними може знаходитись довільний підрядок, значення якого надається змінній ЗМІН (в цьому випадку «МОВ РОЗЧАВЛЕНИЙ»), і може з цією назвою використовуватись як самостійний рядок.

Існують також інші види текстових змінних. Так, наприклад, * S/«5» * означає довільний підрядок, який містить 5 символів, а * (S) * — збалансований рядок, тобто, рядок, в якому кількість відкриваючих дужок дорівнює кількості закриваючих дужок. Основним видом перетворень рядків є підстановка.

Наприклад, правило:

СТР 1 «КАЛЮЖА» = «ПЛЯМА»,

замінить в змінній СТР 1 «КАЛЮЖА» на «ПЛЯМА».

Комп'ютерна програма на мові програмування Снобол представляє послідовність операторів. Кожний оператор складається із трьох частин: мітки, яка іменує оператор, правила, які можуть бути одного із перелічених типів та команди переходу або переходів.

Мову програмування Снобол використовують для машинного аналізу текстів написаних на природних мовах, зокрема, при програмуванні задач машинного перекладу. Засоби мови програмування Снобол часто використовуються при створенні мов програмування, які включають апарат обробки символьної інформації.

Джерела інформації ред.