سنوبول (لغة برمجة)

Snowball هي لغة برمجة صغيرة لمعالجة السلاسل النصية مصممة لإنشاء خوارزميات تجذير الكلمات لاستخدامها في استرجاع المعلومات . [ 1 ]

تم اختيار اسم Snowball تكريماً للغة البرمجة SNOBOL ، "التي تشترك معها في مفهوم أنماط السلاسل النصية التي تُرسل إشارات تُستخدم للتحكم في تدفق البرنامج." [ 2 ] وقد فكّر مبتكر Snowball، الدكتور مارتن بورتر ، في تسميتها "strippergram"، لأنها "تُقدّم فعلياً لاحقة STRIPPER GRAMmar." [ 1 ]

يقوم مُترجم Snowball بترجمة نص Snowball (ملف بامتداد .sbl) إلى برنامج بلغات ANSI C ، وJava ، وAda، وC#، وGo، و JavaScript ، وObject Pascal ، وPython، وRust، مع دعم البرمجة المتزامنة. [ 3 ] [ 4 ] بالنسبة لـ ANSI C، يُنتج كل نص Snowball ملف برنامج وملف رأس مُطابق (بامتدادي .c و.h). [ 3 ] يتحقق مُترجم Snowball من اتساق النص، وقد استُخدم هذا التحقق لاكتشاف خطأ مطبعي في ورقة بحثية أكاديمية رائدة للوفينز ، ظلّ خفيًا لمدة 30 عامًا. [ 5 ]

أنواع البيانات الأساسية التي يتعامل معها Snowball هي سلاسل الأحرف، والأعداد الصحيحة الموقعة، وقيم الصواب المنطقية ، أو ببساطة سلاسل الأحرف والأعداد الصحيحة والقيم المنطقية. تكون أحرف Snowball إما بعرض 8 بت أو 16 بت، حسب طريقة الاستخدام. يدعم Snowball كلاً من ASCII و Unicode ذي 16 بت . [ 2 ] وكما هو الحال في لغة برمجة SNOBOL ، يتم تنظيم تدفق التحكم في Snowball من خلال الاستخدام الضمني للإشارات (حيث تُرجع كل عبارة قيمة صواب أو خطأ)، بدلاً من الاستخدام الصريح لبنى مثل if و then و break الموجودة في لغة C والعديد من لغات البرمجة الأخرى. [ 2 ]

على الرغم من إغلاق موقع Snowball الأصلي ، الذي كان يديره الدكتور مارتن بورتر وزميله ريتشارد بولتون، منذ عام 2014 بعد تقاعد الدكتور بورتر، [ 1 ] [ 4 ] [ 6 ] إلا أن الموقع لا يزال متاحًا، ويستمر تطوير اللغة كمشروع مجتمعي على منصة GitHub . [ 1 ] [ 4 ] إضافةً إلى ذلك، تستخدم مشاريع ضخمة مثل Natural Language Toolkit (NLTK) للغة Python لغة Snowball إلى جانب خوارزميات تجذير الكلمات التي صممها الدكتور بورتر ومساهمون آخرون في تطويرها. [ 7 ] [ 8 ]

مراجع

  1. 1 2 3 4 "كرة الثلج" ، مارتن بورتر، صفحة ويب. تم الاطلاع عليها في 2 سبتمبر 2014.
  2. 1 2 3 "دليل كرة الثلج" ، مارتن بورتر، صفحة ويب. تم الاطلاع عليه في 2 سبتمبر 2014.
  3. 1 2 بورتر، مارتن. "كرة الثلج: مقدمة سريعة" . تم الاسترجاع في 4 مايو 2025 .
  4. 1 2 3 "ملف تعليمات Snowball" . 27 مارس 2025. تم الاطلاع عليه في 4 مايو 2025 .
  5. مارتن بورتر (ديسمبر 2001). "إعادة النظر في لوفينز" . snowball.tartarus.org . تم الاطلاع عليه بتاريخ 6 أغسطس 2024 .
  6. بورتر، مارتن. "كرة الثلج - الاعتمادات" . تم الاسترجاع في 4 مايو 2025 .
  7. "وثائق nltk.stem.SnowballStemmer" . مجموعة أدوات معالجة اللغة الطبيعية . تم الاطلاع عليه في 4 مايو 2025 .
  8. "شفرة المصدر لـ nltk.stem.snowball" . مجموعة أدوات معالجة اللغة الطبيعية . تم الاطلاع عليه في 4 مايو 2025 .