لغة البرمجة Snowball هي لغة صغيرة مصممة لمعالجة السلاسل النصية وإنشاء خوارزميات الجذر للاستخدام في استرجاع المعلومات. يقوم مترجم Snowball بتحويل سكربت Snowball (ملف .sbl) إلى برنامج ANSI C متوافق مع الخيوط أو برنامج Java. بالنسبة لـ ANSI C، يُنتج كل سكربت Snowball ملف برنامج وملف رأس مقابل (بامتدادات .c و .h). يقوم مترجم Snowball بفحص تماسك السكربت الخاص به، وقد استخدم هذا الفحص لاكتشاف خطأ إملائي في ورقة أكاديمية رئيسية للكاتب Lovins والذي لم يتم اكتشافه لمدة 30 عامًا.
الأنواع الأساسية للبيانات التي تتعامل معها Snowball هي سلاسل الحروف والأعداد الصحيحة الموقعة وقيم الصوابية البوليانية، أو ببساطة السلاسل والأعداد الصحيحة والبوليانية. حيث تكون حروف Snowball إما عرضية بعرض 8 بت أو 16 بت، اعتمادًا على وضع الاستخدام. ويتم دعم كل من ASCII ويونيكود 16 بت بشكل خاص. مثل لغة برمجة SNOBOL، تُنظم تدفق التحكم في Snowball عن طريق استخدام الإشارات الضمنية (حيث يعيد كل بيان قيمة صحيحة أو خاطئة)، بدلاً من استخدام البنى المعرفة مثل if و then و break الموجودة في C والعديد من لغات البرمجة الأخرى.
تم اختيار اسم Snowball كتحية للغة برمجة SNOBOL، التي تشترك معها في مفهوم أنماط السلاسل التي تسلم إشارات تُستخدم للتحكم في تدفق البرنامج. وقد “لعب مارتن بورتر، مبتكر Snowball، بفكرة تسميته ‘strippergram’، لأنه يوفر بشكل فعال ‘قواعد جذرية STRIPPER GRAMmar’ “.
يمكنكم الحصول على مزيد من المعلومات حول لغة Snowball من خلال هذا الرابط إلى صفحتها على ويكيبيديا: Snowball Wikipedia.