Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


SNOBOL

SNOBOL
פרדיגמות אימפרטיבית, פרוצדורלית, בלתי מובנית
תאריך השקה 1962 עריכת הנתון בוויקינתונים
מתכנן David J. Farber עריכת הנתון בוויקינתונים
מפתח מעבדות נוקיה בל עריכת הנתון בוויקינתונים
טיפוסיות דינמית, חלשה
מימושים SNOBOL, SPITBOL
הושפעה על ידי COMIT
השפיעה על AWK, SL5, Icon, bs, Lua[1]
www.snobol4.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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 סטנדרטי יותר.

  1. ^ Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Celes, Waldemar (2007), "The evolution of Lua", Proceedings of the third ACM SIGPLAN conference on History of programming languages (PDF), p. 26, doi:10.1145/1238844.1238846, ISBN 9781595937667, S2CID 475143
  2. ^ Gimpel, J. F. (בפברואר 1973). "A theory of discrete patterns and their implementation in SNOBOL4". Communications of the ACM. 16 (2): 91–100. doi:10.1145/361952.361960. S2CID 17059429. {{cite journal}}: (עזרה)
  3. ^ "Dr. Dobb's: Programs That Transform Their Own Source Code; or: the Snobol Foot Joke". Dobbscodetalk.com. נבדק ב-2011-12-04.
  4. ^ Contact details. "perlre". perldoc.perl.org. נבדק ב-2011-12-04.
  5. ^ "Recursive Regex Tutorial". נבדק ב-2017-03-19.
  6. ^ Griswold, Ralph E.; Hanson, David R. (באפריל 1977). "An Overview of SL5". ACM SIGPLAN Notices. 12 (4): 40–50. doi:10.1145/954654.954658. S2CID 38692673. {{cite journal}}: (עזרה)

Previous Page Next Page






سنوبول Arabic SNOBOL AZ SNOBOL Bulgarian Snobol Catalan SNOBOL Czech SNOBOL English Snobol Spanish اسنوبول FA SNOBOL Finnish SNOBOL French

Responsive image

Responsive image