פרדיגמות | אימפרטיבית, פרוצדורלית, בלתי מובנית |
---|---|
תאריך השקה |
1962 ![]() |
מתכנן |
David J. Farber ![]() |
מפתח |
מעבדות נוקיה בל ![]() |
טיפוסיות | דינמית, חלשה |
מימושים | SNOBOL, SPITBOL |
הושפעה על ידי | COMIT |
השפיעה על | AWK, SL5, Icon, bs, Lua[1] |
www | |
![]() ![]() |
SNOBOL היא סדרה של שפות תכנות שפותחו בין השנים 1962 ל־1967 במעבדות בל על ידי דייוויד ג'יי. פארבר, ראלף גריזוולד ואיוון פי. פולונסקי, והגיעו לשיאן ב־SNOBOL4. זו הייתה אחת מכמה שפות שפותחו בשנות ה-50 וה-60 שהתמקדו בעיבוד מחרוזות; אחרות כללו את COMIT ו־TRAC.
SNOBOL4 בולטת יחסית לרוב שפות התכנות מתקופתה בכך שקיים בה טיפוס נתונים בשם "pattern" המהווה אובייקט ממעלה ראשונה – טיפוס נתונים שערכיו יכולים להיות מטופלים בכל הצורות האפשריות כמו כל טיפוס נתונים אחר בשפה; ובכך שהיא מספקת אופרטורים לשרשור (concatenation) ולהחלפה חלופית (alternation). ב־SNOBOL4 דפוסים הם סוג של אובייקט וניתן לבצע עליהם פעולות מגוונות, בדומה לשפות תכנות מונחית עצמים מאוחרות יותר כמו JavaScript, שבהן הדפוסים מוכרים כ־ביטויים רגולריים. בנוסף לכך, ניתן להתייחס למחרוזות שנוצרו במהלך הריצה כאל תוכניות ולפרש או לקמפל ולהריץ אותן (בדומה לפונקציית eval בשפות אחרות).
בשלהי שנות ה-60 ותחילת שנות ה-70, SNOBOL4 נלמדה בקנה מידה רחב באוניברסיטאות גדולות בארצות הברית, והייתה בשימוש נרחב בשנות ה-70 וה-80 כשפה לעיבוד טקסט בתחום מדעי הרוח.בשנות ה-80 וה-90 השימוש בה דעך, כאשר שפות חדשות יותר דוגמת AWK ו־Perl הפכו את הטיפול במחרוזות באמצעות ביטויים רגולריים לפופולרי.
דפוסי SNOBOL4 כוללים אפשרות להביע דקדוקים בסגנון BNF, השקולים לדקדוק חסר הקשר, וכך הם חזקים יותר מביטויים רגולריים.[2] ה“ביטויים הרגולריים” בגרסאות הנוכחיות של AWK ושל Perl הם למעשה הרחבות של הביטויים הרגולריים במובן המסורתי, אך אין בהם רקורסיביות, בניגוד לדפוסי SNOBOL4, מה שמעניק להם יתרון חישובי מובהק.[3] (ביטויים רקורסיביים כן הופיעו ב־Perl 5.10, ששוחררה בדצמבר 2007.[4][5])
השפות SL5 משנת 1977[6] ו־Icon משנת 1978 פותחו מאוחר יותר על ידי גריזוולד במטרה לשלב את יכולת החזרה (backtracking) של התאמת הדפוסים ב־SNOBOL4 עם מבנה דמוי ALGOL סטנדרטי יותר.
{{cite journal}}
: (עזרה)
{{cite journal}}
: (עזרה)