Snobol Pattern Matching
Мой вопрос прост. Является ли язык программирования Snobol4 все еще полезным для предоставления современного решения для сопоставления с образцом, или регулярное выражение в других процедурных языках в значительной степени уничтожило его в приложении?
1 ответ
Язык шаблонов смоделирован на контекстно-свободных грамматиках с контекстно-зависимыми расширениями, которые обеспечивают полные (тип 0) вычислительные возможности.
Это из вступления, изначально написанного Робертом Дьюаром, создателем SPITBOL-реализации SNOBOL-4. Поскольку обе ссылки находятся в относительно новых и поддерживаемых библиотеках, я думаю, что, хотя язык шаблонов не является частью, скажем, JavaSrcipt с его статистически большим использованием или частью других современных языков, он может удивить пользователей RE в условия скорости и мощности.
При этом шаблоны SNOBOL-4 подвергались критике за то, что они приводили к трудным для понимания программам за использование FENCE
не NOT
(Farber? Gimpel?) И другие явления, которые, кажется, возвращаются с Perl5-совместимыми "регулярными выражениями" и ICU. Они тоже заново открывают некоторые эффекты откатов и якорей. RE Griswold, создатель SNOBOL-4, позже создал язык программирования Icon. Он включает в себя генераторы и целенаправленную оценку, таким образом, возвращаясь к уровню, на котором, вероятно, поиск выражен более четко, чем можно было бы сделать, используя последствия сложных шаблонов.
Поскольку это историческое событие предшествует росту мощностей сегодняшних "РЗ", я бы сказал, что паттерны СНОБОЛ-4 дают что-то профессии для оценки, что делать снова, а что нет.
Скажи, нам нужно BAL
шаблон на практике?