Snowball - это небольшой язык программирования для обработки строк, предназначенный для создания алгоритмов выделения текста для использования при поиске информации . [1]
Компилятор Snowball переводит сценарий Snowball (файл .sbl) в программу на потокобезопасных ANSI C , Java , Ada, C #, Go, Javascript, Object Pascal, Python или Rust. Для ANSI C каждый сценарий Snowball создает файл программы и соответствующий файл заголовка (с расширениями .c и .h). [2] Компилятор Snowball проверяет непротиворечивость своего сценария, и эта проверка была использована для обнаружения опечатки в основополагающей академической статье Ловинса, которая оставалась незамеченной в течение 30 лет. [3]
Основные типы данных, обрабатываемые Snowball, - это строки символов, целые числа со знаком и логические значения истинности или, проще говоря, строки, целые числа и логические значения. В зависимости от режима использования символы Snowball могут быть либо 8-битными, либо 16-битными. В частности, поддерживаются как ASCII, так и 16-битный Unicode . Как и в языке программирования SNOBOL , поток управления в Snowball организован неявным использованием сигналов (каждый оператор возвращает истинное или ложное значение), а не явным использованием таких конструкций, как if, then и break, найденных в C и многие другие языки программирования. [4]
Название Snowball было выбрано как дань уважения языку программирования SNOBOL , с которым он разделяет концепцию строковых шаблонов, доставляющих сигналы, которые используются для управления потоком программы. Создатель Snowball, доктор Мартин Портер , «поиграл с идеей назвать его« стрипперграммой »», потому что он «фактически предоставляет суффикс STRIPPER GRAMmar». [1]
Рекомендации
- ^ a b «Снежок» , Мартин Портер, веб-страница. Проверено 2 сентября 2014 года.
- ^ "Snowball: Краткое введение" , Мартин Портер, веб-страница. Проверено 2 сентября 2014 года.
- ^ http://snowball.tartarus.org/algorithms/lovins/festschrift.html
- ^ "Snowball Manual" , Мартин Портер, веб-страница. Проверено 2 сентября 2014 года.
- П. Уиллетт. «Портер Морфологический алгоритм: Тогда и сейчас» (июль 2006 года) программы . Том 40. Выпуск 3. Pages 219 et seq.