لغة البرمجة SNOBOL (StriNg Oriented and symBOlic Language) هي سلسلة من لغات البرمجة تم تطويرها بين عامي 1962 و 1967 في مختبرات AT&T Bell Laboratories من قبل David J. Farber و Ralph E. Griswold و Ivan P. Polonsky، حيث بلغت ذروتها في SNOBOL4. كانت واحدة من عدد من لغات البرمجة الموجهة نحو سلاسل النصوص التي تم تطويرها خلال فترة الخمسينيات والستينيات من القرن الماضي؛ ومن بين هذه اللغات COMIT و TRAC. تتميز SNOBOL4 عن معظم لغات البرمجة في عصرها بوجود أنماط كنوع بيانات من الدرجة الأولى (أي نوع بيانات قيمه يمكن التعامل معها بجميع الطرق المسموحة لأي نوع آخر من أنواع البيانات في لغة البرمجة) وبتوفير المشغلات لتركيب الأنماط والتناوب عليها. في لغات البرمجة الشيئية الأخرى، مثل JavaScript، تعتبر الأنماط نوعًا من الكائنات، وتقبل مختلف عمليات التلاعب. علاوة على ذلك، يمكن معالجة السلاسل التي تتم إنشاؤها أثناء التنفيذ كبرامج وتنفيذها (كما في وظيفة eval في لغات أخرى). تم تدريس SNOBOL4 على نطاق واسع في الجامعات الكبرى في الولايات المتحدة في أواخر الستينيات وبداية السبعينيات وكانت مستخدمة على نطاق واسع في السبعينيات والثمانينيات كلغة لمعالجة النصوص في العلوم الإنسانية. في الثمانينات والتسعينات، تراجع استخدامها مع ظهور لغات حديثة مثل AWK و Perl التي جعلت من معالجة السلاسل باستخدام التعبيرات العادية أمرًا موضة. تشمل الأنماط في SNOBOL4 القواعد النطقية للقواعد BNF، التي تعتبر مكافئة للقواعد الحرة من السياق وأقوى من التعبيرات العادية. “تعبيرات العادية” في الإصدارات الحالية من AWK و Perl هي في الواقع توسيعات للتعبيرات العادية في المعنى التقليدي، ولكن التعبيرات العادية، على عكس أنماط SNOBOL4، ليست متكررة، مما يمنح الأنماط SNOBOL4 ميزة حوسبية مميزة. وقد ظهرت التعبيرات المتكررة في Perl 5.10، على الرغم من ذلك، والذي تم إصداره في ديسمبر 2007. أحد مصممي SNOBOL، Ralph Griswold، صمم خلفاء ل SNOBOL4 يسمى SL5 و Icon، الذين جمعوا بين التتبع الخلفي لمطابقة الأنماط في SNOBOL4 مع التركيب الأكثر قياسية مثل ALGOL، بالإضافة إلى إضافة بعض الميزات الخاصة بهم.
لمزيد من المعلومات يمكنك زيارة صفحة ويكيبيديا المخصصة لـ SNOBOL.