**SLIP** یک زبان برنامه نویسی کامپیوتری پردازش لیست است که توسط جوزف وایزنبام در دهه ۱۹۶۰ اختراع شد. نام *SLIP* مخفف **S** متقارن **LI** st **P** پردازنده است. ابتدا به عنوان یک افزونه برای زبان برنامه نویسی فرترن پیاده‌سازی شد و بعداً در MAD و ALGOL تعبیه شد. شناخته شده‌ترین برنامه نوشته شده به این زبان ELIZA است، یک برنامه کامپیوتری پردازش زبان طبیعی اولیه که توسط وایزنبام در آزمایشگاه هوش مصنوعی مؤسسه فناوری ماساچوست ایجاد شد.

کلیت زبان‌های برنامه نویسی
--------------------------

زبان **برنامه‌نویسی** به‌طور کل سیستمی از نشانه گذاری برای نوشتن برنامه‌های کامپیوتری است. بیشتر زبان‌های برنامه نویسی زبان‌های رسمی مبتنی بر متن هستند، اما ممکن است گرافیکی نیز باشند. آنها نوعی زبان کامپیوتری هستند.

توصیف یک زبان برنامه نویسی معمولاً به دو جزء نحو (فرم) و معناشناسی (معنا) تقسیم می‌شود که معمولاً توسط یک زبان رسمی تعریف می‌شوند. برخی از زبان‌ها توسط یک سند مشخصات تعریف می‌شوند (به عنوان مثال، زبان برنامه نویسی C توسط استاندارد ISO مشخص شده‌است) در حالی که زبان‌های دیگر (مانند Perl) یک پیاده‌سازی غالب دارند که به عنوان یک مرجع در نظر گرفته می‌شود. برخی از زبان‌ها هر دو را دارند، با زبان اصلی تعریف شده توسط یک استاندارد و پسوندهای برگرفته از اجرای غالب رایج هستند.

تئوری زبان برنامه نویسی زیرشاخه ای از علوم کامپیوتر است که به مطالعه طراحی، پیاده‌سازی، تجزیه و تحلیل، خصوصیات و طبقه‌بندی زبان‌های برنامه نویسی می‌پردازد.

دامنه و هدف
-----------

در بیشتر زمینه‌های عملی یا تئوری، یک زبان برنامه نویسی شامل یک کامپیوتر است. در نتیجه زبان‌های برنامه نویسی معمولاً به این صورت تعریف و مطالعه می‌شوند. زبان‌های برنامه نویسی با زبان‌های طبیعی تفاوت‌های فراوانی دارند زیرا زبان‌های طبیعی فقط برای تعامل بین افراد استفاده می‌شوند، این در حالی است که زبان‌های برنامه نویسی به انسان اجازه می‌دهند دستورالعمل‌ها را به ماشین‌ها منتقل کنند.

دامنه زبان نیز قابل تأمل است. زبان‌های نشانه‌گذاری مانند XML , HTML، یا troff که داده‌های ساختاریافته را تعریف می‌کنند، معمولاً زبان برنامه‌نویسی در نظر گرفته نمی‌شوند. با این حال، زبان‌های برنامه‌نویسی ممکن است نحو را با زبان‌های نشانه‌گذاری به اشتراک بگذارند، اگر یک معناشناسی محاسباتی تعریف شده باشد. به عنوان مثال، XSLT یک زبان کامل تورینگ است که به‌طور کامل از نحو XML استفاده می‌کند. علاوه بر این، LaTeX، که بیشتر برای ساختاردهی اسناد استفاده می‌شود، همچنین شامل یک زیر مجموعه کامل تورینگ است.

نمای کلی زبان SLIP
------------------

به‌طور خلاصه و مفید، SLIP شامل مجموعه‌ای از توابع «دسترس» FORTRAN بود که بر روی فهرست‌های دایره‌ای با پیوند دوگانه با فیلدهای داده با اندازه ثابت کار می‌کردند. توابع «دستیار» انواع آدرس دهی مستقیم و غیرمستقیم داشتند.

نمایش فهرست
-----------

نمایش لیست چهار نوع سلول دارد که به ترتیب عبارتند از: یک *خواننده*، یک *سربرگ*، یک *نشانگر فهرست فرعی* و یک سلول *بارگذاری .* سرصفحه شامل یک فیلد تعداد مرجع برای اهداف جمع‌آوری زباله است. نشانگر فهرست فرعی به آن اجازه می‌دهد فهرست‌های تودرتو را نشان دهد، مانند (A, B، C، (۱، ۲، ۳)، D, E، F) که در آن (۱، ۲، ۳) یک فهرست فرعی است که با یک نشان داده شده‌است. سلول در موقعیت "\*" در لیست (A, B، C، \*، D, E، F). خواننده اساساً یک پشته تاریخچه حالت بود - نمونه خوبی از الگوی یادگاری - که در آن هر سلول به سرفصل لیست خوانده شده، موقعیت فعلی در لیست خوانده شده و سطح یا عمق پشته تاریخ اشاره می‌کرد.

منابع
-----

1. ↑  «Computer Programming Languages – S». بایگانی‌شده از اصلی در ۱۷ ژانویه ۲۰۲۲. دریافت‌شده در ۱۲ ژوئن ۲۰۲۳.
2. ↑  "Alan Turing at 100". *Harvard Gazette*. 13 September 2012. Retrieved 2016-02-22.
3. ↑  Weizenbaum, Joseph (1976). *Computer Power and Human Reason: From Judgment to Calculation*. New York: W.H. Freeman and Company. pp. 2, 3, 6, 182, 189. ISBN 0-7167-0464-1.

* *Symmetric List Processor*, Joseph Weizenbaum, CACM 6:524-544(1963). Sammet 1969, p. 387.
* *Computer Power and Human Reason: From Judgment To Calculation*, Joseph Weizenbaum, San Francisco: W. H. Freeman, 1976 شابک ‎۰−۷۱۶۷−۰۴۶۳−۳