SNOBOL: از دهه 60 با این زبان پردازش متن آشنا شوید

افشای: پشتیبانی شما به حفظ سایت کمک می کند! ما برای برخی از خدماتی که در این صفحه توصیه می کنیم هزینه ارجاع دریافت می کنیم.


SNOBOL – StriNg Orient and SymBOlic Language – خانواده ای از زبانهای برنامه نویسی است که در اواسط دهه 1960 توسعه یافته است ، و در درجه اول به منظور پردازش متن و تحلیل رشته است..

یک یادداشت سریع درباره نسخه ها و پیاده سازی ها

آخرین نسخه پایدار SNOBOL توسط سازندگان اصلی ، SNOBOL4 ، در سال 1967 بود. خواهید دید که هر دو کتاب و وب سایت از “SNOBOL” و “SNOBOL4” (و بعضی اوقات “Snobol”) استفاده می کنند. در مورد هر چیزی پس از 1967 ، همه اینها به همان نسخه (نهایی) زبان اشاره دارند.

تعداد معدودی از برنامه های افزودنی و پیاده سازی نیز وجود داشت. Snocone یک پردازنده زبان است که قند نحوی را به زبان می بخشد و استفاده از آن را آسان تر می کند. SPITBOL کامپایلری برای SNOBOL است. این مورد از اهمیت خاصی برخوردار است زیرا در ابتدا تصور می شد که SNOBOL غیر قابل مقایسه است. همچنین زبان برنامه نویسی Snowball نیز وجود دارد که با الهام از SNOBOL ساخته شده است.

به دلیل این و سایر برنامه های افزودنی ، برخی از افراد هنگام مراجعه به کدی که فقط مشخصات اصلی SNOBOL4 را اجرا می کند ، از عبارت “Vanilla SNOBOL” استفاده می کنند و هیچ ویژگی دیگری ندارند.

درباره زبان

SNOBOL به طور خاص برای دستکاری متن و رشته ایجاد شده است. به همین دلیل از ویژگی نسبتاً منحصر به فردی برخوردار است: الگوهای به عنوان انواع داده درجه یک در نظر گرفته می شوند. این اجازه می دهد تا الگوهای خود درست مانند هر ساختار داده دیگری دستکاری شوند. علاوه بر این ، رشته ها را می توان به عنوان کد درمان و ارزیابی کرد. این امر امکان استفاده بازگشتی از الگوهای و پردازش و تحلیل رشته های بسیار پیچیده را فراهم می آورد. یک برنامه SNOBOL حتی می تواند کد منبع خود را تغییر دهد.

الگوهای موجود در SNOBOL می توانند ساده باشند ، مانند متن کوتاه متن یا رشته های نوع کاراکتر مانند regex. اما آنها همچنین می توانند بسیار پیچیده باشند ، مانند توضیحات کامل دستور زبان یک زبان. مترجمان زبان برنامه نویسی را می توان در SNOBOL نوشت ، و همچنین گرامر آنالیز زبان طبیعی ، بررسی طلسم و (در تئوری) موتورهای ترجمه.

SNOBOL در دهه 60 و 70 در آکادمی علوم کامپیوتر بسیار مشهور بود و تا دهه 1980 مورد استفاده گسترده ای در علوم انسانی بود. به نفع برنامه نویسی بیان کمتر منظم کمتر با استفاده از زبانهایی مانند Awk و Perl ، اکثراً در این مرحله از استفاده خارج نشده است. هنوز تعداد معدودی از توسعه دهندگان وفادار SNOBOL در آنجا وجود دارند ، و این زبان پتانسیل دارد که به همان اندازه مفید باشد.

آموزش آنلاین

  • یک آموزش Snobol4 ، یک آموزش از 1985 توسط Mark Emmer؛
  • Emmer همچنین Vanilla Snobol4: Manual Tutorial and Reference (PDF) و Macro SPITBOL: The High Performance SNOBOL4 Language (PDF) را نوشت.
  • با استفاده از SNOBOL / SITBOL در TWENEX.ORG ، این آموزش برای اجرای SITBOL SNOBOL است ، برای استفاده در سیستم SDPS Public Access TOPS-20 – در اینجا برخی دستورالعمل های عجیب و غریب مخصوص پلتفرم وجود دارد ، اما همچنین یک آموزش خوب در مورد خود SNOBOL است.
  • SNOBOL4 ارائه پاور پوینت ، این فقط اسلایدها را از یک ارائه در SNOBOL ارائه می دهد – یک مقدمه عالی و مستقل نیست ، اما ارزش جستجو برای یک مرور کلی در مورد مفاهیم کلیدی را دارد.
  • استفاده از SNOBOL در MTS ، راهنمای استفاده از زبان در سیستم ترمینال اصلی میشیگان – در صورت نیاز به کار بر روی میراث SNOBOL می تواند مفید باشد همراه با شبیه ساز هرکول..

ابزارها

  • SPITBOL ، اجرای کاملی از SNOBOL ، موجود در Github.
  • SnoPy ، یک کتابخانه Python که به شما امکان می دهد از الگوهای متنی مبتنی بر SNOBOL استفاده کنید.
  • Mini SNOBOL مترجم ، نوشته شده در F #؛
  • اجرای ماکرو SNOBOL4 در C.

جامعه و یادگیری مداوم

  • Yahoo Email Group ، برای توسعه دهندگان SNOBOL و افرادی که با فناوری پردازش متن مشابه کار می کنند.
  • SNOBOL4.com ، وب سایت در مورد زبان شرکتی است که توسط مارک امر ، نویسنده چندین کتاب و آموزش در مورد زبان تأسیس شده است.
  • لیست SNOBOL است.

کتاب در مورد SNOBOL

  • کتابهای عمومی در مورد نقص:
    • یک آغازگر Snobol4 ، توسط رالف گریسولد: مقدمه ای اساسی برای زبان ، که توسط یکی از مخترعین آن نوشته شده است.
    • زبان برنامه نویسی Snobol4 ، توسط رالف گریسولد: به نام “كتاب سبز” ، این كتاب كلاسیك زبان است.
    • پردازش رشته و لیست در Snobol 4: تکنیک ها و برنامه های کاربردی ، توسط رالف گریسولد؛
    • معرفی برنامه نویس در اسنوبول ، توسط Ward Douglas Maurer.
  • مباحث ویژه در برنامه نویسی SNOBOL:
    • برنامه نویسی SNOBOL برای علوم انسانی ، توسط سوزان هاکی
    • الگوریتم های موجود در Snobol 4 ، توسط جیمز گیمپل؛
    • اجرای ماکرو Snobol 4: مطالعه موردی توسعه نرم افزار مستقل ماشین ، توسط رالف گریسولد.

آیا باید SNOBOL یاد بگیرم?

SNOBOL یک زبان بسیار محبوب نیست و بسیاری از کارفرمایان به دنبال توسعه دهندگان SNOBOL نیستند. بنابراین ، از دیدگاه پیشرفت شغلی ، بهتر است روی زبانهای درخواستی بیشتر تمرکز کنید.

با این وجود ، اگر به محاسبات محور متنی (جستجو ، ترجمه ، پردازش زبان طبیعی ، تحلیل ادبی) علاقه مند هستید ، ممکن است بخواهید مدتی را با SNOBOL بگذرانید: به خصوص اگر قبلاً مرزهای آنچه را که می توانید با استفاده منظم انجام دهید ، فشار آورده اید. اصطلاحات.

سایر ابزارهای متنی

اگر به SNOBOL علاقه دارید ، می خواهید برخی از این ابزارهای دیگر را برای پردازش و تحلیل متن بررسی کنید.

  • ابزار زبان طبیعی ، یک بستر پایتون برای همکاری با داده های زبان انسانی.
  • استنفورد CoreNLP ، مجموعه ای از ابزارهای مبتنی بر جاوا برای تجزیه و تحلیل زبان طبیعی.
  • Awk ، یک زبان برنامه نویسی که به طور خاص برای پردازش متن طراحی شده است.
  • پرل ، یکی دیگر از زبانهای برنامه نویسی ، که به طور گسترده ای در نظر گرفته می شود که بهترین اجرای منظم را در دسترس دارد.
  • ANTLER یک ابزار دیگر برای تشخیص زبان است و می تواند برای تجزیه هر دو زبان طبیعی و مصنوعی (رایانه ای) مورد استفاده قرار گیرد.
  • Apache OpenNLP ، ابزاری برای یادگیری ماشین برای پردازش زبان طبیعی.
  • Apache Lucene ، مجموعه ای از ابزارهای نرم افزار جستجو در Java و Python؛
  • گیت ، معماری عمومی برای مهندسی متن ، چارچوبی برای “حل تقریباً هر مشکل پردازش متن”.
  • Prolog ، یک زبان برنامه نویسی منطقی است که برای پردازش زبان طبیعی اختراع شده است.
  • Icon ، یکی دیگر از زبانهای پردازش متن است که پس از کارش در SNOBOL توسط Ralph Griswold ساخته شده است.

همچنین ممکن است بخواهید متن Taming متن را بخوانید: چگونه آن را پیدا کنید ، سازمان دهی کنید و آن را دستکاری کنید ، توسط Ingersoll ، Morton و Farris. این کتاب با استفاده از چندین ابزار نرم افزاری که در بالا ذکر شد ، یک مرور کلی درباره پردازش متن ارائه می دهد.

در آخر ، TAPoR3 ، وب سایت و انجمن آنلاین را به ابزارهایی برای تجزیه و تحلیل متن اختصاص دهید.

مطالعه بیشتر و منابع

ما راهنماهای ، آموزش ها و اینفوگرافیک های بیشتری در رابطه با کد نویسی و توسعه داریم:

  • راهنمای و منابع Perl: این یک راهنمای عالی برای شروع کار با این زبان قدرتمند نویسی است.
  • منابع Awk: این زبان برنامه نویسی قدرتمند را که در اکثر رایانه ها وجود دارد بیاموزید.
  • منابع Prolog: این کار شما را با این زبان برنامه نویسی منطق نمادین آغاز می کند.

پردازش زبان طبیعی زنده می شود!

علم پردازش زبان طبیعی از روزهای SNOBOL بسیار طولانی شده است. در اینفوگرافیک ما ، چگونه می توان از عاشق شدن با یک Chatbot جلوگیری کرد ، اطلاعات کسب کنید. این تاریخچه طولانی رایانه های “فکر” را پوشش می دهد – و حتی ممکن است شما را از قلب شکسته نجات دهد!

چه کد باید یاد بگیرید؟
نحوه جلوگیری از عاشق شدن با یک Chatbot

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map